USB->SPI Bootloader

OP #3458791
Lesenswert?

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)
#3459087
Lesenswert?

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
OP #3467956
Lesenswert?

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
).
Gast #3468152
Lesenswert?

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.
#3468191
Lesenswert?

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
Gast #3468337
Lesenswert?

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.
(Firma: fritzler-avr.de) #3468544
Lesenswert?

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.
#3469713
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren