Forum: Mikrocontroller und Digitale Elektronik Bootloader deluxe


von Stephan R. (Gast)


Lesenswert?

Moin!

Im Zuge vieler hilfreicher Beiträg hier im Forum haben einige meinen 
Aufbau bereits kennengelernt:
Fünf Atmega8535s hängen gemeinsam am SPI, desses Master fleissig die 
Daten der Slaves einsammelt.
Auf der Suche nach einer zukunftssicheren Lösung, wie die einzelnen, eng 
verbauten Controller künftig mit frischem Programmcode versehen werden 
können, ist mein Interesse für Peter Danneggers Bootloader geweckt.
Ich vermisse darin aber die Möglichkeit, zu selektieren, für welchen 
Controller am Bus das Programm bestimmt ist.

Meine Vorstellung war, dass alle Controller parallel über UART mit dem 
Programmierstecker verbunden sind und nur der per Software selektriere 
den Prgrammcode annimmt.

Ist das zu hoch gegriffen?

von Stephan R. (Gast)


Lesenswert?

Scheinbar viel zu hoch...  :(

von Peter D. (peda)


Lesenswert?

Jedem ein anderes Paßwort geben:
1
Password:
2
        .db     "Peda", 0, 0


Peter

von Guest (Gast)


Lesenswert?

Nach 15min erwartest du schon eine Antwort?! Am besten noch mit einer 
fertigen Lösung, oder? ;-)

Hier meine Antwort: Ja, das geht natürlich. Aber was möchtest du denn 
jetzt genau? SPI oder UART?

von Stephan R. (Gast)


Lesenswert?

Per SPI sind die Controller untereinander verbunden (zum 
Netzwerkspielen, falls sie sich langweilen, wie Karl Heinz Buchegger 
kommentierte). Die UARTs sind gar nicht in Gebrauch, sollen sie nun 
aber, für frische Programme via Bootloader.
Doch da stochere ich noch ein wenig (!) im Dunkeln. Denn selbst, wenn 
ich es schaffe, jedem Controller einen Bootloader samt individuellem 
Passwort zu geben:
wie verankere ich im C-Programm?

von Peter D. (peda)


Lesenswert?

Stephan R. schrieb:
> wie verankere ich im C-Programm?
1
D:\WORK\AVR\AVR_BOOT\FBOOT21\BOOTLOAD>fboot -?
2
/?               Get this help message
3
/Bnnnn           Define baud rate
4
/Cn              Define serial port n = 1..4
5
/Pname           Perform Program
6
/Vname           Perform Verify
7
/Istring         Init string
8
Press any Key !

Also /i_neues_password


Peter

von Stephan R. (Gast)


Lesenswert?

Das glaube ich Dir gern.. aber das sagt mir noch nichts. Es gibt doch 
sicher ein boot-loade-c-file, das in meinem Projekt mitkompiliert werden 
muss- oder?

von Peter D. (peda)


Lesenswert?

Stephan R. schrieb:
> Es gibt doch
> sicher ein boot-loade-c-file, das in meinem Projekt mitkompiliert werden
> muss- oder?

Nein.
Der Bootloader weiß nix von der Applikation und umgekehrt.
Es sind 2 völlig eigenständige Programme.

Man könnte in der Applikation eine Funktion einbauen, die mit auf das 
Paßwort lauscht und dann per Watchdogreset in den Bootloader springt.
Dann braucht es keinen Poweronreset, um in den Bootloader zu kommen.


Peter

von Peter D. (peda)


Lesenswert?

P.S.:
Falls der Programmer nicht der PC sein soll, sondern ein anderer AVR, 
hier das Protokoll:

http://www.mikrocontroller.net/attachment/27570/Bootloaderprotokoll.txt


Peter

von Stephan R. (Gast)


Lesenswert?

Das hört sich verdammt gut an! Ich bau es mal in meine Gedanken ein..

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
Noch kein Account? Hier anmelden.