Forum: Mikrocontroller und Digitale Elektronik Firmware Update mit UDP Verbindung


von EmbeddedUser (Gast)


Lesenswert?

Hallo,

für eine reibungslose Datenübertragung mit einer UDP Verbindung möchte 
ich ein eigenes Transportprotokoll implementieren. Für die Umsetzung 
wäre eine Beispiel hilfreich. Wie würde der ein oder andere dies 
realisieren?

von Jim M. (turboj)


Lesenswert?

Gar nicht. Für sowas nimmt man TCP.
Bei UDP hätte man mit den z.B. im WLAN üblichen Problemen - Paketverlust 
und doppelte Übertragung - zu kämpfen.

von (prx) A. K. (prx)


Lesenswert?

Was immer man nimmt, man sollte genug RAM oder anderen lokalen Speicher 
haben, um die Firmware vor einer irreversiblen Programmierung 
vollständig puffern und per CRC oder Hash verifizieren zu können. 
Zumindest wenn man das Netz nicht als Alternative zu einem lokalen 
Programmer versteht, sondern ggf. auch auf Distanz und über ein nicht 
als ausreichend zuverlässiges zu betrachtendes Netz arbeiten will.

von (prx) A. K. (prx)


Lesenswert?

Alternativ wäre es vertretbar, wenn das System einen Bootloader 
verwendet, der über ebendieses Netz angesprochen das Flash programmieren 
kann. Und der das programmierte System erst zum Start freigibt, wenn 
alles erfolgreich programmiert wurde.

In diesen Fall ist UDP durchaus sinnvoll, weil es den Bootloader stark 
vereinfacht. Man programmiert dann Page für Page einzeln, und zwar so 
lange, bis alle Pages erfolgreich programmiert wurden und der Bootloader 
sein ok zum Hash gibt. Jeder Abbruch, Timeout oder Reset vorher landet 
dann im Bootloader, nicht im System.

von Frank K. (fchk)


Lesenswert?

EmbeddedUser schrieb:
> Hallo,
>
> für eine reibungslose Datenübertragung mit einer UDP Verbindung möchte
> ich ein eigenes Transportprotokoll implementieren. Für die Umsetzung
> wäre eine Beispiel hilfreich. Wie würde der ein oder andere dies
> realisieren?

TFTP existiert und funktioniert seit Jahrzehnten. Da muss man nichts 
neues erfinden. Die Konbination BOOTP/DHCP/RARP+TFTP findet sich in 
vielen Bootroms seit Anfang der 80'er.

fchk

von pegel (Gast)


Lesenswert?

Frank K. schrieb:
> findet sich in vielen Bootroms seit Anfang der 80'er.

So ist es. Da frage ich mich, ob es bei den modernen SPI Lan Chips von 
Wiznet oder Microchip oder anderen einen gibt der sich selbst aus einem 
SPI Flash einen Bootloader holen kann.
Ganz allein und ohne Mikrocontroller meine ich.

von (prx) A. K. (prx)


Lesenswert?

pegel schrieb:
> Ganz allein und ohne Mikrocontroller meine ich.

Du meinst, abgesehen vom dem Mikrocontroller, der in Modulen wie den 
Wiznets sowieso drinsteckt?

von pegel (Gast)


Lesenswert?

Genau.
Bei einer SPI Abfrage an den Lan Chip sagt dieser dann das eine Firmware 
verfügbar ist und abgeholt werden kann.

von Frank K. (fchk)


Lesenswert?

pegel schrieb:
> Frank K. schrieb:
>> findet sich in vielen Bootroms seit Anfang der 80'er.
>
> So ist es. Da frage ich mich, ob es bei den modernen SPI Lan Chips von
> Wiznet oder Microchip oder anderen einen gibt der sich selbst aus einem
> SPI Flash einen Bootloader holen kann.
> Ganz allein und ohne Mikrocontroller meine ich.

nein, gibt es nicht. Kannst Du Dir aber leicht selber mit einem 
PIC18F167J60 selber bauen.

fchk

von pegel (Gast)


Lesenswert?

Selber bauen ist klar.
Hätte sein können das es sowas gibt.
Könnte für jeden Mikrocontroller nützlich sein der sich selbst 
programmieren kann.
Einfach den gewünschten Namen und das Datum neuer als ... angeben, 
vielleicht noch eine Version und einen Suchbefehl.
Mit Ram für die komplette Firmware und das zum China Preis :)

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.