Nabend! Habe mal den Bootloader von der hier vorgestellten Seite versucht auf einen MEGA32 zu nutzen. Bootloader geht auf den µC drauf und meldet sich auch wie im Tut. beschrieben und auch das senden der .hex die drauf soll, scheint zu klappen. Nur Bootet er dann nicht meine Anwendung, sondern fängt wieder mit dem Bootloader an. Was könnte ich falsch gemacht haben?
Jan H. schrieb: > Habe mal den Bootloader von der hier vorgestellten Seite versucht auf > einen MEGA32 zu nutzen. Welchen Bootloader von welcher wo "hier" vorgestellten Seite? Wie kann man so grenzenlos doof sein, um nicht zu erkennen, dass hier absolut unverzichtbare Angaben fehlen? > Bootloader geht auf den µC drauf und meldet sich auch wie im Tut. > beschrieben und auch das senden der .hex die drauf soll, scheint zu > klappen. Nur Bootet er dann nicht meine Anwendung, sondern fängt wieder > mit dem Bootloader an. > > Was könnte ich falsch gemacht haben? Nunja: sehr vieles. Was genau, hängt allerdings wieder davon ab, um welchen verfickten Bootloader es nun genau geht... Und wieder: Wie kann man so grenzenlos doof sein, um nicht zu erkennen, dass hier absolut unverzichtbare Angaben fehlen?
Es tut mir leid das ich so grenzenlos doof bin. Ich endschuldige mich bei dir dafür. Danke das du dafür so unendlich klug bist! Hier der vergessene Link... https://www.mikrocontroller.net/articles/AVR_Bootloader_in_C_-_eine_einfache_Anleitung#Schritt_1_-_Konfiguration_der_Projekteinstellungen Welche wichtigen Angaben fehlen denn?
>Und wieder: Wie kann man so grenzenlos doof sein, um nicht zu erkennen, >dass hier absolut unverzichtbare Angaben fehlen? Wie kann so faul sein kurz "mikrocontroller bootloader avr" in Google einzugeben und den ersten Link anzuklicken? Wow, hast dir ja eine Menge Arbeit erspart, dass er jetzt den Link nachträglich gepostet hat! Wie wärs wenn vielleicht der ganze Inhalt hier hin kopiert wird, damit du erst gar nicht noch den Link öffnen musst? Was für ein Umgangston hier herrscht.
derjaeger schrieb: >>Und wieder: Wie kann man so grenzenlos doof sein, um nicht zu erkennen, >>dass hier absolut unverzichtbare Angaben fehlen? > > Wie kann so faul sein kurz "mikrocontroller bootloader avr" in Google > einzugeben und den ersten Link anzuklicken? Wow, hast dir ja eine Menge > Arbeit erspart, dass er jetzt den Link nachträglich gepostet hat! > > Wie wärs wenn vielleicht der ganze Inhalt hier hin kopiert wird, damit > du erst gar nicht noch den Link öffnen musst? > > Was für ein Umgangston hier herrscht. Wozu gibt es links? Wollt ihr jetzt hier den Post kritisieren oder helfen?
derjaeger schrieb: > Wie kann so faul sein kurz "mikrocontroller bootloader avr" in Google > einzugeben und den ersten Link anzuklicken? Und das ist dann ganz sicher genau der Bootloader, den der TO gemeint hat? Woher willst du das denn so genau wissen? Es gibt Tausende von AVR-Bootloadern in sicher zehntausenden möglicher Konfigurationsvarianten. Wer eine Frage zu einem hat, muss schon angeben, welchen genau er meint. Und in vielen Fällen darüber hinaus, wie genau er konfiguriert ist. Nur absolute Vollidioten kann es überraschen, dass das nötig ist... > Was für ein Umgangston hier herrscht. So what? Fakten zählen, und natürlich das Ergebnis, was aber nur auf Grundlage von Fakten erzielt werden kann. Alles andere ist Wattebällchen-Bullshit, der absolut niemandem nützt. Totale Entropie. Rauschen. Also das Schlimmste, was es gibt, wenn Informationsübermittlung das Ziel ist.
Moin, Kollege c-hater, halt mal den Ball flach. In Anbetracht dass es für den AVR hier nur ein (oder hab ich noch ein zweites in Erinnerung?) Tutorial für einen Bootloader gibt, und seine Fragestellung > [...] Bootloader geht auf den µC drauf und meldet sich [...] Kapitel 5, Bootloader Tutorial > [...] senden der .hex [...] Kapitel 7, Bootloader Tutorial sogar Hinweise auf seine bereits vollzogenen Schritte gibt, ist es wohl verzeihbar dass er den Link vergaß. Man sollte meinen dass man, wenn man auf der gleichen Seite Fragen zum Inhalt der Seite stellt, die Leute über ihre eigenen Tutorials bescheid wissen. Und ja, du hast Recht. Ein Link hat trotzdessen gefehlt. Aber das geht "verficktnochmal" auf freundlich. Nicht jeder ist gleich ein Schlau² wie du. Argh, solche Leute liebe ich. Grüße pelzfrucht
>In Anbetracht dass es für den AVR hier nur ein (oder hab ich noch ein >zweites in Erinnerung?) Scheint mehrere zugeben: https://www.mikrocontroller.net/articles/AVR-Bootloader_mit_Verschl%C3%BCsselung_von_Hagen_Re https://www.mikrocontroller.net/articles/AVR_Bootloader_FastBoot_von_Peter_Dannegger/Tutorial_ATtiny13 Aber die Fragestellung war schon so formuliert, als wäre der Threadersteller ein Anfänger im Thema Bootloader, daher ist es am logischten anzunehmen, dass der "einfache Bootloader" gemeint war.
derjaeger schrieb: >>In Anbetracht dass es für den AVR hier nur ein (oder hab ich noch ein >>zweites in Erinnerung?) > > Scheint mehrere zugeben: > https://www.mikrocontroller.net/articles/AVR-Bootloader_mit_Verschl%C3%BCsselung_von_Hagen_Re > > https://www.mikrocontroller.net/articles/AVR_Bootloader_FastBoot_von_Peter_Dannegger/Tutorial_ATtiny13 > > Aber die Fragestellung war schon so formuliert, als wäre der > Threadersteller ein Anfänger im Thema Bootloader, daher ist es am > logischten anzunehmen, dass der "einfache Bootloader" gemeint war. Wenn du ein bisschen Ahnung von der Sprache C hättet, wusstest du direkt das nicht der einfache Bootloader gemeint ist. Der kann soweit ich das lese, den Flash nicht beschreiben. Also erstmal nachdenken, bevor man sich hier äußert.
c-hater schrieb: > Alles andere ist Wattebällchen-Bullshit, der absolut niemandem nützt. > Totale Entropie. Rauschen. Also das Schlimmste, was es gibt, wenn > Informationsübermittlung das Ziel ist. Schwachsinn! Dein Verhalten ist mit nichts zu rechtfertigen. Es ist antisozial. Merksatz: > In einem guten Wort ist für drei Winter Wärme, > ein böses Wort verletzt wie sechs Monate Frost.
Hier mal ein Screenshot vom Terminal. Nach .hex Übertragung, startet der Bootloader wieder anstatt meine Applikation.
:
Bearbeitet durch User
Hi, Kannst du den Flash mit einem Programmer auslesen ? Wenn ja schau ob der Teil ab 0x0000 mit dem deines Programmes übereinstimmt oder ob da nur 0xFF steht Gruß JackFrost
Bastian W. schrieb: > Hi, > > Kannst du den Flash mit einem Programmer auslesen ? Wenn ja schau ob der > Teil ab 0x0000 mit dem deines Programmes übereinstimmt oder ob da nur > 0xFF steht > > Gruß JackFrost Moin. Ab Adresse 0x0000 steht genau das gleiche wie in der Bootloader.hex Das heißt ja im Endeffekt das er den Flash nicht beschreibt?
Hast du den den "Start" deines Biotloaders auf die Bootloader Adresse gestellt so das bei dem Hex File des Bootloaders das nicht mit 0x0000 anfängt ? Häng mal das Hexfile deines Bootloaders hier an Gruß JackFrost
Habe ich gemacht. Bloß ich weiß nicht ob ich das mit AVR Studio 7 so richtig gemacht habe. Bootloader.hex
1 | :100000000C9431000C944E000C944E000C944E0055 |
2 | :100010000C944E000C944E000C944E000C944E0028 |
3 | :100020000C944E000C944E000C944E000C944E0018 |
4 | :100030000C944E000C94B5030C94E1030C944E0008 |
5 | :100040000C944E000C944E000C944E000C944E00F8 |
6 | :100050000C944E007B018901A901DF014302F802E3 |
7 | :10006000300311241FBECFE5D8E0DEBFCDBF10E0C6 |
8 | :10007000A0E6B0E0E4ECF8E002C005900D92A03EEE |
9 | :10008000B107D9F721E0A0EEB0E001C01D92A53282 |
10 | :10009000B207E1F70E94F5000C9460040C94000094 |
11 | :1000A000FA01DC0102C005900D9221503040D8F7D2 |
12 | :1000B0000895662351F1FC016150462F50E04F5FD7 |
13 | :1000C0005F4F480F591F80E090E0319120ED230FE2 |
14 | :1000D0002A3078F02FEB230F263018F429EC230F69 |
15 | :1000E00008C02FE9230F263018F429EA230F01C096 |
16 | :1000F000232F82959295907F9827807F9827820F53 |
17 | :10010000911DE417F50709F7089580E090E0089540 |
18 | :10011000CF92DF92EF92FF92CF93DF936B017C013E |
19 | :100120006FB7F894E199FECFC60123E0F601209362 |
20 | :100130005700E89507B600FCFDCFEA01C058DF4F35 |
21 | :10014000DA0131E0FC01E41BF50BAF012C91FA015F |
22 | :10015000EA0FFB1F11968C91119790E0982F88273A |
23 | :10016000820F911D0C0130935700E89511241296CF |
24 | :10017000AC17BD0759F785E0F60180935700E89565 |
25 | :1001800007B600FCFDCF81E180935700E8956FBF73 |
26 | :10019000DF91CF91FF90EF90DF90CF900895CF92B5 |
27 | :1001A000DF92EF92FF92CF93DF936B017C01EA0124 |
28 | :1001B00080E690E00E9444042FEF81EE94E021500D |
29 | :1001C00080409040E1F700C00000AE01C701B601D9 |
30 | :1001D0000E9488008FEF9FEF99838883DF91CF91F2 |
31 | :1001E000FF90EF90DF90CF9008952F923F924F9223 |
32 | :1001F0005F926F927F928F929F92AF92BF92CF92B7 |
33 | :10020000DF92EF92FF920F931F93CF93DF93CDB7BF |
34 | :10021000DEB7C159D1090FB6F894DEBF0FBECDBF0E |
35 | :10022000FE01EF57FF4F85E0DF011D928A95E9F748 |
36 | :1002300040E850E06FEF70E0CE0101960E94590453 |
37 | :1002400085B7982F916095BF826085BF87E690E063 |
38 | :100250000E940604789484E690E00E944404BFEF74 |
39 | :10026000E7EAF1E6B150E040F040E1F700C00000FD |
40 | :10027000D12C912C612C00E088248394E12C10E097 |
41 | :10028000412C512C212C312CC657DF4F188219825A |
42 | :100290001A821B82CA58D040C257DF4F1882198277 |
43 | :1002A0001A821B82CE58D040CA57DF4F188219825B |
44 | :1002B0001A821B82C658D040FF24F394C12C0F2E03 |
45 | :1002C000F1E8AF2EB12CF02DAC0EBD1E22E0A20E37 |
46 | :1002D000B11C0E941A0490FDE2C1113009F0C4C1A2 |
47 | :1002E0004E2D50E04730510508F0D9C1FA01E65DC6 |
48 | :1002F000FF4F0C9453048A3309F003C283E10E9438 |
49 | :10030000330481E10E9433040C2DEF2C212C312C7D |
50 | :10031000F8C191E0900FE1E8F0E0EC0FFD1FE00F75 |
51 | :10032000F11D8083923009F0E1C183E10E94330422 |
52 | :1003300062E0CE018F579F4F0E945900682E280E11 |
53 | :10034000311C81E10E9433040C2D6894EE24E1F805 |
54 | :10035000D8C191E0900FE1E8F0E0EC0FFD1FE00F55 |
55 | :10036000F11D8083943009F0C3C183E10E943304FE |
56 | :1003700064E0CE018F579F4F0E945900C257DF4F54 |
57 | :10038000288139814A815B81CE58D040280F391F9E |
58 | :10039000411D511DCA57DF4F288339834A835B8330 |
59 | :1003A000C658D040220E311C230E311C81E10E9420 |
60 | :1003B00033040C2D0F2EF3E0EF2EF02DA2C191E0AF |
61 | :1003C000900FE1E8F0E0EC0FFD1FE00FF11D8083DE |
62 | :1003D000923009F08FC183E10E94330462E0CE01C4 |
63 | :1003E0008F579F4F0E945900D82E9927280E391EEB |
64 | :1003F0008130910591F128F08230910511F0049738 |
65 | :1004000041F581104FC1CA57DF4F88819981AA8178 |
66 | :10041000BB81C658D0408078C657DF4F28813981CC |
67 | :100420004A815B81CA58D040281739074A075B07C1 |
68 | :10043000C9F0AE014F5F5F4FC657DF4F68817981CA |
69 | :100440008A819B81CA58D0400E94CF00412C512CF8 |
70 | :1004500029C16894EE24E2F810C00F2EF5E0EF2ECB |
71 | :10046000F02D0BC0C657DF4F88839983AA83BB83C7 |
72 | :10047000CA58D0406894EE24E2F881E10E94330427 |
73 | :10048000912C0C2D3EC191E0900FE1E8F0E0EC0FD3 |
74 | :10049000FD1FE00FF11D808332E0D31609F442C046 |
75 | :1004A00044E0D41609F43EC0D110F8C0923009F0EF |
76 | :1004B00023C183E10E9433048EE20E94330462E090 |
77 | :1004C000CE018F579F4F0E945900E1E0F0E0EC0F02 |
78 | :1004D000FD1FE40DF51D8083280E311C5FEF451ACA |
79 | :1004E000550A9394691005C0912C0F2EF5E0EF2E5C |
80 | :1004F000F02D80E84816510481F4AE014F5F5F4F44 |
81 | :10050000C657DF4F688179818A819B81CA58D04064 |
82 | :100510000E94CF008F2C412C512C81E10E9433048A |
83 | :100520000C2DEFC0943009F0E9C083E10E94330440 |
84 | :100530008AE40E943304AE014F5F5F4FC657DF4F1E |
85 | :10054000688179818A819B81CA58D0400E94CF00FE |
86 | :1005500092E0D91621F0A4E0DA16E1F02EC064E0B2 |
87 | :10056000CE018F579F4F0E945900A0E0B0E09C0140 |
88 | :10057000AD01689413F8220F331F441F551F1694C2 |
89 | :10058000D1F7C257DF4F288339834A835B83CE5824 |
90 | :10059000D04013C064E0CE018F579F4F0E94590096 |
91 | :1005A000A0E0B0E0AC0133272227C257DF4F2883F9 |
92 | :1005B00039834A835B83CE58D04062E0CE018F57A7 |
93 | :1005C0009F4F0E945900182F62E0C5010E945900F8 |
94 | :1005D000212F30E0280F311D220E331E912C0C2DBF |
95 | :1005E0008F2C0F2EF5E0EF2EF02D412C512C89C0D1 |
96 | :1005F00077247394700EE1E8F0E0EC0FFD1FE00F3C |
97 | :10060000F11D808332E073127BC083E10E943304CA |
98 | :1006100062E0CE018F579F4F0E945900280E311C77 |
99 | :10062000332441E0D4120EC0AE014F5F5F4FC65776 |
100 | :10063000DF4F688179818A819B81CA58D0400E94AE |
101 | :10064000CF001C2D2114310429F00F2EF6E0EF2EDF |
102 | :10065000F02D01C0EC2C81E10E943304072D1FC056 |
103 | :1006600083E20E9433044DC09C01332720373105BB |
104 | :1006700021F02137310531F00AC08AE890E00E946C |
105 | :1006800044043FC088EB90E00E9444043CC00E94B8 |
106 | :1006900033048DED90E00E94440401C0092F111134 |
107 | :1006A00018CE31C0CA57DF4F288139814A815B811A |
108 | :1006B000C658D0402078C657DF4F288339834A83F5 |
109 | :1006C0005B83CA58D04020E830E0C657DF4F4881EE |
110 | :1006D00059816A817B81CA58D040CE0101960E941F |
111 | :1006E00050008C2C6894EE24E2F8C7CE092F09C084 |
112 | :1006F000092F07C0092F05C0092F03C0092F01C00A |
113 | :10070000072D1F2DE6CD83ED90E00E9444045FEF9E |
114 | :1007100083ED90E3515080409040E1F700C000002D |
115 | :1007200085B7982F916095BF8D7F85BFE0E0F0E0A1 |
116 | :10073000099580E090E0CF56DF4F0FB6F894DEBF0A |
117 | :100740000FBECDBFDF91CF911F910F91FF90EF9022 |
118 | :10075000DF90CF90BF90AF909F908F907F906F90E1 |
119 | :100760005F904F903F902F9008951F920F920FB679 |
120 | :100770000F9211242F938F939F93EF93FF938BB13D |
121 | :100780002CB18871E091E200EF5FEF719091E10090 |
122 | :10079000E91739F0E093E200F0E0EB51FF4F2083DE |
123 | :1007A00001C082E09091E000892B8093E000FF91EE |
124 | :1007B000EF919F918F912F910F900FBE0F901F90EF |
125 | :1007C00018951F920F920FB60F9211248F939F933B |
126 | :1007D000EF93FF939091E4008091E300981761F00C |
127 | :1007E000E091E300EF5FEF71E093E300F0E0EB5F97 |
128 | :1007F000FE4F80818CB901C05598FF91EF919F9178 |
129 | :100800008F910F900FBE0F901F9018951092E400DB |
130 | :100810001092E3001092E2001092E10099231CF480 |
131 | :1008200022E02BB99F7790BD89B988E98AB986E81B |
132 | :1008300080BD08959091E2008091E100981781F0C9 |
133 | :10084000E091E100EF5FEF71E093E100F0E0EB5148 |
134 | :10085000FF4F80819091E0001092E00090E00895B9 |
135 | :1008600080E091E008952091E4002F5F2F71909136 |
136 | :10087000E3002917E1F3E22FF0E0EB5FFE4F808306 |
137 | :100880002093E400559A0895CF93DF93EC0188817B |
138 | :10089000882331F021960E94330489918111FBCF86 |
139 | :1008A000DF91CF910895EE0FFF1F0590F491E02D99 |
140 | :1008B0000994DC0101C06D9341505040E0F7089568 |
141 | :0408C000F894FFCFDA |
142 | :1008C400500A0D0048616C6C6F206869657220697C |
143 | :1008D40073742064657220656368746520426F6F69 |
144 | :1008E400746C6F616465720A0D004B6F7069657298 |
145 | :1008F4006520646965204865782D446174656920C4 |
146 | :10090400756E642066FC6765207369652068696597 |
147 | :10091400722065696E0A0D005665726C61737365A9 |
148 | :100924002064656E20426F6F746C6F616465722120 |
149 | :100934000A0D00526573657420415652210A0D0058 |
150 | :00000001FF |
:
Bearbeitet durch User
Hallo Jan, Schau dir doch den Flash-Bereich an, ob da etwas reingeschrieben wurde. Was hast du denn da reingeschoben? Das ist doch eine wunderbare Gelegenheit, den Debugger kennenzulernen? Ich würde erst mal den Controller komplett löschen, dann den Bootloader aufspielen, dann Flash anschauen, dann Programm einspielen, dann nochmal Flash anschauen. Wenn sich da nix tut, musst du den Schritt des Schreibens nochmal prüfen. Die Routine dafür wird ja wohl aufgerufen, wie die Bildschirmausgabe zeigt. Das Programm, das du da reinschiebst ist auch lauffähig? Wie genau überträgst du die Hex-Datei? Woher bekommst du die? Welchen Controller verwendest du genau? Du kannst eine Teraterm-Session auch loggen und hier anhängen.
Beitrag #5140490 wurde vom Autor gelöscht.
stromverdichter schrieb: > Hallo Jan, > Schau dir doch den Flash-Bereich an, ob da etwas reingeschrieben wurde. > Was hast du denn da reingeschoben? > Das ist doch eine wunderbare Gelegenheit, den Debugger kennenzulernen? > Ich würde erst mal den Controller komplett löschen, dann den Bootloader > aufspielen, dann Flash anschauen, dann Programm einspielen, dann nochmal > Flash anschauen. Wenn sich da nix tut, musst du den Schritt des > Schreibens nochmal prüfen. Die Routine dafür wird ja wohl aufgerufen, > wie die Bildschirmausgabe zeigt. Das Programm, das du da reinschiebst > ist auch lauffähig? Wie genau überträgst du die Hex-Datei? Woher > bekommst du die? Welchen Controller verwendest du genau? > Du kannst eine Teraterm-Session auch loggen und hier anhängen. Ich habe den Bootloader einmal nackig drauf geschoben und ausgelesen und einmal wieder gelöscht und das gleiche von vorne. Dann habe ich meine Applikation drauf geschoben und ausgelesen. Beide verglichen.. Beide gleich! Das heißt, ich muss irgendwas bei dem Projekt falsch eingestellt haben? Die Bootloader Adresse?
Jan H. schrieb: > Ist das denn so richtig eingestellt? Nein. Unter "FLASH segment" ist dies einzutragen: .text=0x3800
Okay... Nun habe ich das getan nun kommt aber keine Meldung mehr vom Bootloader?
Es_ist_Obst_Im_Haus schrieb: > Moin, > Kollege Der ist kein Kollege. Der ist keiner Antwort würdig. Der gehört geschnitten und ausgegrenzt.
Setze ich die Adresse wieder auf .text=0x0000 meldet sich der Bootloader wieder. Das ist jetzt die .hex wenn ich ihn auf .text=0x3800 setze.
1 | :107000000C9431380C944E380C944E380C944E3805 |
2 | :107010000C944E380C944E380C944E380C944E38D8 |
3 | :107020000C944E380C944E380C944E380C944E38C8 |
4 | :107030000C944E380C94B73B0C94E33B0C944E38B4 |
5 | :107040000C944E380C944E380C944E380C944E38A8 |
6 | :107050000C944E387D398B39AB39E139453AFA3ADF |
7 | :10706000323B11241FBECFE5D8E0DEBFCDBF10E01C |
8 | :10707000A0E6B0E0E8ECF8E702C005900D92A23D72 |
9 | :10708000B107D9F720E0A2EDB0E001C01D92A73F03 |
10 | :10709000B207E1F70E94F5380C94623C0C9400387A |
11 | :1070A000FA01DC0102C005900D9221503040D8F762 |
12 | :1070B0000895662351F1FC016150462F50E04F5F67 |
13 | :1070C0005F4F480F591F80E090E0319120ED230F72 |
14 | :1070D0002A3078F02FEB230F263018F429EC230FF9 |
15 | :1070E00008C02FE9230F263018F429EA230F01C026 |
16 | :1070F000232F82959295907F9827807F9827820FE3 |
17 | :10710000911DE417F50709F7089580E090E00895D0 |
18 | :10711000CF92DF92EF92FF92CF93DF936B017C01CE |
19 | :107120006FB7F894E199FECFC60123E0F6012093F2 |
20 | :107130005700E89507B600FCFDCFEA01C058DF4FC5 |
21 | :10714000DA0131E0FC01E41BF50BAF012C91FA01EF |
22 | :10715000EA0FFB1F11968C91119790E0982F8827CA |
23 | :10716000820F911D0C0130935700E895112412965F |
24 | :10717000AC17BD0759F785E0F60180935700E895F5 |
25 | :1071800007B600FCFDCF81E180935700E8956FBF03 |
26 | :10719000DF91CF91FF90EF90DF90CF900895CF9245 |
27 | :1071A000DF92EF92FF92CF93DF936B017C01EA01B4 |
28 | :1071B00080E690E00E94463C2FEF81EE94E0215063 |
29 | :1071C00080409040E1F700C00000AE01C701B60169 |
30 | :1071D0000E9488388FEF9FEF99838883DF91CF914A |
31 | :1071E000FF90EF90DF90CF9008952F923F924F92B3 |
32 | :1071F0005F926F927F928F929F92AF92BF92CF9247 |
33 | :10720000DF92EF92FF920F931F93CF93DF93CDB74F |
34 | :10721000DEB7C159D1090FB6F894DEBF0FBECDBF9E |
35 | :10722000BF9AC798FE01EF57FF4F85E0DF011D921F |
36 | :107230008A95E9F740E850E06FEF70E0CE010196E3 |
37 | :107240000E945B3C85B7982F916095BF826085BF97 |
38 | :1072500087E690E00E94083C789484E690E00E94E3 |
39 | :10726000463CBFEFE9E6F8E1B150E040F040E1F71D |
40 | :1072700000C00000D12C912C612C00E08824839464 |
41 | :10728000E12C10E0412C512C212C312CC657DF4F22 |
42 | :10729000188219821A821B82CA58D040C257DF4F07 |
43 | :1072A000188219821A821B82CE58D040CA57DF4FEB |
44 | :1072B000188219821A821B82C658D040FF24F39488 |
45 | :1072C000C12C0F2EF1E8AF2EB12CF02DAC0EBD1E4F |
46 | :1072D00022E0A20EB11C0E941C3C90FDE2C11130C4 |
47 | :1072E00009F0C4C14E2D50E04730510508F0D9C116 |
48 | :1072F000FA01E65DF74C0C94553C8A3309F003C261 |
49 | :1073000083E10E94353C81E10E94353C0C2DEF2C3D |
50 | :10731000212C312CF8C191E0900FE1E8F0E0EC0F66 |
51 | :10732000FD1FE00FF11D8083923009F0E1C183E180 |
52 | :107330000E94353C62E0CE018F579F4F0E94593822 |
53 | :10734000682E280E311C81E10E94353C0C2D68947A |
54 | :10735000EE24E1F8D8C191E0900FE1E8F0E0EC0F05 |
55 | :10736000FD1FE00FF11D8083943009F0C3C183E15C |
56 | :107370000E94353C64E0CE018F579F4F0E945938E0 |
57 | :10738000C257DF4F288139814A815B81CE58D04076 |
58 | :10739000280F391F411D511DCA57DF4F28833983DC |
59 | :1073A0004A835B83C658D040220E311C230E311C09 |
60 | :1073B00081E10E94353C0C2D0F2EF3E0EF2EF02DD5 |
61 | :1073C000A2C191E0900FE1E8F0E0EC0FFD1FE00FAB |
62 | :1073D000F11D8083923009F08FC183E10E94353C1A |
63 | :1073E00062E0CE018F579F4F0E945938D82E9927BF |
64 | :1073F000280E391E8130910591F128F082309105D7 |
65 | :1074000011F0049741F581104FC1CA57DF4F8881B1 |
66 | :107410009981AA81BB81C658D0408078C657DF4F7A |
67 | :10742000288139814A815B81CA58D04028173907A1 |
68 | :107430004A075B07C9F0AE014F5F5F4FC657DF4F8A |
69 | :10744000688179818A819B81CA58D0400E94CF3857 |
70 | :10745000412C512C29C16894EE24E2F810C00F2E63 |
71 | :10746000F5E0EF2EF02D0BC0C657DF4F88839983D0 |
72 | :10747000AA83BB83CA58D0406894EE24E2F881E125 |
73 | :107480000E94353C912C0C2D3EC191E0900FE1E81B |
74 | :10749000F0E0EC0FFD1FE00FF11D808332E0D3160A |
75 | :1074A00009F442C044E0D41609F43EC0D110F8C03B |
76 | :1074B000923009F023C183E10E94353C8EE20E94A4 |
77 | :1074C000353C62E0CE018F579F4F0E945938E1E072 |
78 | :1074D000F0E0EC0FFD1FE40DF51D8083280E311C3C |
79 | :1074E0005FEF451A550A9394691005C0912C0F2E31 |
80 | :1074F000F5E0EF2EF02D80E84816510481F4AE013E |
81 | :107500004F5F5F4FC657DF4F688179818A819B81CA |
82 | :10751000CA58D0400E94CF388F2C412C512C81E189 |
83 | :107520000E94353C0C2DEFC0943009F0E9C083E196 |
84 | :107530000E94353C8AE40E94353CAE014F5F5F4FAC |
85 | :10754000C657DF4F688179818A819B81CA58D040B4 |
86 | :107550000E94CF3892E0D91621F0A4E0DA16E1F0CB |
87 | :107560002EC064E0CE018F579F4F0E945938A0E093 |
88 | :10757000B0E09C01AD01689413F8220F331F441F43 |
89 | :10758000551F1694D1F7C257DF4F288339834A839A |
90 | :107590005B83CE58D04013C064E0CE018F579F4F1D |
91 | :1075A0000E945938A0E0B0E0AC0133272227C2572F |
92 | :1075B000DF4F288339834A835B83CE58D04062E013 |
93 | :1075C000CE018F579F4F0E945938182F62E0C50196 |
94 | :1075D0000E945938212F30E0280F311D220E331E12 |
95 | :1075E000912C0C2D8F2C0F2EF5E0EF2EF02D412C31 |
96 | :1075F000512C89C077247394700EE1E8F0E0EC0F11 |
97 | :10760000FD1FE00FF11D808332E073127BC083E128 |
98 | :107610000E94353C62E0CE018F579F4F0E9459383F |
99 | :10762000280E311C332441E0D4120EC0AE014F5F4E |
100 | :107630005F4FC657DF4F688179818A819B81CA5825 |
101 | :10764000D0400E94CF381C2D2114310429F00F2E78 |
102 | :10765000F6E0EF2EF02D01C0EC2C81E10E94353CCC |
103 | :10766000072D1FC083E20E94353C4DC09C0133278B |
104 | :107670002037310521F02137310531F00AC08BE781 |
105 | :1076800090E00E94463C3FC089EA90E00E94463C60 |
106 | :107690003CC00E94353C8EEC90E00E94463C01C00C |
107 | :1076A000092F111118CE31C0CA57DF4F28813981F7 |
108 | :1076B0004A815B81C658D0402078C657DF4F288367 |
109 | :1076C00039834A835B83CA58D04020E830E0C657EC |
110 | :1076D000DF4F488159816A817B81CA58D040CE01F1 |
111 | :1076E00001960E9450388C2C6894EE24E2F8C7CEA4 |
112 | :1076F000092F09C0092F07C0092F05C0092F03C092 |
113 | :10770000092F01C0072D1F2DE6CD84EC90E00E94CB |
114 | :10771000463C5FEF83ED90E3515080409040E1F7AD |
115 | :1077200000C0000085B7982F916095BF8D7F85BF01 |
116 | :10773000E0E0F0E0099580E090E0CF56DF4F0FB633 |
117 | :10774000F894DEBF0FBECDBFDF91CF911F910F9197 |
118 | :10775000FF90EF90DF90CF90BF90AF909F908F9071 |
119 | :107760007F906F905F904F903F902F9008951F9261 |
120 | :107770000F920FB60F9211242F938F939F93EF9335 |
121 | :10778000FF938BB12CB18871E091D400EF5FEF7063 |
122 | :107790009091D300E91739F0E093D400F0E0E9527A |
123 | :1077A000FF4F208301C082E09091D200892B80930B |
124 | :1077B000D200FF91EF919F918F912F910F900FBE6B |
125 | :1077C0000F901F9018951F920F920FB60F921124D1 |
126 | :1077D0008F939F93EF93FF939091D6008091D50064 |
127 | :1077E000981761F0E091D500EF5FEF70E093D5005E |
128 | :1077F000F0E0E951FF4F80818CB901C05598FF91AD |
129 | :10780000EF919F918F910F900FBE0F901F90189541 |
130 | :107810001092D6001092D5001092D4001092D3008E |
131 | :1078200099231CF422E02BB99F7790BD89B988E990 |
132 | :107830008AB986E880BD08959091D4008091D300E4 |
133 | :10784000981781F0E091D300EF5FEF70E093D300E1 |
134 | :10785000F0E0E952FF4F80819091D2001092D20067 |
135 | :1078600090E0089580E091E008952091D6002F5F88 |
136 | :107870002F709091D5002917E1F3E22FF0E0E95144 |
137 | :10788000FF4F80832093D600559A0895CF93DF93BE |
138 | :10789000EC018881882331F021960E94353C899142 |
139 | :1078A0008111FBCFDF91CF910895EE0FFF1F05905F |
140 | :1078B000F491E02D0994DC0101C06D9341505040DA |
141 | :0878C000E0F70895F894FFCFF2 |
142 | :1078C800500A0D004A2E4820456C6563202D204241 |
143 | :1078D8006F6F7479202843290A0D004B6F70696512 |
144 | :1078E800726520646965204865782D44617465690E |
145 | :1078F80020756E642066FC67652073696520686979 |
146 | :1079080065722065696E0A0D005665726C61737345 |
147 | :10791800652064656E20426F6F746C6F6164657278 |
148 | :10792800210A0D00526573657420415652210A0DD3 |
149 | :0279380000004D |
150 | :040000030000700089 |
151 | :00000001FF |
Jan H. schrieb: > Woher weiß der µC eigentlich das er bei Adresse 0x3800 los legen soll? BOOTRST + BOOTSZ
Wenn auf dem MC nur der Bootloader ist, sollte er immer funktionieren, da die FFs ab 0x00 übersprungen werden, bis ein gültiger Opcode (der Bootloader) kommt. Hier scheint noch einiges mehr falsch zu sein. mfg
Jan H. schrieb: > Es tut mir leid das ich so grenzenlos doof bin. Ich endschuldige mich > bei dir dafür. DU brauchst dich bestimmt nicht entschuldigen! Wozu gibt es sonst dieses Forum, wenn Nutzer nicht mal eine Frage stellen dürfen? Jeder von uns fängt "klein" an oder bearbeitet vllt. zum ersten mal ein neues Themengebiet, das rechtfertigt noch lange nicht die Reaktion von "c-hater". Einfach nur lächerlich :-/
Jan H. schrieb: > Wenn du ein bisschen Ahnung [...] Wenn du ein bisschen Ahnung hättest, wüsstest du dass @derjaeger mit "einfach" den vereinfachten Bootloader https://www.mikrocontroller.net/articles/AVR_Bootloader_in_C_-_eine_einfache_Anleitung gemeint hat. Dieser ist insofern "einfach" als das er eine wesentlich geringere Komplexität als folgendne Bootloader aufweist: https://www.mikrocontroller.net/articles/AVR_Bootloader_FastBoot_von_Peter_Dannegger/Tutorial_ATtiny13 https://www.mikrocontroller.net/articles/AVR-Bootloader_mit_Verschl%C3%BCsselung_von_Hagen_Re
Es_ist_obst_im_haus schrieb: > Jan H. schrieb: >> Wenn du ein bisschen Ahnung [...] > > Wenn du ein bisschen Ahnung hättest, wüsstest du dass @derjaeger mit > "einfach" den vereinfachten Bootloader > > https://www.mikrocontroller.net/articles/AVR_Bootloader_in_C_-_eine_einfache_Anleitung > > gemeint hat. Dieser ist insofern "einfach" als das er eine wesentlich > geringere Komplexität als folgendne Bootloader aufweist: > > https://www.mikrocontroller.net/articles/AVR_Bootloader_FastBoot_von_Peter_Dannegger/Tutorial_ATtiny13 > > https://www.mikrocontroller.net/articles/AVR-Bootloader_mit_Verschl%C3%BCsselung_von_Hagen_Re Rückzug! Hab vergessen das du der TO bist. Verzeihung ;) Aber du musst verstehen das dich jemand in Schutz genommen hat und dadrauf hinweisen wollte das du den einfachen Bootloader meinst. Aber nicht im Sinne von dem Test Bootloader in dem von dir gemeinten Tutorial sondern dein Tutorial als ganzes. Der "nicht-einfache" wäre dann der mit Verschlüsselung etc... Und ich hab jetzt gedacht du wärst eine weitere Nervensäge die hier den TO und die, die hinter seiner Fragestellung stehen versucht anzugreifen. Aber was solls. Grüße
Hi, das .text=0x3800 ist wichtig damit der Bootloader auch da steht wo er hingehört. Lösche den Atmega32 ganz,flashe dann denn Bootloader mit der richtigen .text Einstellung und lese ihn dann mal aus. Das Ergebnis sollte so in etwa wie in der angehängte Hex sein. 0x0000 bis 0x6FFF muss mit 0xFF "beschrieben" sein. Gruß JackFrost
Habe es lösen können. Es lag an den MCUCR Register. Das muss geändert werden. Die Bits stehen dort leider nicht drin. Danke trotzdem.
Eine Frage habe ich dennoch. Wenn ich jetzt in meiner Hauptapplikation den Bootloader ausführen möchte, ohne Reset drücken zu müssen, klappt das? Habe es versucht mit einem Funktionszeiger, leider kommt immer ein casting Fehler.
1 | void (*bootloader)(void) = 0x3800; |
Diese Fehlermeldung kommt..
1 | initialization makes pointer from integer without a cast |
Was mache ich da falsch? Muss ich die Adresse noch mal casten? (void*) ?
Steht dein Bootloader echt an Adresse 0x3800? Das mit dem casten kannst du ja jetzt schön üben. Der Compiler sagt dir ja, wo du überall nicht richtig castest. Alternativ könntest du doch einen Reset auslösen, dann hast du keine Probleme mit fehlerhaften Interrupt-Einstellungen oder vergessenen Watchdogs.
stromverdichter schrieb: > Steht dein Bootloader echt an Adresse 0x3800? > Das mit dem casten kannst du ja jetzt schön üben. Der Compiler sagt dir > ja, wo du überall nicht richtig castest. Alternativ könntest du doch > einen Reset auslösen, dann hast du keine Probleme mit fehlerhaften > Interrupt-Einstellungen oder vergessenen Watchdogs. Wenn ich im Projekt vom Bootloader ".text=0x3800" einstelle, steht er doch an dieser Adresse oder nicht?
Bei .text=0x3800 beginnt der Bootloader bei der Wordadresse 0x3800 was dann in der Datei die Byteadresse 0x7000 ist. Gruß JackFrost
:
Bearbeitet durch User
Bastian W. schrieb: > Bei .text=0x3800 beginnt der Bootloader bei der Wordadresse 0x3800 was > dann in der Datei die Byteadresse 0x7000 ist. > > Gruß JackFrost
1 | void (*boot)(void) = (void*)0x7000; |
2 | boot(); |
Wenn ich versuche irgendwo hin zu springen, klappt das ganze Programm zusammen. Dann hilft nur ein Reset.
Jan H. schrieb: > Bastian W. schrieb: >> Bei .text=0x3800 beginnt der Bootloader bei der Wordadresse 0x3800 was >> dann in der Datei die Byteadresse 0x7000 ist. >> >> Gruß JackFrost > >
1 | > void (*boot)(void) = (void*)0x7000; |
2 | > boot(); |
3 | >
|
> > Wenn ich versuche irgendwo hin zu springen, klappt das ganze Programm > zusammen. Dann hilft nur ein Reset. Naja, "boot()" läd einfach per ICALL das Z-Register in den PC, und das enthält 0x7000, was als Wortadresse interpretiert wird und "knapp" über 32kb liegt.
Für deinen Sprung in den Bootloader brauchst du die Wordadresse 0x3800. Wenn du den Watchdog nutzt kannst du auch mit einem
1 | |
2 | |
3 | While(1); |
Einen Reset machen. Wenn du von deinem Programm in den Bootloader über die Adresse springst ubd von dort dann wieder an 0x0000 haben deine Register nicht die Werte wie nach einem echten Reset. Gruß JackFrost
Bastian W. schrieb: > Wenn du von deinem Programm in den Bootloader über die Adresse springst > ubd von dort dann wieder an 0x0000 haben deine Register nicht die Werte > wie nach einem echten Reset. > > Gruß JackFrost Kann man die Werte nicht sichern? Wahrscheinlich nicht oder?
Bei einem echten Reset haben die Register die Standardwerte wie im Datenblatt. Nach dem Bootloader bzw. wenn du in den Bootloader springst haben die z.B die Register für die Ausgänge noch die Werte die sie im Program hatten. Da solltest du schauen ob das nicht zu einem Problem wird. Bei multiplexten LEDs kann das ein Problem werden. Gruß JackFrost
Sobald ich den Funktionspointer im Quellcode habe, obwohl er noch nicht aufgerufen wird, funktioniert gar nichts mehr... Das kann ja wohl auch nicht sein, da muss was ganz anderes faul sein.
Jan H. schrieb: > void (*boot)(void) = (void*)0x7000; Das ist nicht das, was Du willst (auch wenn's nicht der Grund für dein Problem ist). Du castest 0x7000 als Zeiger auf ein void, willst aber einen Zeiger auf eine void()-Funktion. Das geht nur zufällig weil, void-Zeiger zuweisungskompatibel zu allen anderen Zeigertypen sind. Richtig wäre:
1 | void (*boot)() = (void (*)(void)) 0x7000; |
oder - in Häppchen - möglicherweise etwas leichter verständlich:
1 | typedef void void_func(void); |
2 | void_func *boot = (void_func *) 0x7000; |
Wenn ih Markus F. schrieb: > Jan H. schrieb: >> void (*boot)(void) = (void*)0x7000; > > Das ist nicht das, was Du willst (auch wenn's nicht der Grund für dein > Problem ist). > > Du castest 0x7000 als Zeiger auf ein void, willst aber einen Zeiger auf > eine void()-Funktion. > Das geht nur zufällig weil, void-Zeiger zuweisungskompatibel zu allen > anderen Zeigertypen sind. Richtig wäre: > void (*boot)() = (void (*)(void)) 0x7000; > > oder - in Häppchen - möglicherweise etwas leichter verständlich: > typedef void void_func(void); > void_func *boot = (void_func *) 0x7000; Wenn ich jetzt Adresse 0x3800 eintrage, springt er immer noch nicht zum Bootloader. Trage ich jedoch die Adresse 0x0000 ein, fängt er wieder von 0x0000 an. Nur mein Grafikdisplay bleibt weiß.. Aber auch direkt beim starten.. Sobald diese Funktion mit im Spiel ist, arbeitet das Programm nicht mehr ganz wie es soll.. Obwohl ich es nur nach einem Tastendruck aufrufe..
Erstmal muss du nachschauen wie groß der Bootloader ist und wo dieser den Programm Code erwartet. Springt er irgend wo hin macht der vermutlich einen Reset wenn kein gültiger Programmcode vorhanden ist. Dann ist das Linkerscript A: für den Bootloader und B: für den Code anzupassen. Doch Vorsicht bei B: meist wird der Code trotzdem bei 0x00 geblinkt und der Bootloader schreibt diesen dann oberhalb hinein. Das der Bootloader bei 0x3800 etw. gespeichert wird hat liegt daran das manchmal die Adressen gemappt werden. Der Bootloader liegt oberhalb des ProgrammSpeichers beim Starten wird dieser Teil auf 0x00 gemappt. Schau in die Referenz vom Controller.
> Nur mein Grafikdisplay bleibt weiß.
Eventuell funktioniert die Initialisierung des Displays nur nach
Neueinschalten. Verhindert wird dies durch die oft verwirrenden Zugriffe
auf das Display beim Initialisieren, die dazu da sind es aus jedem
Zustand abzuholen.
Aber dazu müßte man mehr über Display und seine Ansteuersoftware wissen.
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.