Hallo Forum, ich raufe mir schon seit Tagen die Haare an einem unerklärlichen Programmfehler auf nem ATMega128. Nach nun mehrnächtiger Fehlersuche habe ich mal zur Abwechslung das Programm per ISP-MK2 geflasht und oh Verwunderung das Programm läuft fehlerfrei. Nehme ich aber den Bin-File und flashe den per Bootloader läuft das Programm zwar auch, aber während der Laufzeit treten Fehlberechnungen oder unerklärliche Sprünge im Programmablauf ein ... Beim flashen via Loader wird wegen der Übertragungsstrecke (IR) jedes übertragene Byte und dann nochmal die Checksumme vom Block, sowie die Blocknummer auch nochmal validiert, also Übertragungsfehler kann ich praktisch ausschließen. Compiler ist Bascom 2.0.7.2 Hab auch den BL-Hex mit dem Programm-Hex mal zusammen geflasht, dann geht alles wunderbar ... Gibt es da prinzipiell nen Unterschied vom Programmspeicher her ob per ISP oder BL?
>Gibt es da prinzipiell nen Unterschied vom Programmspeicher her ob per >ISP oder BL? Ja, der ISP brennt dir das Programm rein und es läuft erst nach einem Power Cycle mit Reset. Der BL startet das Programm evtl. sofort. Wenn der BL nicht hinter sich aufräumt und einen Zustand wie nach einem echten Reset herstellt dann kannst du Probleme bekommen. Das können zum Beispiel verstellte UART Register, aktivierte Interrupts oder sonst was sein.
>Ja, der ISP brennt dir das Programm rein und es läuft >erst nach einem Power Cycle mit Reset. Streiche PowerCyle:( Der ISP macht einen Reset des Controllers. Der BL evtl. nicht.
Hab ich beim BL natürlich auch getestet, sowohl mit Softwarereset per Watchdog am Ende der Übertragung, als auch per Brown Out, als auch per Reset low ziehen mit nem Draht, alles gleiches beschriebenes Ergebnis :(
Lade da Programm mal mit dem Bootloader auf den Chip. Danach lese den Flash mithilfe eines ISP aus. Dann kannst du das mit einem Hexeditor mit dem Hexfile vergleichen.
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.