Version 2 (modified by Hesham, on 04/30/14 at 02:26:57) (diff)

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 is ported to RTEMS, but not yet upstream.
  • newlib: A new newlib port (other than or1k port) is in progress. It simply supports setjmp, longjmp, and other necessary configurations.
  • gcc: gcc is ported and builds fine with the previous newlib port.
  • gdb: TBD
  • or1k-sim: TBD





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