Services - tools - models - for embedded software development
Embecosm divider strip
Prev  Next

3.7.1.  Generating the Or1ksim Source

Download clean versions of the distribution and the patch file for OpenRISC 1000 from the locations given in Section 2.3. Choose either the development version (0.3.0rc2, recommended) or the old stable version (0.2.0).

[Important]Important

Ensure the version number (0.3.0rc2 for the development version or 0.2.0 for the stable version) is exactly the same. Note in particular that the release candidate versions of version 0.2.0 (0.2.0rc1, 0.2.0rc2 and 0.2.0rc3) are not suitable.

Unpack the downloaded source code. If using the stable version (0.2.0) apply the patch file (See Section 3.1.1 for an example of how to apply a patch file.). No patching is required for the development version (0.3.0rc2).

There are several issues in the stable version (0.2.0) of Or1ksim which are fixed by the patch file.

  1. A bug in connecting to the simulator from GDB via the JTAG port (bad call to fcntl).

  2. Several bugs in using the simulator with an xterm connected to the UART

  3. A problem with accessing strings when using diagnostic printf (the simprintf() function).

  4. A problem with the caches being accessed, even when disabled. This problem is only partially fixed.

  5. A number of changes in the Special Purpose Register bit configurations in the OpenRISC 1000 architecture. These have changed since Or1ksim was first created.

  6. A number of changes to ensure the simulator works correctly with GDB 6.8.

The patch also adds a function to print a single character via a NOP trap. NOP 1 is adopted for this function. This is particularly valuable when simprintf is not usable, during MMU setup.

All these changes (and many other improvements) are already incorporated in the development version (0.3.0rc2), which thus needs no patching.

Embecosm divider strip