leider gelingt es mir nicht, nach Durchführung der Anweisungen in dieser Anleitung
https://gist.github.com/goncalor/51e1c8038cc058b4379552477255b4e1
meine Test-Applikation von ATmega328P auf den ATmega328PB umzustellen.
Die neueste Version von WinAVR habe ich zuvor installiert, ein .hex-File für den ATmega328P wird korrekt generiert.
Offenbar ist WinAVR die MCU ATmega328PB nicht bekannt, denn beim Aufruf wird die Fehlermeldung „unknown MCU 'atmega328pb' specified“ ausgegeben.
Weiß hier jemand, wo mein Fehler liegt und wie ich den beheben kann?
Wenn du die neuen Features des Mikrocontrollers nicht brauchst, kannst du die IDE (bzw. dein Makefile) einfach auf ATmega328P einstellen, denn der PB ist dazu binär-kompatibel.
Löst aber wahrscheinlich das Problem des TO nicht. Denn schon in der Beschreibung der Sache steckt ein entscheidender Fehler:
The compiler, assembler and linker executables like avr-gcc.exe are
located in the bin/ folder. You can execute them by using the full path
to the executable, or by adding the bin folder to the PATH environment
variable.
Und genau das "adding" ist kompletter SCHWACHSINN. Das funktioniert genau dann (und NUR dann), wenn es vorher nix diesbezügliches im Pfad gab. Gab es aber beim TO ganz offensichtlich...
Offenbar hältst du dich für besonders schlau. Ich wage zu behaupten dass es JEDER Softwareentwickler, der keine schwere Hirnverletzung hat, ohne deine Hilfe hin bekommt.
Offenbar hältst du dich für besonders schlau. Ich wage zu behaupten dass
es JEDER Softwareentwickler, der keine schwere Hirnverletzung hat, ohne
deine Hilfe hin bekommt.
Der TO ganz offensichtlich nicht. Genau deswegen ist er mit seiner Frage hier aufgeschlagen.
Und abgesehen davon: Der Hilfetext IST nunmal sachlich falsch (zumindest eben ohne die Randedingung, das es vorher nichts Einschlägiges im Pfad gab).
Willst du das bestreiten? Falls ja: bitte begründen!
Danke für eure Hinweise. Ich möchte gerne die zusätzlichen Timer des ATMega328PB nutzen, deshalb der beabsichtigte Umstieg. Ich hänge das makefile und den batch mit dem Aufruf an, evtl. kann jemand darin das Problem erkennen.
Danke für eure Hinweise. Ich möchte gerne die zusätzlichen Timer des
ATMega328PB nutzen, deshalb der beabsichtigte Umstieg. Ich hänge das
makefile und den batch mit dem Aufruf an, evtl. kann jemand darin das
Problem erkennen.
Ja, kann man. Der explizit angegebene Pfad verweist halt auf die uralte Toolchain von 2010.
Danke, dann habe ich heute wohl eine alte Version installiert.
Dumme Frage: was muss ich denn installieren, gibt es eine neuere WinAVR als hier gelistet?
Danke, dann habe ich heute wohl eine alte Version installiert.
Dumme Frage: was muss ich denn installieren, gibt es eine neuere WinAVR
als hier gelistet?
Du musst wahrscheinlich nix mehr installieren, das hast du nach deiner Aussage ja bereits getan. Was du tun musst: in der Batchdatei den Pfad so ändern, so dass er auf die neuere Toolchain zeigt. Dazu musst du natürlich wissen, wo die im Dateisystem steckt. Das hast du bei der Installation festgelegt. Zumindest hast du das vereingestellte Ziel akzeptiert (nachdem es dir angezeigt wurde).
Wenn du das nicht mehr weißt, darfst du die Windows-Suche bemühen. Lasse die in C:\ nach "avr-gcc.exe" suchen. Sollte (mindestens) zwei Treffer zutage fördern. Einer davon ist der falsche, also der, auf den dein Batch aktuell zeigt.
Einer der anderen ist der richtige. Nun musst du nur noch die eine Zeile im Batch entsprechend anpassen.
Die Suche nach avr-gcc.exe hat das angehängte Ergebnis. Den bei der Installation vorgeschlagenen Pfad habe ich übernommen, das ist der
C:\WinAVR-20100110. Mein Batch zeigt m.E. auch auf diesen Pfad, was müsste ich denn jetzt anpassen? Gibt es eine neuere Version von WinAVR?
Rainer G. schrieb im Beitrag #7922688:
Gibt es eine neuere Version von WinAVR?
Nein. Im Download-Bereich des WinAVR Projekts gibt es Builds der GNU Toolchain für AVR im Ordner "avr-gcc". Ohne Tools wie make, grep, sed etc und ohne Installer. Siehe README.
Hallo Peter D,
danke für den Tipp! Ich habe es so gemacht wie du vorgeschlagen hast und damit wird jetzt meine Applikation für den ATMega328PB generiert.
Der Test steht zwar noch aus, aber ich bin ganz zuversichtlich dass das erzeugte .hex-File auch lauffähig ist.
Vielen Dank!
Gruß Rainer
Ich möchte noch ergänzen, dass auch eine neuere Version des avrdude.exe und die dazugehörige avrdude.conf, siehe
https://github.com/avrdudes/avrdude/releases
verwendet werden muss. Die in der im ersten Beitrag erwähnten Anleitung beschriebenen Modifikationen für avrdude.conf funktionieren mit der alten avrdude.exe von 2010 nicht, weil der Eintrag "part parent" zu einen Syntaxfehler führt. In der neuen avrdude.conf sind die beschriebenen Änderungen bereits enthalten, diese funktioniert ohne weitere Modifikation.
Gruß Rainer