Hallo liebe Leute, ich habe folgende Fragestellung: Ich nutze momentan einen ATMEL ICE um einen Mikrocontroller, den SAMD21J18A, zu programmieren. In Zukunft möchte ich den uC aber über eine USB Schnittstelle mit USB/UART Wandler dazwischen programmieren, wenn ich etwas am Programm ändere. Sprich, ich möchte einmal ein Programm hochladen mit dem ATMEL ICE und danach nur noch die USB/UART Schnittstelle benutzen, wenn ich ein neues Programm hochladen möchte. Der ATMEL ICE ist am Mikrocontroller an den Pins angeschlossen, die zum Programmieren vorgesehen sind (PA30=SWCLK, PA31=SWDIO). Die USB/UART Schnittstelle an den Pins PB16 und PB17. Die Kommunikation über die USB/UART Schnittstelle funktioniert bereits und ich kann den Controller auch mit dem ATMEL ICE programmieren Jetzt habe ich die Vorahnung, dass ich eine Art mini-Programm schreiben muss, das ich in den Flash Speicher schreibe und nicht mehr lösche, das mir ein neues Programm (=Daten die ich über die USB/UART Schnittstelle bekomme) in den Programm-Speicher schreibt. Oder so ähnlich. Ich bin sicher, dass das schonmal jemand vor mir gemacht hat?! Könnte jemand seine Erfahrungen teilen oder Beispielcode hochladen. Ich würde mich auch über Literatur-Hinweise oder passende Youtube Videos freuen. Mir fehlen momentan ein wenig die Schlagwörter, nach denen ich googeln kann. Danke für jede Unterstützung! :-) Hanna
Stichwort Bootloader https://www.mikrocontroller.net/articles/AVR_Bootloader_in_C_-_eine_einfache_Anleitung
Hanna schrieb: > Jetzt habe ich die Vorahnung, dass ich eine Art mini-Programm schreiben > muss, das ich in den Flash Speicher schreibe und nicht mehr lösche ... Deine Vorahnung täuscht dich nicht. Im Datenblatt steht mehr zu dem Thema. Der Schutz passiert über die BOOTPROT Bits. Mit 3 Bits wird die Größe des für den Bootloader geschützen Bereiches festgelegt (Kap. 22.6.5 NVM User Configuration). Einfach mal Datenblatt lesen ...
Wolfgang schrieb: > Deine Vorahnung täuscht dich nicht. Allerdings muss sich der User nicht gezwungen fühlen das Rad neu zu erfinden. Hier z.B. (Wunder oh Wunder) gibt es schon erfundene Räder: https://github.com/arduino/ArduinoCore-samd/tree/master/bootloaders/
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.