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?
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.
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.
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.
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
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.
pegel schrieb: > Ganz allein und ohne Mikrocontroller meine ich. Du meinst, abgesehen vom dem Mikrocontroller, der in Modulen wie den Wiznets sowieso drinsteckt?
Genau. Bei einer SPI Abfrage an den Lan Chip sagt dieser dann das eine Firmware verfügbar ist und abgeholt werden kann.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.