Home | Architecture | OpenRISC 1200 | GNU Toolchain | Or1ksim | Linux | uClinux | RTEMS |ATS |
Introduction
The aim of this project is to port and maintain GCC, GNU Binutils, Newlib and the GDB to the OpenRISC 1000 family.
GCC is a GNU Compiler Collection that includes the ANSI C Compiler, C++, Java, Fortran and other compilers. All compilers produce excellent code and are often used in commercial products. GCC is free software with full source code available.
The GNU Binutils are a collection of binary tools. The main ones are:
Newlib is a C library intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products.
GDB, the GNU Project debugger, can do four main kinds of things (plus other things in support of these) to help you catch bugs in the act:
Status
Download
Source code for current development tarball of the OpenRISC GCC port is available from the OpenCores CVS under the module hierarchy or1k/gcc. You can also get it directly by using the CVSget.
Source code for current development tarball of the OpenRISC Newlib port is available from the OpenCores CVS under the module hierarchy or1k/newlib. You can also get it directly by using the CVSget.
Source code for current development tarball of the OpenRISC GNU Binutils port is available from the OpenCores CVS under the module hierarchy or1k/binutils. You can also get it directly by using the CVSget.
Source code for current development tarball of the OpenRISC GDB port is available from the OpenCores CVS under the module hierarchy or1k/gdb. You can also get it directly by using the CVSget.
At this point no binaries for the OpenRISC are available due to development status of the GNU Toolchain. However building the GNU Toolchain should be rather straightforward.
Installation
Regular GNU Toolchain building is tested only under RedHat 7.0 GNU/Linux. The procedure to build and install the GNU Binutils, Newlib and GCC is the following:
First step is optional - you need to have recent source subdirectories ready (for example downloaded as tarballs). If you don't have them, get them from the OpenCores CVS by following Download procedure or by using local cvs. The checkout process might take a while.
cvs -d :pserver:cvs@cvs.opencores.org:/home/oc/cvs -z9 co or1k/binutils cvs -d :pserver:cvs@cvs.opencores.org:/home/oc/cvs -z9 co or1k/newlib cvs -d :pserver:cvs@cvs.opencores.org:/home/oc/cvs -z9 co or1k/gcc cd or1k
It is very important to follow the proper order of building and installing the tools. First build and install the GNU Binutils.
mkdir b-b cd b-b ../binutils/configure --target=or32-rtems --prefix=/opt/or32-rtems && make all install export PATH=/opt/or32-rtems/bin:$PATH cd ..
Now build and install Newlib and GCC.
cd gcc ./contrib/egcs_update --touch ln -s ../newlib/newlib . cd .. mkdir b-gcc cd b-gcc ../gcc/configure --target=or32-rtems \ --with-gnu-as --with-gnu-ld --with-newlib --verbose \ --enable-threads --prefix=/opt/or32-rtems --enable-languages="c" && \ make all install
Instructions how to build and install the GDB will be provided in the future.
Documentation
See online documentation at the following sites:
Wish List (TODO List)
This is what we would like to develop/see developed but presently nobody is working on these projects. If you want to help, send an email to the mailing list.
Additional Software Development Tools
We are currently testing Source Navigator and GDB Graphical User Interface Insight. So far they both appear to work fine.
Past Contributor(s)
These are the people currently not working on the GNU Toolchain, but have contributed in the past:
Developer(s)
The team working on the GNU Toolchain port:
Mailing list / Discussion Forum
To participate in the development or simply to discuss GNU Toolchain issues and to report bugs, go to the openrisc mailing list. To subscribe to the list, follow mailing list subscribe instructions.
Page Maintainer(s)
This web page is maintained by Marko Mlinar and Damjan Lampret.