RTEMS 4.6 and tools

Ralf Corsepius corsepiu at faw.uni-ulm.de
Mon Jan 19 09:42:00 UTC 2004


On Mon, 2004-01-19 at 09:49, Thomas Rauscher wrote:
>  
> > -----Original Message-----
> > From: Steven Johnson [mailto:sjohnson at neurizon.net] 
> > Sent: Monday, January 19, 2004 8:56 AM
> > To: rtems-users at rtems.com
> > Subject: RTEMS 4.6 and tools
> > 
> > Hi,
> > 
> > Im trying to use RTEMS 4.6 currently with a target that will 
> > run ARM and Thumb 
> > code. This requires thumb-interworking.  Unfortunaltey the 
> > libraries and gcc for 
> > rtmes as built are not enabled for arm-thumb interworking.
> > 
> > Is it possible, before release to have the tools rebuilt for arm with 
> > --enable-interworking option, which will build all the 
> > multilib libraries that 
> > will allow arm and thumb code to co-exist.  As it stands, the 
> > thumb libraries 
> > are unusable because memcpy is an arm function in the thumb 
> > library, and cant be 
> > linked to from thumb code.
> > 
> > Im going to re-build the tools at my end, I just thought i 
> > would mention it so 
> > that if the tools were going to be re-built in the future the 
> > --enable-interworking option could be added to the arm target.
> > 
> 
> The best way (AFAIK) is to edit gcc/config/t-arm-elf in gcc's source
> and comment in the required multilib options (e.g big/litte endian
> arm/thumb, non-interwork/interwork).
That's a hack.

A proper way is to extend the corresponding rtems files, I had mentioned
in my other posting (They had not been present when 4.5.0 was current).

> This way, you get all useful combinations for libgcc.a and newlib.
> 
> memcpy.S however really needs to be patched (for interworking code
> as well as big-endian code). I'm just testing the 
> neccessary changes.
It would be nice to have the corresponding patches.

> > BTW, has anyone tried building rtems on a arm-thumb target 
> > before?  I know the 
> > assembly that has to change (in RTEMS) to eliminate the 
> > inline ARM code, but are 
> > there any other gotchas I should be aware of.
> > 
> 
> Our company uses RTEMS 4.5 in ARM and THUMB code with enabled 
> interworking.
> 
> Unfortunately our ARM CPU support has been developed in parallel 
> to the official one and is quite different.
Nevertheless, it would be nice to get the sources and have them
integrated into the official source-tree.

> However, I'd really like to have them in sync. Can anyone
> give me some contact addresses of the ARM maintainer(s)?
There is no formal arm-RTEMS maintainer. The arm-port is part of the
RTEMS source-tree and is maintained by the RTEMS-maintainers.

> Maybe there is a way to merge both CPU kits.
It'll probably require some work, but I would not expect this to be too difficult.

All that would be required is your gcc/newlib patches and the sources of
your additions to RTEMS + At least one BSP

I would recommend you to submit/release them as "change-request" through
RTEMS GNATS (cf. http://www.rtems.com). Interested parties (Probably me
;) ) can pick them up and integrate them into the official sources.

Ralf






More information about the users mailing list