OpenRISC Basics
OpenRISC Basics
Project Overview
Welcome to the project overview of the OpenRISC project. The major goal of the
project it to create a free and open processor for embedded systems. This
includes:
a free and open RISC instruction set architecture with DSP features
a set of free, open source implementations of the architecture
a complete set of free, open source software development tools, libraries,
operating systems and applications
a variety of system-on-chip and system simulators
The project is driven by a very active community and has a long history. This
unfortunately lead to scattered and partly outdated information. The goal of this
page is to provide an overview over active parts of the project and the current
development to ease the entry for newcomers or people seeking basic
information. The information is collected from the following sites where you can
find more information (which can be partly outdated):
The OpenRISC pages at opencores.org
The github projects
Quick start
Applications
Cross compiling applications to your OpenRISC embedded target and packaging
them up into a root filesystem image could be tedious. There are a few options to
smooth the process:
Buildroot has support for building applications using the uClibc-ng toolchain.
OpenADK from the maintainers of uClibc-ng has support for building using
both uClibc-ng and musl toolchains.
Latest news
19 Feb 2022 » OpenRISC support added to GLIBC 2.35
(Stafford Horne) We would like to announce that GLIBC 2.35 released in
February 2022 has support for OpenRISC. Read more about GLIBC
toolchain support support over on our software page. .. more
28 May 2021 » Google Summer of Code 2021
(Stafford Horne) The Google Summer of Code is a yearly event which teams
open source projects with college students. Students learn about technology
and the open source community and projects benefit from new contributions.
As in previous years this year OpenRISC is participating as part of the FOSSi
foundation project. This year..... more
04 Jun 2019 » Announcing Architecture Version 1.3
(Stafford Horne) It has been been a few years since the release of
OpenRISC version 1.2. But, it’s been a busy few years of getting GDB and
GCC ports upstream. Now with the GCC port upstream we are able to make
progress and this new architecture revision does just that bringing in..... more
27 May 2019 » Google Summer of Code 2019
(Stafford Horne) The Google Summer of Code is a yearly event which teams
open source projects with college students. Students learn about technology
and the open source community and projects benefit from new contributions.
As in previous years this year OpenRISC is participating as part of the FOSSi
foundation project. We have..... more
09 Nov 2018 » GCC Upstream for 9.0.0
(Stafford Horne) We are proud to announce that the OpenRISC port for gcc
has been committed to upstream. Mainline OpenRISC support will be
available in the upcoming 9.0.0 release of GCC. Note, this has been a clean
room rewrite of the OpenRISC gcc port. The old port can still be found
in..... more
Hardware Implementations
The hardware implementations are full processor implementations written in
an Hardware Description Language. Such a description is either the input to a
hardware synthesis, such as for an ASIC or an FPGA, or for an RTL simulation.
Nevertheless, the processor cores are for themselves not running on their own,
but are complex IP blocks that at least need a clock and reset signal and some
memories connected to them. You can use one of the popular system-on-chip to
try out the processor cores.
OR1200
OR1200 is the original implementation of the OpenRISC 1000 architecture.
The source code can be found on github at openrisc/or1200.
mor1kx
The mor1kx is pretty much a drop in replacement for the original or1200
processor but it has its advantages.
In 2014 the author, Julius Baxter, gave the following presentation about mor1kx
which goes into detail about the motivation for the processor rewrite and
architecture.
The source code can be found on github at openrisc/mor1kx
To build a system with mor1kx have a look at the some of the
hardware tutorials or have a look at some of the systems available in orpsoc-
cores which can be built with FuseSoC.
marocchino
The marocchino OpenRISC implementation also has the advanced features of
the mor1kx. The marocchino then expands on this with more advanced features:
System Simulators
or1ksim
Or1ksim is a generic OpenRISC 1000 architecture simulator capable of
emulating OpenRISC based computer systems at the instruction level. It includes
models of a range of peripherals, allowing complete systems to be modeled.
Links
qemu
QEMU is a cpu emulator that supports many cpu targets. OpenRISC has been
supported since version 1.2.
Links