Hallo, wie die Titelzeile schon sagt, kennt der AVR-GCC 4.8.1 den tiny841 nicht. Für AVR Studio habe ich schon Lösungen gefunden, aber wie fixt man das unter Linux? (make ohne GUI) Wo stehen diese Definitionen? Gruß Andreas
Also mein avr-gcc 4.7.irgendwas funktioniert ohne Probleme mit dem tiny841. Ich nutze auch kein Studio, sondern eclipse und avrdude. Das eclipse plugin und avrdude musste ich damals (vor ca. 1 Jahr) anpassen für den t841. avr-gcc lief direkt. Irgendwas machst du falsch.
:
Bearbeitet durch User
Hmm, dann hast Du bestimmt eine Erklärung für diese Ausgabe: (sorry, ist sogar die 4.8.2) ~/workspace/AVR/Audio_switcher $ make -------- begin -------- avr-gcc (GCC) 4.8.2 Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiling: AudioSwitcher.c avr-gcc -c -mmcu=attiny481 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=AudioSwitcher.lst -std=gnu99 -DF_CPU=1000000 -MD -MP -MF .dep/AudioSwitcher.o.d AudioSwitcher.c -o AudioSwitcher.o avr-gcc: error: unrecognized argument in option ‘-mmcu=attiny481’ avr-gcc: note: valid arguments to ‘-mmcu=’ are: at43usb320 at43usb355 at76c711 at86rf401 at90c8534 at90can128 at90can32 at90can64 at90pwm1 at90pwm161 at90pwm2 at90pwm216 at90pwm2b at90pwm3 at90pwm316 at90pwm3b at90pwm81 at90s1200 at90s2313 at90s2323 at90s2333 at90s2343 at90s4414 at90s4433 at90s4434 at90s8515 at90s8535 at90scr100 at90usb1286 at90usb1287 at90usb162 at90usb646 at90usb647 at90usb82 at94k ata5272 ata5505 ata5790 ata5790n ata5795 ata6285 ata6286 ata6289 atmega103 atmega128 atmega1280 atmega1281 atmega1284 atmega1284p atmega128a atmega128rfa1 atmega16 atmega161 atmega162 atmega163 atmega164a atmega164p atmega164pa atmega165 atmega165a atmega165p atmega165pa atmega168 atmega168a atmega168p atmega168pa atmega169 atmega169a atmega169p atmega169pa atmega16a atmega16hva atmega16hva2 atmega16hvb atmega16hvbrevb atmega16m1 atmega16u2 atmega16u4 atmega2560 atmega2561 atmega26hvg atmega32 atmega323 atmega324a atmega324p atmega324pa atmega325 atmega3250 atmega3250a atmega3250p atmega3250pa atmega325a atmega325p atmega328 atmega328p atmega329 atmega3290 atmega3290a atmega3290p atmega3290pa atmega329a atmega329p atmega329pa atmega32a atmega32c1 atmega32hvb atmega32hvbrevb atmega32m1 atmega32u2 atmega32u4 atmega32u6 atmega406 atmega48 atmega48a atmega48hvf atmega48p atmega48pa atmega64 atmega640 atmega644 atmega644a atmega644p atmega644pa atmega645 atmega6450 atmega6450a atmega6450p atmega645a atmega645p atmega649 atmega6490 atmega6490a atmega6490p atmega649a atmega649p atmega64a atmega64c1 atmega64hve atmega64m1 atmega64rfa2 atmega64rfr2 atmega8 atmega8515 atmega8535 atmega88 atmega88a atmega88p atmega88pa atmega8a atmega8hva atmega8u2 atmxt112sl atmxt224 atmxt224e atmxt336s atmxt540s atmxt540sreva attiny11 attiny12 attiny13 attiny13a attiny15 attiny1634 attiny167 attiny22 attiny2313 attiny2313a attiny24 attiny24a attiny25 attiny26 attiny261 attiny261a attiny28 attiny4313 attiny43u attiny44 attiny44a attiny45 attiny461 attiny461a attiny48 attiny84 attiny84a attiny85 attiny861 attiny861a attiny87 attiny88 atxmega128a1 atxmega128a1u atxmega128a3 atxmega128a3u atxmega128a4u atxmega128b1 atxmega128b3 atxmega128c3 atxmega128d3 atxmega128d4 atxmega16a4 atxmega16a4u atxmega16c4 atxmega16d4 atxmega16x1 atxmega192a3 atxmega192a3u atxmega192c3 atxmega192d3 atxmega256a3 atxmega256a3b atxmega256a3bu atxmega256a3u atxmega256c3 atxmega256d3 atxmega32a4 atxmega32a4u atxmega32c4 atxmega32d4 atxmega32e5 atxmega32x1 atxmega384c3 atxmega384d3 atxmega64a1 atxmega64a1u atxmega64a3 atxmega64a3u atxmega64a4u atxmega64b1 atxmega64b3 atxmega64c3 atxmega64d3 atxmega64d4 avr1 avr2 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avrxmega2 avrxmega4 avrxmega5 avrxmega6 avrxmega7 m3000 make: *** [AudioSwitcher.o] Fehler 1 Unter diesen Definitionen steht nichts was einen tiny841 ähnlich sieht. Oder habe ich da Tomaten auf den Augen? Gruß Andreas
Habe ich nicht. Ich weiß nur was ich oben geschrieben habe. Arbeite seit ca. 1 Jahr intensiv mit dem t841. Ich kann aber heute abend gerne nochmal meine exakte avr-gcc Version checken. Es gibt sicher auch mehrere Kompilate des avr-gcc. Man kann sicher auch binaries ohne t841 erstellen. Vielleicht ist er bei 4.8 auch wieder rausgeflogen. keine Ahnung.
:
Bearbeitet durch User
Du hast in deinem Befehl auch einen Zahlendreher drinnen...
1 | Compiling: AudioSwitcher.c |
2 | avr-gcc -c -mmcu=attiny481 -I. -g -Os -funsigned-char |
In den Release Notes der aktuellen AVR Toolchain (3.5) ist der 841 explizit aufgeführt. Den Angaben aus der Hilfe würde ich auch nicht immer glauben schenken...die werden nicht immer geupdatet...
Das ist die normale avr gcc Version im Repository von Mint 17 (Raffaela). Gruß Andreas
TestX schrieb: > Du hast in deinem Befehl auch einen Zahlendreher drinnen... Ja, sorry, war der Test auf die Schnelle um die Ausgabe zu provozieren. Mit attiny841 geht es auch nicht. Aber vielleicht heißt der tiny 841 hier ja auch anders. Gruß Andreas
TestX schrieb: > In den Release Notes der aktuellen AVR Toolchain (3.5) ist der 841 > explizit aufgeführt. AVR Toolchain 3.5 ist etwas, was sich Atmel mehr oder minder selbst zurecht patcht, weil sie seit Jahr und Tag nicht hinterherkommen, ihre Updates mal beim GCC einzutüten. > Den Angaben aus der Hilfe würde ich auch nicht > immer glauben schenken...die werden nicht immer geupdatet... Die sind automatisch generiert und damit genauer als jegliche Kaffeesatzleserei.
Jörg W. schrieb: > AVR Toolchain 3.5 ist etwas, was sich Atmel mehr oder minder selbst > zurecht patcht, weil sie seit Jahr und Tag nicht hinterherkommen, > ihre Updates mal beim GCC einzutüten. Kannst du nicht mal eine Toolchain "zurecht patchen"? Mit dem aktuellen GCC und der aktuellen LibC und alles was sonst noch so dazu gehört?
Es hat schon einen Grund wieso Atmel die Toolchain selber pflegt... Mein Fehler..hab übersehen, dass du nichts offizielles benutzt ;)
Das avr gcc Ubuntu repository ist nicht offiziell? ;-) Ich finde da hat Jörg schon Recht. Bevor Atmel da seine eigenen Toolchains bastelt, sollen sie doch besser mal ihre Änderungen in die offiziellen Toolchains einbinden. Und das liegt nun mal bei GNU.org Gruß Andreas
Ingo L. schrieb: > Kannst du nicht mal eine Toolchain "zurecht patchen"? Du kannst dir die Atmel-Patches runterziehen und das selbst bauen. Wenn mich nicht alles täuscht, postet „Bingo600“ dafür auf AVRfreaks immer mal wieder einen Buildscript, der das alles automatisiert. Ich selbst komme erstens kaum nach, meine „offiziellen“ Arbeiten durchzuziehen (habe es gerade eben endlich mal geschafft, einen Release von AVRDUDE rauszuschieben, avr-libc steht immer noch aus), zweitens mag ich dieses Vor-sich-hin-Gewurschtel von Atmel nicht noch weiter unterstützen. Die sollen bitteschön ihre Änderungen in die Projekte zurück pflegen, statt sich einen Wust von privaten Hacks aufzustapeln. TestX schrieb: > Es hat schon einen Grund wieso Atmel die Toolchain selber pflegt... Pflegen? Sie pfuschen sich einen Berg Patches zurecht. „Pflege“ wäre dafür eine deutliche Übertreibung. Am Ende verplempern sie wohl einen Haufen Zeit dafür, den jeweiligen Änderungen im GCC-Tree mit ihren eigenen Patches hinterherzulaufen. (Hab' sowas mal für meine FreeBSD-Ports des AVR-GCC gemacht, ich weiß aus eigener Erfahrung, wieviel Zeit man da hinein versenken kann.) Ist übrigens nicht so, dass da nur ein paar Erweiterungen für neue Devices drin sind, sondern teils auch recht halbgare Sachen wie die nie zu Ende implementierte Geschichte für die kleinen Tinys. > Mein Fehler..hab übersehen, dass du nichts offizielles benutzt ;) Im Gegenteil: er benutzt etwas offizielles, nämlich den offiziellen Sourcecode des GCC.
Jörg W. schrieb: > Du kannst dir die Atmel-Patches runterziehen und das selbst bauen. Wenn ich Unix-Benutzer wäre dann schon :(
Andreas B. schrieb: > wie die Titelzeile schon sagt, kennt der AVR-GCC 4.8.1 den tiny841 > nicht. Hm, den hab ich auch und bei mir kennt er den tiny841… Aber wäre es dir nicht möglich einen aktuelleren GCC zu benutzen?
Ingo L. schrieb: > Wenn ich Unix-Benutzer wäre dann schon :( Sorry, für Windows habe ich auch keine Idee, wie man das alles zusammefummelt. Aber für Windows kannst du doch problemlos die Atmel-Toolchain nehmen.
Jörg W. schrieb: > Aber für Windows kannst du doch problemlos die Atmel-Toolchain nehmen Ja, aber die is halt nie auf dem Stand der Dinge, leider... GCC 4.9.2 statt nem GCC 5.2 LibC 1.8.0 statt 1.8.1 die du mir damals freundlicher Weise kompiliert hast
:
Bearbeitet durch User
Ingo L. schrieb: > Ja, aber die is halt nie auf dem Stand der Dinge, leider... aber er kann den tiny841 nutzen, was hilft einen C++11 wenn sein Atmel nicht unterstützt wird.
Peter II schrieb: > aber er kann den tiny841 nutzen, was hilft einen C++11 wenn sein Atmel > nicht unterstützt wird. In der Tat
Peter II schrieb: > Ingo L. schrieb: >> Ja, aber die is halt nie auf dem Stand der Dinge, leider... > > aber er kann den tiny841 nutzen, was hilft einen C++11 wenn sein Atmel > nicht unterstützt wird. Das hilft mir aber auch nicht, weil ich kein Windows habe. ;-) Gruß Andreas
Das Patch, das den ATtiny841 zufügt, hat Denis 2014-06-03 eingespielt: http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=211189 d.h. das Device ist ab GCC 4.9.1 (2014-07-16) bekannt. Jörg W. schrieb: > [...] > zweitens mag ich dieses Vor-sich-hin-Gewurschtel von Atmel nicht > noch weiter unterstützen. Die sollen bitteschön ihre Änderungen in > die Projekte zurück pflegen, statt sich einen Wust von privaten Hacks > aufzustapeln. Naja, die letzte größere Änderung, die Atmel abgelassen hat, war nicht sonderlich ... höflich: Einfach was total Ungares einpflegen und sich dann nicht mehr drum kümmern. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65296 Der Rattenschwanz an Reparaturen, den das erforderte (z.B. für LTO oder Pfaden mit " "), war weit mehr Arbeit als die ursprüngliche Änderung. Besonders nett: das ganze beschränkte sich nicht nur auf GCC, sondern erforderte auch Änderungen am Build-System der avr-libc. > TestX schrieb: >> Es hat schon einen Grund wieso Atmel die Toolchain selber pflegt... > > Pflegen? > > Sie pfuschen sich einen Berg Patches zurecht. „Pflege“ wäre dafür > eine deutliche Übertreibung. Am Ende verplempern sie wohl einen > Haufen Zeit dafür, den jeweiligen Änderungen im GCC-Tree mit ihren > eigenen Patches hinterherzulaufen. Bei der letzten Änderung (diesen komischen Attributen, wo niemand weiß, wozu die taugen sollen) hat's keine 2 Minuten gedauert und ich hatte nen SegFault provoziert. Einfach nur peinlich das.
Zitat Compiling: AudioSwitcher.c avr-gcc -c -mmcu=attiny481 -I. -g -Os -funsigned-char Jetzt schau dir mal ganz genza die attinyxxx bezeichnung an, in der Fehlermeldung war das auch schon so: Zeichendreher !!!! 841 nicht 481 nur so als gedankespiel ...
Johann L. schrieb: > d.h. das Device ist ab GCC 4.9.1 (2014-07-16) bekannt. Hm, ich hab den AVR-GCC 4.8.1 und bei mir ist der ATTiny841 auch schon bekannt. juhu schrieb: > nur so als gedankespiel ... Nur mal so als Gedankenspiel: Lies dir mal den Thread durch. Meinst du darauf kam noch keiner? ;)
:
Bearbeitet durch User
Michael K. schrieb: > Johann L. schrieb: >> d.h. das Device ist ab GCC 4.9.1 (2014-07-16) bekannt. > > Hm, ich hab den AVR-GCC 4.8.1 und bei mir ist der ATTiny841 auch schon > bekannt. Dann hast du eine gepatchte Version oder verwendest nicht die offizielle Version. Hier das entsprechende Modul im GCC 4.8-Zweig: http://gcc.gnu.org/viewcvs/gcc/branches/gcc-4_8-branch/gcc/config/avr/avr-mcus.def?content-type=text%2Fplain&view=co
Ich verwende die Toolchain Crosspack, und jetzt da du es sagst hab ich mal geschaut und tatsächlich, da wird eine gepatchte GCC-version benutzt. Das war mir nicht bewusst.
:
Bearbeitet durch User
Schreib avr-gcc --target-help Und alle unterstutzte Mcu nahme vird gelistet zB. Known MCU names: avr1 avr2 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avrxmega1 avrxmega2 avrxmega3 avrxmega4 avrxmega5 avrxmega6 avrxmega7 avrtiny at90s1200 attiny11 attiny12 attiny15 attiny28 at90s2313 at90s2323 at90s2333 at90s2343 attiny22 attiny26 at90s4414 at90s4433 at90s4434 at90s8515 at90c8534 at90s8535 ata5272 attiny13 attiny13a attiny2313 attiny2313a attiny24 attiny24a attiny4313 attiny44 attiny44a attiny84 attiny84a attiny25 attiny45 attiny85 attiny261 attiny261a attiny461 attiny461a attiny861 attiny861a attiny87 attiny43u attiny48 attiny88 attiny828 at86rf401 at43usb355 at76c711 atmega103 at43usb320 attiny167 at90usb82 at90usb162 ata5505 atmega8u2 atmega16u2 atmega32u2 attiny1634 atmega8 atmega8a ata6285 ata6286 ata6289 atmega48 atmega48a atmega48pa atmega48p atmega88 atmega88a atmega88p atmega88pa atmega8515 atmega8535 atmega8hva at90pwm1 at90pwm2 at90pwm2b at90pwm3 at90pwm3b at90pwm81 at90pwm161 ata5790 ata5795 atmega16 atmega16a atmega161 atmega162 atmega163 atmega164a atmega164p atmega164pa atmega165 atmega165a atmega165p atmega165pa atmega168 atmega168a atmega168p atmega168pa atmega169 atmega169a atmega169p atmega169pa atmega32 atmega32a atmega323 atmega324a atmega324p atmega324pa atmega325 atmega325a atmega325p atmega325pa atmega3250 atmega3250a atmega3250p atmega3250pa atmega328 atmega328p atmega329 atmega329a atmega329p atmega329pa atmega3290 atmega3290a atmega3290p atmega3290pa atmega406 atmega64rfr2 atmega644rfr2 atmega64 atmega64a atmega640 atmega644 atmega644a atmega644p atmega644pa atmega645 atmega645a atmega645p atmega649 atmega649a atmega649p atmega6450 atmega6450a atmega6450p atmega6490 atmega6490a atmega6490p atmega64rfr2 atmega644rfr2 atmega16hva atmega16hva2 atmega16hvb atmega16hvbrevb atmega32hvb atmega32hvbrevb atmega64hve at90can32 at90can64 at90pwm161 at90pwm216 at90pwm316 atmega32c1 atmega64c1 atmega16m1 atmega32m1 atmega64m1 atmega16u4 atmega32u4 atmega32u6 at90usb646 at90usb647 at90scr100 at94k m3000 atmega128 atmega128a atmega1280 atmega1281 atmega1284 atmega1284p atmega128rfa1 atmega128rfr2 atmega1284rfr2 at90can128 at90usb1286 at90usb1287 atmega2560 atmega2561 atmega256rfr2 atmega2564rfr2 atxmega16a4 atxmega16a4u atxmega16c4 atxmega16d4 atxmega32a4 atxmega32a4u atxmega32c4 atxmega32d4 atxmega32e5 atxmega16e5 atxmega8e5 atxmega32x1 atxmega64a3 atxmega64a3u atxmega64a4u atxmega64b1 atxmega64b3 atxmega64c3 atxmega64d3 atxmega64d4 atxmega64a1 atxmega64a1u atxmega128a3 atxmega128a3u atxmega128b1 atxmega128b3 atxmega128c3 atxmega128d3 atxmega128d4 atxmega192a3 atxmega192a3u atxmega192c3 atxmega192d3 atxmega256a3 atxmega256a3u atxmega256a3b atxmega256a3bu atxmega256c3 atxmega256d3 atxmega384c3 atxmega384d3 atxmega128a1 atxmega128a1u atxmega128a4u attiny4 attiny5 attiny9 attiny10 attiny20 attiny40 Hier von die neue Atmel 3.5.0 Compiler mfg Bingo
:
Bearbeitet durch User
Karsten F. schrieb: > avr-gcc --target-help > > Und alle unterstutzte Mcu nahme vird gelistet > > zB. > > Known MCU names: > avr1 avr2 avr25 avr3 avr31 avr35 ... Und diese Ausgabe ist vom Compiler oder vom Assembler? WIMRE gibt die Hilfe der neueren Compilerversionen nicht mehr aus, was von -mmcu= unterstützt wird. Diese Ausgabe kann man durch ein ungültiges Device provizieren, hier für 5.2:
1 | avr-gcc -mmcu=foo |
2 | avr-gcc: error: cannot access device-specs for 'foo' expected at 'e:/winavr/5.2.1/bin/../lib/gcc/avr/5.2.1/device-specs/specs-foo' |
3 | |
4 | avr-gcc: note: devices natively supported: ata5272 ata5505 ata5702m322 ata5782 ata5790 ata5790n ata5795 ata5831 ata6285 ata6286 ata6289 ata6612c ata6613c ata6614q ata6616c ata6617c ata664251 atmega103 atmega128 atmega128a atmega128rfa1 atmega128rfr2 atmega1280 atmega1281 atmega1284 atmega1284p atmega1284rfr2 atmega16 atmega16a atmega16hva atmega16hva2 atmega16hvb atmega16hvbrevb atmega16m1 atmega16u2 atmega16u4 atmega161 atmega162 atmega163 atmega164a atmega164p atmega164pa atmega165 atmega165a atmega165p atmega165pa atmega168 atmega168a atmega168p atmega168pa atmega169 atmega169a atmega169p atmega169pa atmega256rfr2 atmega2560 atmega2561 atmega2564rfr2 atmega32 atmega32a atmega32c1 atmega32hvb atmega32hvbrevbatmega32m1 atmega32u2 atmega32u4 atmega32u6 atmega323 atmega324a atmega324p atmega324pa atmega325 atmega325a atmega325p atmega325pa atmega3250 atmega3250a atmega3250p atmega3250pa atmega328 atmega328p atmega329 atmega329a atmega329p atmega329pa atmega3290 atmega3290a atmega3290p atmega3290pa atmega406 atmega48 atmega48a atmega48p atmega48pa atmega64 atmega64a atmega64c1 atmega64hve atmega64hve2 atmega64m1 atmega64rfr2 atmega640 atmega644 atmega644a atmega644p atmega644pa atmega644rfr2 atmega645 atmega645a atmega645p atmega6450 atmega6450a atmega6450p atmega649 atmega649a atmega649p atmega6490 atmega6490a atmega6490p atmega8 atmega8a atmega8hva atmega8u2 atmega8515 atmega8535 atmega88 atmega88a atmega88p atmega88pa attiny10 attiny11 attiny12 attiny13 attiny13a attiny15 attiny1634 attiny167 attiny20 attiny22 attiny2313 attiny2313a attiny24 attiny24a attiny25 attiny26 attiny261 attiny261a attiny28 attiny4 attiny40 attiny43u attiny4313 attiny44 attiny44a attiny441 attiny45 attiny461 attiny461a attiny48 attiny5 attiny828 attiny84 attiny84a attiny841 attiny85 attiny861 attiny861a attiny87 attiny88 attiny9 atxmega128a1 atxmega128a1u atxmega128a3 atxmega128a3u atxmega128a4u atxmega128b1 atxmega128b3 atxmega128c3 atxmega128d3 atxmega128d4 atxmega16a4 atxmega16a4u atxmega16c4 atxmega16d4 atxmega16e5 atxmega192a3 atxmega192a3u atxmega192c3 atxmega192d3 atxmega256a3 atxmega256a3b atxmega256a3bu atxmega256a3u atxmega256c3 atxmega256d3 atxmega32a4 atxmega32a4u atxmega32c3 atxmega32c4 atxmega32d3 atxmega32d4 atxmega32e5 atxmega384c3 atxmega384d3 atxmega64a1 atxmega64a1u atxmega64a3 atxmega64a3u atxmega64a4u atxmega64b1 atxmega64b3 atxmega64c3 atxmega64d3 atxmega64d4 atxmega8e5 at43usb320 at43usb355 at76c711 at86rf401 at90can128 at90can32 at90can64 at90c8534 at90pwm1 at90pwm161 at90pwm2 at90pwm2b at90pwm216 at90pwm3 at90pwm3b at90pwm316 at90pwm81 at90scr100 at90s1200 at90s2313 at90s2323 at90s2333 at90s2343 at90s4414 at90s4433 at90s4434 at90s8515 at90s8535 at90usb1286 at90usb1287 at90usb162 at90usb646 at90usb647 at90usb82 at94k m3000 |
5 | |
6 | avr-gcc: note: supported core architectures: avr2 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avrxmega2 avrxmega4 avrxmega5 avrxmega6 avrxmega7 avrtiny avr1 |
7 | |
8 | avr-gcc: note: you can provide your own specs files, see <http://gcc.gnu.org/onlinedocs/gcc/Spec-Files.html> for details |
9 | |
10 | avr-gcc: fatal error: no input files |
11 | compilation terminated. |
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.