|
OpenRISC 1000: NEW GNU Toolchain Port
Introduction
This project is to port and maintain GCC, GNU Binutils, uClibc, Busybox, Linux, GDB for the OpenRISC 1000 family (OR1200 processor). 
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.
GNU Binutils are a collection of binary tools. The main ones are: - ld - the GNU linker.
- as - the GNU assembler.
uClibc is a C library for developing embedded Linux systems.
BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc.
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: - Start your program, specifying anything that might affect its behavior.
- Make your program stop on specified conditions.
- Examine what has happened, when your program has stopped.
- Change things in your program, so you can experiment with correcting the effects of one bug and go on to learn about another.
Status
In order to make it easier to install all necessary tools for the OR1200, a script has been created to install the whole toolchain. The following versions are included in the toolchain:
- GCC-4.2.2
- uClibc-0.9.29
- Busybox-1.7.5
- Linux-2.6.19
- or1ksim-0.2.0rc2 (OpenRISC 1000 architecture simulator)
We have kept the old "toolchain"-website as a reference for now, here is a link to the "old" version. Old version
If you would like to help with the development, please contact the developers.
Download
The installation script can be downloaded here Please note that provided binaries have not been extensively tested.
Installation
This toolchain script has been tested under Debian "Lenny" "Etch" x86, Debian "Lenny" PPC, Ubuntu Linux, and Red Hat Enterprise Linux AS release 4 (Nahant Update 4),
OpenSUSE 10.2 & 11.0 Please let us know if you have success with another package. The procedure to build and install the toolchain is the following: You need to install the following packages in order to be able to build the toolchain: sudo apt-get update
sudo apt-get -y install build-essential
sudo apt-get -y install make
sudo apt-get -y install gcc
sudo apt-get -y install g++
sudo apt-get -y install flex
sudo apt-get -y install bison
sudo apt-get -y install patch
sudo apt-get -y install texinfo
sudo apt-get -y install libncurses-dev Download the script and place it in a suitable location. Start the script as root (sudo sh MOF_ORSOC_TCHN_v3b.sh) Then you can take a coffee break............
GNU Debugger
GDB 6.8 has now been ported to the OpenRISC 1000 architecture. A source code patch for the standard GDB 6.8 distribution is available in the OpenRISC 1000 Downloads section here. Note. This version of GDB 6.8 requires modifications to the OpenRISC 1000 Archtiectural Simulator, Or1ksim. A patch suitable for the stable 0.2.0 release of Or1ksim is available in the Downloads section here. To date this release has only been tested on the architectural simulator, Or1ksim. Feedback from users on experience with actual hardware (via the tracker) will be appreciated. Details of the internal workings of the GDB 6.8 port for OpenRISC 1000 can be found in the application note Howto: Porting the GNU Debugger: Practical Experience with the OpenRISC 1000 Architecture published by Embecosm.
Documentation
See online documentation at the following sites:
Tutorial how to use OR1200, JTAG development i/f and gdb to connect to openrisc HW target. Credits go to Resarch Group Digital Techniques, Hogeschool voor Wetenschap & Kunst, Campus de Nayer. Note. These tutorials are based on the GDB 5.0 port for OpenRISC 1000 and the OpenRISC 1000 specification at that time. Since then the OpenRISC 1000 has changed slightly and the GDB 6.8 port for OpenRISC 1000 is very different. The papers should be used as guidance to the general approach, but the specific instructions may be incorrect (particularly regarding GDB).
Application note explaining how to install the individual tools, Linux and uClibc in the OpenRISC 1000 ToolChain from Embecosm: The OpenCores OpenRISC 1000 Simulator and Tool Chain: Installation Guide. This is the process automated in the script described above.
Wishlist
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. - Port of the toolchain to 64-bit part of OpenRISC 1000
- Write optimized versions of routines in Newlib instead of using generic ones
- Test the tools on non-Linux platforms (various UNIX and Cygwin)
- Test GDB on real hardware
If you have a suggestion for new Wish List entry, feel free to send it to the mailing list so that is added to the list and somebody may start working on it.
Additional Software Develpment Tools
We are currently testing Source Navigator and GDB Graphical User Interface DDD and 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:
Developers
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 Maintainers
This web page is maintained by Rich D'Addio, Marcus Erlandsson, Jeremy Bennett.
|