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

Reply via email to