Ich würde gern mal erfahren was ich tun muss um einen MC(2.) über den ersten der via Uart mit dem pc verbunden ist, über einen bootloader zu programmieren. Mein Problem: Was muss ich aus der Hex(uart) im ersten MC machen damit ich über den SPI anschluss den 2.MC programmieren kann.(bitte um Tipps bei der programmierung in bascom)
Hallo, bitte erläutere doch mal etwas genauer wie das ablaufen soll! A) im zweiten µC sitzt ein Bootloader der die Daten über SPI vom ersten µC entgegen nimmt? Dann braucht der erste µC die Daten von der UART ja nur durchreichen. B) der erste µC soll den zweiten direkt über das ISP-Protokoll beschreiben, auch das geht, wobei dann natürlich das entsprechende Protokoll impementiert werden muss. Sascha
Ich hatte mich bissl Falsch ausgedrückt. Also: Man hatt USB. Danach kommt ein Wandler zu UART. UART geht dann an den ersten Mikrocontroller und über UART werden HEX strings übertragen und die Aufgabe des ersten MCs ist das er die HEX über SPI auf den 2.MC überträgt(der 2.soll programmiert werden). Ich weiß nicht: Wie kann ich mit den HEX-Strings den 2.MC programmieren(Flash) und wie kann ich das anstellen. Mit den Bootloader hatte ich mich falsch ausgedrückt,das könnt ihr wieder vergessen(der erste sollte nur die Funktion von einer Art eines“Bootloaders“ besitzen ).
Dann Google mal nach "avr isp programming interface". Das dritte Ergebnis ist die Application Note "AVR910: In-System Programming". Lies das mal.
Warum so umständlich? Erst USB auf UART Wandler, dann nen Controller der nen anderen proggt. Entweder den einen Controller weglassen, denn dieser Bootloader hier frisst direkt die .hex Datei: http://sourceforge.net/projects/kavr/files/ Oder den UART Wandler weglassen und einen USBasp fest auf die Platine bauen.
Ich möchte aber nicht auf den einen einen Bootloader, weil ich ein mobiles Gerät haben möchte wo ich dann alle MCs in einen Sockel(das ist der 2.mc) stecken möchte und den dann programmieren ich möchte nicht auf jedem einen Bootloader.
Ich möchte einen mobilen Programmer haben. Und ich möchte nicht auf jeden MC, den ich programmieren will, einen Bootloader machen sondern den nur ganz normal über SPI programmieren
USBasp is eine gute Idee, aber hat noch jemand vielleicht etwas ähnliches, aber mit USB->UART->MC->ISP. Vielen Dank für eure Hilfe!
Warum sagst du nicht gleich: Ich will einen AVR-Programmer selber bauen. Dann kommst du zu den o.g. Ergebnissen. Die Schnittstelle Richtung PC frisst aber nicht direkt eine HEX-Datei! Die Schnittstelle zum PC stellt vielmehr ein bestimmtes Protokoll bereit (STK500, AVRISP, ...). Die Software am PC liest dann die HEX-Datei und sendet die Daten in entsprechende Kommandos verpackt zum Programmer. Du könnstest natürlich die Software im Programmer so anpassen, das der auch direkt eine HEX-Datei nimmt, wobei sich das Problem ergibt das die Kommandos zum Programmieren des Ziel-AVR an dessen Typ angepasst werden müssen (z.B. Pagegröße des Flash). Das wird dem Programmer im Normalfall von der PC-Software über das o.g. Protokoll mitgeteilt. Sascha
> Ich möchte einen mobilen Programmer haben.
Definiere "mobil". Mit einem JtagKey2 und avrdude auf einem Netbook bin
ich schon recht mobil, und avrdude gibts IMO auch für den Raspberry Pi.
Es gab mal irgendwo einen Progger der hat von ner SD-Karte autark angeschlossene AVRs beschrieben. Ich find nur grade die Seite nicht, vlt. hat ja jemand noch nen Link für den TO ..... EDIT: gefunden: http://mdiy.pl/uprog-maly-szybki-przenosny-programator-avr-z-sd/?lang=en Viel mobiler wirst du nicht werden
:
Bearbeitet durch User
Det TO hat immer nur uC geschrieben. Welchen uC verwendes du?
:
Bearbeitet durch User
Aber mein eigentliches Problem ist das ich nicht weiß wie sich eine HEX ändern muss (wandeln muss) das man mit spi einen mc programmieren kann
Das ist meine Vorstellung. Hier auf Seite 10 mit Serieller Schnittstelle. Das kann ich selbst später noch mit einen Wandler noch ändern.
Hättet ihr dazu eine Software für Atmega 8 (oder anderen). (wenn möglich in Bascom)
Du hast die Appnote 910 immer noch nicht gelesen. Denn da wird exakt so eine Schaltung beschrieben. Dazu gehört sogar ein Beispiel-Quelltext, der im übrigen in sehr vielen preisgünstigen ISP-Programmern 1:1 drin ist. Kauf doch einfach einen fertigen ISP Programmer. Zum Beispiel den: http://shop.in-circuit.de/products/Home/Programmieradapter/18/ICprog-AVR2-0 Der ist genau so aufgebaut, wie Du es Dir vorstellst. Er hat einen USB-zu-seriell Chip und einen AVR Mikrocontroller und er enthält die Firmware aus der Appnote AVR910. Sowas findest Du auch zu Hauf bei Ebay.
Die PC Software zum AVR910 findest Du unter dem Namen AVR911. Oder alternativ (bevorzugt) avrdude oder "AVR OSP II". Schau mal, andere können den AVR910 auch nachbauen: http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.html
Und hat einer von dem Assembler Code(http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/avr910_2313_v38b.asm) noch einen Bascom-Code?
Elias Seidel schrieb: > Aber mein eigentliches Problem ist das ich nicht weiß wie sich eine HEX > ändern muss (wandeln muss) das man mit spi einen mc programmieren kann Dann LESE: 1. -> http://de.wikipedia.org/wiki/Intel_HEX 2. -> ein x beliebiges AVR Datenblatt unter "Serial Programming" Wissen wird nicht auf dem Silbertablett gereicht sondern durch lesen und versuchen erarbeitet.
OT: Eine kurze Frage: Beim ARV wird manchmal vom Programmieren mit SPI gesprochen. Hat man dann einen SPI Bootloader, wird SPI mit ISP verwechselt, oder wird das ISP programming über eine Schnittstelle wie SPI oder ähnlich gemacht.
Die Programmierschnittstelle heisst ISP, das steht auch in den datenblättern und in der Sch*** Appnote 910, die Du wohl immer noch nicht gelesen hast. Lies das jetzt mal!!!
Stefanus schrieb: > das steht auch in den > datenblättern und in der Sch*** Appnote 910, die Du wohl immer noch > nicht gelesen hast. Falls du mich mienst: Natürlich habe ich die nicht gelesen, arbeit nur mit PIC. Also ist das mit dem "SPI" nur ein Zahlendreher (mit Buchstaben).
M. H. schrieb: > Stefanus schrieb: >> das steht auch in den >> datenblättern und in der Sch*** Appnote 910, die Du wohl immer noch >> nicht gelesen hast. > Falls du mich mienst: Natürlich habe ich die nicht gelesen, arbeit nur > mit PIC. > Also ist das mit dem "SPI" nur ein Zahlendreher (mit Buchstaben). nein das ist kein 'dreher' ISP heist die Schnittstelle => In System Programming - - - Elektrisch ist die wie eine SPI-Schnittstelle aufgebaut TAKT, DATEN_REIN, DATEN_RAUS Sascha
Sascha Weber schrieb: > Elektrisch ist die wie eine SPI-Schnittstelle aufgebaut TAKT, > DATEN_REIN, DATEN_RAUS Ok. Danke.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.