AT91RM9200 and RTEMS

Joel Sherrill joel.sherrill at
Wed Apr 28 19:30:13 UTC 2004

Jay Monkman wrote:
> On Wed, Apr 28, 2004 at 01:48:23PM +0200, Ole Hansen wrote:
>>The ARM920T - core used in AT91RM9200 seems to have 2 instruction-sets.
>>Which one is used to build RTEMS/compile application for RTEMS ?????
> The ARM support in RTEMS doesn't work with the thumb instruction
> set. So, unless you want to add thumb support, you'll have to use the
> ARM instruction set. Thumb is really only useful if you have tight
> memory requirements or a narrow memory bus.

RTEMS already builds the C library for thumb so it should mainly be a
matter of providing alternate versions of the assembly language.
Primarily this should focus on cpu_asm.S and
libbsp/arm/shared/irq/irq_asm.S. It loosk to be about 300 lines
of assembly counting all comment lines and blanks.

>>Anybody know the performance difference running from 32-bit SDRAM or 16-bit SRAM ???
> It depends on the clock rates of the busses, SDRAM latency, and your
> application. Calculate the bandwidth of each configuration an you'll
> have most of your answer. A 16 bit SRAM at 200 MHz will be faster than
> a 32 bit SDRAM at 60 MHz.

Jay is right that the difference is all going to be a function
of your bus.  But my impression is that it is useful for 16 bit
bus ARM devices which have limited memory.  I don't know that
Thumb saves you THAT much code space though.

> I have an AT91RM9200 BSP (for the Cogent CSB337) that will hopefully
> get into the RTEMS development branch soon. You can get an older
> version of the source at (It's based
> on a 4.6.0 prerelease.)

And Jay has already begun to submit ARM updates for the development


More information about the users mailing list