BootApp für Mega328P

hat sowas jemand am laufen?

jomixl
Benutzer
Avatar
Gender:
Posts: 225
Registered: 02 / 2008
Subject:

BootApp für Mega328P

 · 
Posted: 15.10.2019 - 14:37  ·  #1
hallo Zusammen,
seit Tagen sitze ich wieder mal an dem Problem Bootloader ....

Ich habe einen Mega328P an 3,3V mit dem internen RC-Osz. 8MHz.
Meine App läuft tadellos. Die BootApp wird auch korrekt angesprungen.
Nur wird der Download ständig mit einem Communication bzw. Checksummerror abgebrochen.
Ich hab schon verschiedene USB-Adapter probiert aber alle liefern das gleiche Ergebnis.
Die verwendete Baudrate ist 19200 und die BootApp entspricht der Beispiel-Datei.

Eigentlich sollte die Bootapp auf ein '?' mit 'FD' antworten. Häufig geschiet das auch so, aber
oft wird nur ein Byte gesendet (mit dem Oszi kontrolliert) manchmal z.B. '?' und auch manchmal garnichts. Irgendwie verstehen sich der PC und der Mega nicht richtig.
Allerdings läuft die Communikation in der APP problemlos.

Kennt jemand dieses Problem ?
Ist die BootApp aus den Beispielen noch aktuell oder hat jemand eine gute Idee dazu.
Mir fällt nichts mehr ein.

Gruß joachim
jomixl
Benutzer
Avatar
Gender:
Posts: 225
Registered: 02 / 2008
Subject:

Re: BootApp für Mega328P

 · 
Posted: 17.10.2019 - 13:02  ·  #2
Hallo,
hab jetzt die BoorApp am laufen.
Allerdings nur nach einem echten Hardware-Reset.
Bei einem System_Reset oder Reset durch den Watchdog hab ich nur Communikations-Error.
Muss ich da noch irgendein Register nach dem aufruf von ClearBootFlag initialisieren damit ich ohne
den Hardware Reset auskomme?

Gruß Joachim
Thomas.AC
Benutzer
Avatar
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

Re: BootApp für Mega328P

 · 
Posted: 23.10.2019 - 20:57  ·  #3
Mann kann die FlashDownloader Procedure mittels Traps aufrufen, ich kann Code Beispiel für ATMEGA2560 liefern.
Hat der Mega328P ein Reset-Fuse?
jomixl
Benutzer
Avatar
Gender:
Posts: 225
Registered: 02 / 2008
Subject:

Re: BootApp für Mega328P

 · 
Posted: 28.10.2019 - 16:00  ·  #4
Hallo Thomas,
danke für deine Antwort, zur Zeit läuft das Ganze aber das mit dem Reset hat mich schon irritiert.
Ich traue mich auch nicht mehr irgendwas zu ändern. Ich war bisher der Meinung dass dei Software Reset gleich einem Hardware Reset ist.
Zumindest bei einem Mega328 scheint das nicht so zu sein. Ich benutze bereits die Traps um das Bootflag zu löschen hielt es aber für besser danach
einen Reset zu machen um so den Flashloader zu starten........
Das andere Problem lag wohl daran dass bei den Kommandos des Flashloaders wohl eine feste Reihenfolge einzuhalten ist sonst klappt das auch nicht.

... aber wie gesagt, im Moment läuft alles ....

Gruß Joachim
Thomas.AC
Benutzer
Avatar
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

Re: BootApp für Mega328P

 · 
Posted: 31.10.2019 - 20:11  ·  #5
Der ASM Code von System_reset sieht für einen mega8 wie folgt aus
Code

                        CLI
                        LDI       _ACCA, 0FEH ROLB IntFlag
                        AND       Flags, _ACCA
                        IN        _ACCB, mcusr
                        ANDI      _ACCB, 0F3h
                        OUT       mcusr, _ACCB
                        RJMP      000h; // springe zum Flashanfang


Vielleicht kann man bei atmega328P mit
Code

                       JMP        3800h;

zum Bootanfang springen.
jomixl
Benutzer
Avatar
Gender:
Posts: 225
Registered: 02 / 2008
Subject:

Re: BootApp für Mega328P

 · 
Posted: 04.11.2019 - 14:38  ·  #6
Danke,
werde ich probieren!

Gruß Joachim
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 8 · Cache Hits: 14   112   126 · Page-Gen-Time: 0.020404s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI