|
From: | Georg-Johann Lay |
Subject: | Re: [avr-gcc-list] AVR Group Definitions |
Date: | Wed, 23 Mar 2011 20:14:19 +0100 |
User-agent: | Mozilla Thunderbird 1.0.7 (Windows/20050923) |
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
[Prev in Thread] | Current Thread | [Next in Thread] |