www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik multi-Application-flash + bootloader konzept


Autor: haube (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo !

meine aufgabe is es ein bootloader zu bauen der über ethernet (TFTP) die 
flashapplication updaten kann.

besser wäre allerdings noch aus sicherheitsgründen  das Ur-programm im 
flash zu behalten und als update die neue version in ein anderen 
flashbereich zu bringen.

Flash ist genug da (256kByte) für sogar weit aus mehr als 2 programme

es geht darum möglichst sicher die software zu verändern von einiger 
entfernung ohne menschen hinschicken zu müssen wenn was schief läuft.

habe hier  schon einiges gelesen aber nicht herausbekommen ob soetwas 
praktikabel ist oder eher nicht .
( probleme mit IRQ-vektortabelle, flashen des zweitprogramms, einsprung 
in dieses)

es geht ersteinmal um ein konzept / genaue vorstellungen zu details hab 
ich noch nicht.

::___offtopic____::

bootloader over Ethernet:

lieber ETH-treiber/stack und speicherung der empfangen Programm-daten in 
applikation machen und dann nur noch im bootloader flashen (aus RAM) 
oder parallel (page-weise) empfangen anschließend flashen oder alles im 
bootloader machen ??

Autor: Hmm... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab das bei einer ähnlichen Applikation mal so gesehen, dass der 
Bootloader eine rudimentäre TCP/IP Schnittstelle sowie die Flashroutine 
beinhaltet hat. Der Bootloader war dann auch nicht mehr per Ethernet 
änderbar. Der Bootloader hat beim Reset 5s gewartet, falls dann keine 
Anfrage vom Flashtool ankam wurde die Applikation gestartet.

Einzige Anforderung an die Applikation war halt, dass man IMMER einen 
Reset z.b. per Watchdog auslösen können muss. Die IP-Adresse des Boards 
war solange der Bootloader aktiv war statisch. Wenn du mehrere Boards im 
gleichen Subnetz betreiben willst, kannst du ja z.B. per DIP-Schalter 
einige Bits der IP-Adresse konfigurierbar machen.

Autor: Martin Laabs (mla)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Redboot kann das und noch einiges mehr...
Und von ecoscentric gibt ess auch noch ein explizizes Flashtool was dann 
aber Geld kostet.

Viele Grüße,
 Martin L.

Autor: haube (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
erstmal danke ..

ich werd dann mal anfangen irgendwas in die bootlosderSection zu 
schreiben und zu testen .


muss ich da was beachten, bin ich irgendwie eigschränkt  ?


also die Interruptvektortabelle verschieben  und dann müsste ich ja 
quasi wie in einer normalen applikation programmieren können, oder?


__


und sowas wie springen zwischen bootloadercode und applicationcode ist 
nicht möglich oder ??  also ich mein wenn dann immer nur zu den 
startadressen oder ?

sonst könnte man ja neue Porgrammdaten empfangen (im RAM puffern) in 
Bootloader springen und den puffer schreiben ins flash  und dann wieder 
zurück in die applikation weitere daten empfangen  usw...

geht nicht so , oder ?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.