newlib with avr-libc support

Ralf Corsepius
Tue Jun 2 13:46:00 GMT 2009

Joel Sherrill wrote:
> Ralf Corsepius wrote:
>> wrote:
>>> Hello,
>>> I am working as a gsoc student on porting rtems to the atmega128.
>>> I am having some trouble adding the .h files from avr-libc to newlib.
>>> the end result I would like is to have two directories in the newlib 
>>> include path with the avr specific .h file in them so that when the 
>>> files are included in the code they would be included in the same 
>>> way as would be done with avr-libc
>>> ie. #include <avr/interrupts.h>
>>> this is my first time attempting something like this and all the 
>>> help and patience is greatly appreciated.
>> Generally speaking, you seem to be putting "the horse before the 
>> cart", i.e. you seem to approaching the problem from the wrong end.
>> In RTEMS, stuff like interrupts etc. belong into RTEMS, not into newlib.
> Ralf, the .h files he is merging include all the CPU model
> ifdef's and IO register names and bit definitions.  avr-libc
> provides them and you need them to write device drivers,
=> device drivers == RTEMS
> bring their setjmp/longjmp over and to write the RTEMS
> context switch and interrupt vectoring code.
setjmp/longjmp are supposed to be machine independent and in newlib.

> The problem he is having is that we need machine/avr/include/XXX
> to get picked up and installed where XXX is a non-standard
> directory.  sys/linux does this but it looks like the method has
> changed since I last looked at it.
sys/linux is a hack


More information about the Newlib mailing list