Beim Programmieren meines Selbstbau-Taschenrechners bin ich auf ein Problem gestossen wenn das Programm grösser als 64KB wird. Offenbar werden jeweils der zweite und vierte 64KB-Block im Atmega2560 vertauscht gebrannt. Und beim Zurücklesen werden ebenfalls zweiter und vierter Block vertauscht zurückgelesen. Somit merkt man es nicht sofort beim Flashen, sondern erst wenn dann das Programm abstürzt. Zuerst dachte ich es sei klar ein Bug im avrdude, aber es könnte auch genau so gut ein Bug im Programmer (mySmartUSB MK3) sein. Ich habe mal eine Homepage eingerichtet wo ich das Problem genauer beschreibe. Eine provisorische Umgehung des Problems habe ich auch schon gefunden: http://www.rolfp.ch/elektronik/avr/mk3/avrdude64k-problem.html Die Frage ist jetzt, wie kann ich herausfinden ob der Fehler im avrdude liegt oder doch im Programmer? Hat vielleicht jemand mit einen andern Programmer, und/oder einem anderen Tool zum Flashen, schon das gleiche Problem festgestellt? Das Problem taucht ja nicht nur auf wenn man ein grosses Programm geschrieben hat, sondern auch z.B. beim Programmieren eines Bootloaders, bzw beim Installieren eines Bootloaders. Rolf
Schon mal mit der Originalsoftware zum Programmer versucht? Gruß Oliver
Rolf Pfister schrieb: > Hat vielleicht jemand mit einen andern Programmer, Mit AVRISP oder JTAGICE aus AVR Studio heraus gibt es das Problem nicht. Was stehen denn im Hexfile für Adressen? mfg.
moin Rolf & Co. hatte ein ahenliches Problem. hatte ich auch, hab mit myavr telefoniert und innerhalb von 2h hatte ich eine neue Soft die zumindes im .bin format speichern konnte. Vielleicht schreibst du mal an die Jungs von myavr, ich war begeistert von dem Suport! vlG Charly
Oliver J. schrieb: > Schon mal mit der Originalsoftware zum Programmer versucht? Hatte gestern versucht auf einem alten Laptop wo noch windows-xp drauf ist. Habe es aber nicht geschafft das zu installieren. Aber ich will es ja sowieso nicht mit Windows betreiben, sondern mit Linux und eventuell unter MacOSX wo das gleiche Problem auftritt. Charly B. schrieb: > Vielleicht schreibst du mal an die Jungs von myavr, ich war > begeistert von dem Suport! > Habe ich schon vor 1 oder 2 Wochen gemacht, aber bisher noch keine Antwort erhalten. Thomas Eckmann schrieb: > Mit AVRISP oder JTAGICE aus AVR Studio heraus gibt es das Problem nicht. > Was stehen denn im Hexfile für Adressen? Das Hex-File von meinem Testbeispiel "flashcheck.asm" sieht so aus:
1 | :020000020000FC |
2 | :100000000FEF11E20DBF1EBF0FEF00930A0104B9FD |
3 | :1000100006E005B90E94350000930B0118D00BE5EE |
4 | :1000200005B90E94008000930B0111D00FE405B9BF |
5 | :100030000F94000000930B010AD006E605B90F9457 |
6 | :10004000008000930B0103D002D001D0E1CF8F9349 |
7 | :100050009F930F9306E980E093E80196F1F70A95E4 |
8 | :0E006000D1F70F919F918F91089501E10895BE |
9 | :020000021000EC |
10 | :0400000002E208957B |
11 | :020000022000DC |
12 | :0400000003E3089579 |
13 | :020000023000CC |
14 | :0400000004E4089577 |
15 | :00000001FF |
Ich bin mir ziemlich sicher dass das korrekt ist. Rolf
Rolf Pfister schrieb: > Oliver J. schrieb: >> Schon mal mit der Originalsoftware zum Programmer versucht? > > Hatte gestern versucht auf einem alten Laptop wo noch windows-xp drauf Habs nochmals probiert: jetzt geht das myAVR-ProgTool. Damit wird das Flash korrekt gelesen und geschrieben. Sogar das EEPROM scheint korrekt gelesen zu werden. Aber nach den LEDs zu schliessen macht er das im "myMode". Es ist also immer noch unklar ob der Fehler im avrdude liegt oder doch im Programmer beim stk500v2 Modus. Ich habe auch noch bei einem "mysmartUSB light" die Firmware geupdatet und da ausser dem stk500v2 Modus noch den avr911 Modus ausprobiert. Beim avr911 modus ist das gelesene Flash total falsch. Im stk500v2 Modus verhält es sich gleich wie beim "mysmartUSB MK3". Also auch zweiter und vierter 64KB Block jeweils vertauscht. Ich vermute mal dass der Fehler doch im avrdude liegt. Rolf
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.