4.21. OpenRISC¶
4.21.1. Optaining an OpenRISC toolchain¶
Toolchain binaries can be obtained from openrisc.io or our github releases page. Instructions for building the different toolchains can be found on openrisc.io or Stafford’s toolchain build and release scripts.
See:
Example of downloading and installing a toolchain:
$ curl --remote-name --location \
https://github.com/stffrdhrn/gcc/releases/download/or1k-10.0.0-20190723/or1k-elf-10.0.0-20190723.tar.xz
$ tar -xf or1k-elf-10.0.0-20190723.tar.xz
$ export PATH=$PATH:$PWD/or1k-elf/bin
4.21.2. Running OpenRISC barebox on qemu¶
Running barebox on qemu is similar to running linux on qemu see more details on the qemu wiki site at https://wiki.qemu.org/Documentation/Platforms/OpenRISC
Compile the qemu emulator:
$ git clone https://gitlab.com/qemu-project/qemu.git
$ cd qemu
$ mkdir build ; cd build
$ ../configure \
--target-list="or1k-softmmu" \
--enable-fdt \
--disable-kvm \
--disable-xen \
--disable-xkbcommon \
--enable-debug \
--enable-debug-info
$ make
Next compile barebox:
$ make ARCH=openrisc defconfig
...
$ make ARCH=openrisc CROSS_COMPILE=or1k-elf-
Run barebox:
$ <path to qemu source>/build/or1k-softmmu/qemu-system-or1k \
-cpu or1200 \
-M or1k-sim \
-kernel /home/shorne/work/openrisc/barebox/barebox \
-net nic -net tap,ifname=tap0,script=no,downscript=no \
-serial mon:stdio -nographic -gdb tcp::10001 \
-m 32
barebox 2021.02.0-00120-g763c6fee7-dirty #14 Thu Mar 4 05:13:51 JST 2021
Board: or1ksim
mdio_bus: miibus0: probed
malloc space: 0x01b80000 -> 0x01f7ffff (size 4 MiB)
Hit any to stop autoboot: 3
barebox@or1ksim:/
4.21.3. or1ksim¶
Compile or1ksim emulator:
$ cd ~/
$ git clone https://github.com/openrisc/or1ksim
$ cd or1ksim
$ ./configure
$ make
Create minimal or1ksim.cfg file:
section cpu
ver = 0x12
cfgr = 0x20
rev = 0x0001
end
section memory
name = "RAM"
type = unknown
baseaddr = 0x00000000
size = 0x02000000
delayr = 1
delayw = 2
end
section uart
enabled = 1
baseaddr = 0x90000000
irq = 2
16550 = 1
/* channel = "tcp:10084" */
channel = "xterm:"
end
section ethernet
enabled = 1
baseaddr = 0x92000000
irq = 4
rtx_type = "tap"
tap_dev = "tap0"
end
Run or1ksim:
$ ~/or1ksim/sim -f or1ksim.cfg barebox