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.
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.
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.