Hallo, ich versuche gerade unter Linux die "neuen" ATtiny zu programmieren. Ein ATmega32 klappt, aber AVR-GCC findet den 817 nicht. Hiermit compiliere ich: avr-gcc -g -Os -mmcu=attiny817 -c main.c Version des avr-gcc ist 7.2.0 Ich hoffe Ihr könnt mir helfen.
1 | avrxmega3 |
2 | |
3 | “XMEGA” devices with up to 64 KiB of combined program memory and RAM, and with program memory visible in the RAM address space. |
4 | mcu = attiny1614, attiny1616, attiny1617, attiny212, attiny214, attiny3214, attiny3216, attiny3217, attiny412, attiny414, attiny416, attiny417, attiny814, attiny816, attiny817. |
Können die Controller Programme im RAM ausführen?
AVR schrieb im Beitrag #5194306: > Hallo, > > ich versuche gerade unter Linux die "neuen" ATtiny zu programmieren. Ein > ATmega32 klappt, aber AVR-GCC findet den 817 nicht. Hiermit compiliere > ich: > > avr-gcc -g -Os -mmcu=attiny817 -c main.c > > Version des avr-gcc ist 7.2.0 > > Ich hoffe Ihr könnt mir helfen. In der AVRlibc wird der nicht unterstützt, von Compiler offenbar auch noch nicht. Edit: GCC kann's “XMEGA” devices with up to 64 KiB of combined program memory and RAM, and with program memory visible in the RAM address space. mcu = attiny1614, attiny1616, attiny1617, attiny212, attiny214, attiny3214, attiny3216, attiny3217, attiny412, attiny414, attiny416, attiny417, attiny814, attiny816, attiny817.
:
Bearbeitet durch User
Carl D. schrieb: > In der AVRlibc wird der nicht unterstützt, von Compiler offenbar auch > noch nicht. Hier steht das Gegenteil: Beitrag "Attiny417/814/816/817 und avr-gcc, avr-libc"
Georg G. schrieb: > Carl D. schrieb: >> In der AVRlibc wird der nicht unterstützt, von Compiler offenbar auch >> noch nicht. > > Hier steht das Gegenteil: Beitrag "Attiny417/814/816/817 und avr-gcc, avr-libc" Avr-GCC hat den oben ergänzten Parameter, <avr/io.h> kennt den Chip nicht. Aber da haben wir hier ja Jörg W., der kann da helfen ;-)
Carl D. schrieb: > <avr/io.h> kennt den Chip nicht. Das Einpflegen der io-Headers haben immer die Jungs von Atme^H^H^H^HMicrochip getan.
Jörg W. schrieb: > Carl D. schrieb: >> <avr/io.h> kennt den Chip nicht. > > Das Einpflegen der io-Headers haben immer die Jungs von > Atme^H^H^H^HMicrochip getan. Offenbar (noch) nicht immer ;-)
Falls sie so ein Headerfile mit Atmel Studio ausliefern und dieses das übliche (BSD-like) Copyright hat, kann ich das natürlich auch extern da einchecken.
Jörg W. schrieb: > Falls sie so ein Headerfile mit Atmel Studio ausliefern und dieses > das übliche (BSD-like) Copyright hat, kann ich das natürlich auch > extern da einchecken. Bei Atmel/μChip stehen als supported devices nur die aus der "offiziellen" Source, d.h. sie haben keine Extrawurst gebaut.
In Stock-GCC wurde avrxmega 3 für v8 hinzugefügt. Wenn man v7.2 verwendet, dann bitte die Doku zu v7.2 lesen, nicht die von v8. v7.2: https://gcc.gnu.org/onlinedocs/gcc-7.2.0/gcc/AVR-Options.html Current Development: https://gcc.gnu.org/onlinedocs/gcc/AVR-Options.html -mmcu=avrxmega3 und -mshort-calls werden von avr-libc unterstützt, Device-Support (Headers, Startup-Code bis dato m.W. nicht). Wenn man diesen Support will, muss man die Header / crt*.o selbst beisteuern. Der Support in < v8 erfordert zusätzlich ein entsprechendes Specs-File, das die Optionen und trallala beschreibt. Als Familie geht avrxmega2, besser (avrxmega3) geht's erst ab v8. Wenn die Devices von Atmel GCC untestützt werden, siehe deren Release-Notes.
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.