Hallo zusammen,
ich schreibe gerade einen Bootloader für nen Atmega328 und habe ein
Verhalten beobachtet, das ich so nicht nachvollziehen kann und würde
gerne eure Meinung dazu hören.
Im Post-Build Step der Applikationssoftware berechne ich eine CRC32 und
patche diese in Hex-File.
Danach lese ich das Hex-File in mein PC-Clientprogramm ein und sende sie
zum Bootloader auf dem Atmega.
Dieser schreibt die empfangenen Daten ins Flash und prüft danach die
CRC, was auch ein positives Ergebnis bringt.
Die Applikation ist auch lauffähig und startet hoch.
Nun habe ich aber einen Memory-Dump beginnend an Adresse 0x0000 gezogen
und ab Adresse 0x0080 weicht der Inhalt des Speichers von dem im
Hex-File ab (siehe Anhang).
Ist das ein Problem mit den Debug-Tools? Diese Debug-Wire und GDB /
Eclipse Lösung ist mir irgendwie suspekt.
Wie könnte man den Inhalt noch prüfen? Per AVRDude den kompletten
Flash-Speicher des Atmega in ein File schreiben?
Danke und Gruß
Entwicklungsumgebung:
Eclipse Version: 2018-12 (4.10)
Build id: X20190110-1647
AVR Plugin: 2.4.2
AVaRICE version 2.13
GNU gdb (GDB) 8.1
Programmer / Debugger: Atmel Dragon