Version 3 (modified by Hesham, on Jul 26, 2014 at 7:29:04 AM) (diff)

/* tool-chain */

OpenRISC Port

Mentors: Ben Gras, Chris Johns, Christian Svensson

Students: Hesham ALMatary

Status: The project has just started. It's currently in design phase.

Introduction: The project aims to port RTEMS to OpenRISC architecture.

Goal: The overall goal of the project is to have a long-term reliable port of RTEMS to OpenRISC. This requires working on three different sub-tasks: tool-chain, RTEMS cpukit, and BSP(s).

  • tool-chain: Basic tools needed to compile and build RTEMS for or1k.
  • RTEMS/cpukit: Common OpenRISC architecture code that all or1k targets share.
  • BSP(s): The front-end interface for OpenRISC architecture including drivers like: UART, Timer, and/or IRQ.

File:OpenRISC Port Project.jpg?


Currently, or1k folks are working on submitting their tool-chain upstream, binutils has already been merged. When this project reaches a stable state, the code for building the tool-chain for RTEMS should be upstream too (after or1k code has been merged). Meanwhile, all the work in this area is some sort of patches that can referenced from RSB.

  • binutils: By now, binutils support for or1k architecture is now upstreamed to cvs.
  • newlib: setjmp/longjmp have been provided along with all other necessary configurations and/or code to build gcc/newlib for RTEMS. newlib work is now upstreamed to cvs without any libgloss stuff. In the future, or1k folks may add to/modify this code when they push their work to cvs.
  • GCC: it's now building with newlib and able to compile all RTEMS code for or1k targets. We and OpenRISC folks are working to push the code soon to GCC upstream.
  • GDB: For GDB, it's now able to debug any or1k/RTEMS code by connecting it remotely to or1ksim emulator.
  • or1ksim: It's able to running test cases and used for debugging purposes along with GDB. There is a configuration script that must be provided though that describes the architecture specifications and supported devices.





Requirements: Developers who wish to contribute to this project should have a fair knowledge with C programming, OpenRISC architecture, and/or GNU tool-chain internals.

Howto TBD

Tasks TBD


[1] or1k page at

[2] or1k repositories at github

[3] Hesham ALMatary repositories at github

Acknowledgements TBD

Miscellaneous Sections


or1k: OpenRISC 1000 architecture.

RSB: RTEMS Source Builder.


  • TBD