Forum: Mikrocontroller und Digitale Elektronik ISP vs. Bootloader


von Weingut P. (weinbauer)


Lesenswert?

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?

von holger (Gast)


Lesenswert?

>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.

von holger (Gast)


Lesenswert?

>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.

von Weingut P. (weinbauer)


Lesenswert?

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 :(

von Floh (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.