Discussion:
RFA: AVR: add infrastructure for device packages
Joern Rennecke
2014-10-08 17:50:32 UTC
Permalink
As the steering commitee still hasn't spoken on the maintainership issue,
apparently this still has to go the write-after-approval route.

The purpose of this patch is to make it possible to add support for new
devices (MCUs) to the AVR toolchain, without having to re-build the
entire toolchain. This capability is desirable because new MCUs are added
fairly frequently.

There are multiple parts of the toolchain involved.
gcc changes multilibbing to key off the new -march option; the -mmcu option
is translated via DRIVER_SELF_SPECS into a -specs option, and the
individual spec files contain the required settings like -march, and various
more detailed settings (some of which are for new options).

binutils provides new relocation and relaxation facilities to allow referring
symbolically to symbol differences and/or I/O addresses.
avr-libc puts the device-specifc header settings in avr/io*.h, and a few
small device-specific likbale functions into a device-specific library.

The other toolchain parts are staged here:
***@github.com:embecosm/avr-binutils-gdb.git avr-mainline
***@github.com:embecosm/avr-libc.git avr-libc-embecosm-mainline


Attached is the GCC patch for the basic device package infrastructure.
OK to apply?


I intend to send the patch sets for avrtiny support (modified for device
package support) and for libstdc++-v3 support next, each building on the
previous patch set. The avrtiny support is also dependent on the
caller-save patch https://gcc.gnu.org/ml/gcc-patches/2014-10/msg00420.html ,
as avr-libc won't build otherwise.
Denis Chertykov
2014-10-09 08:33:11 UTC
Permalink
Post by Joern Rennecke
As the steering commitee still hasn't spoken on the maintainership issue,
apparently this still has to go the write-after-approval route.
The purpose of this patch is to make it possible to add support for new
devices (MCUs) to the AVR toolchain, without having to re-build the
entire toolchain. This capability is desirable because new MCUs are added
fairly frequently.
There are multiple parts of the toolchain involved.
gcc changes multilibbing to key off the new -march option; the -mmcu option
is translated via DRIVER_SELF_SPECS into a -specs option, and the
individual spec files contain the required settings like -march, and various
more detailed settings (some of which are for new options).
binutils provides new relocation and relaxation facilities to allow referring
symbolically to symbol differences and/or I/O addresses.
avr-libc puts the device-specifc header settings in avr/io*.h, and a few
small device-specific likbale functions into a device-specific library.
Attached is the GCC patch for the basic device package infrastructure.
OK to apply?
Please, apply.

Denis.

Loading...