Thomas D. Dean schrieb:
I have a group of .S files, library avrx2.6. I want to make a version
of this library for each AVR group and install them in avr/lib/avrn, as
appropriate.
If I use 'make MCU=?????', I get a list, including avr1, avr5, etc, as
well as the known types like atmega128, etc.
If I use 'make MCU=atmega128', I see no errors.
If I use 'make MCU=avr5', things like _SFR_IO_ADDR() are not defined.
Should this work?
No. -mmcu=avr* arranges for different instruction sets like have/have
not MOVW. SFR locations are more fine grained than avr*. The
_SFR_IO_ADDR and I/O locations themselves are defined on a µC basis as
Macros, which means you cannot put code like, e.g. UART stuff, in a lib
that is just grained as avr* and suppose it to work for all µCs covered
by respective avr*. There are no RELOCs for I/O locations.
Each lib (libgcc, avr-libc) is compiled in various flavours of avr*. To
see the multilib-directory give -print-multi-directory on the command
line. For example, -mmcu=atmega8 triggers avr4.
Johann
_______________________________________________
AVR-GCC-list mailing list
AVR-GCC-list@nongnu.org
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list