[GSoC] How RTEMS, GCC and newlib interact ?

Hesham Moustafa heshamelmatary at gmail.com
Fri Mar 7 22:22:34 UTC 2014

I have some questions about how RTEMS, GCC, newlib interact with each other,
and which parts of them should I care and know about when porting RTEMS
to OpenRISC.

For example, the newlib port for OpenRISC includes some functions that deal with
interrupts, exceptions, writing to SPRs, Caches, MMU, etc [1]. How this should
be used within RTEMS ?

What is the main distinction between code in score/cpu and rtems/libcpu and
which functions to place in either one?
For previous projects I worked on, there were some duplicate code between both.

Also there are some functions within OpenRISC newlib port that implement board
specific functions. How these functions should interact with RTEMS libbsp ?
wrappers maybe ?

How could I identify which function needs to be implemented in RTEMS (and
where), and which to use from newlib/gcc ?

Which parts of GCC/binuitls toolchain I need to know about (other than the
backend and OpenRISC port) and modify to fit with RTEMS ?

[1] http://opencores.org/or1k/Newlib


More information about the devel mailing list