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
Hallo, falls es jemanden interessiert: Ich habe mit AVRdude + Dragon den Inhalt des Flashes in eine Datei gedumpt und der Inhalt ist identisch mit dem Hexfile. Scheint also tatsächlich ein Darstellungsproblem mit dem GDB Dragon Eclipse zu sein Viele Grüße
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.