xous-core/emulation
Sean Cross adcca270b2 emulation: ticktimer: fix higher bits of ticktimer
The ticktimer wasn't properly adjusting the upper bits, meaning delays
of more than 42 days did not function properly. This was discovered as
part of the libstd tests.

Signed-off-by: Sean Cross <sean@xobs.io>
2023-01-30 22:15:01 +08:00
..
ec Revert "renode: remove custom LiteX_Timer_32" 2023-01-30 22:15:01 +08:00
peripherals emulation: ticktimer: fix higher bits of ticktimer 2023-01-30 22:15:01 +08:00
soc Revert "renode: remove custom LiteX_Timer_32" 2023-01-30 22:15:01 +08:00
betrusted.resc Revert "renode: remove custom LiteX_Timer_32" 2023-01-30 22:15:01 +08:00
build-renode.ps1
LICENSE
linux-server-rootfs.jffs2
linux-server.resc
peripherals.csproj.template
README.md
renode-keybox.bin
renode.key
rootkeys-to-renode.md add some .gitigore entries that help make my life a little easier 2022-07-29 15:58:02 +08:00
versatile-vmlinux
vexriscv-aes.py
xous-release-tap.resc
xous-release.resc

Platonic RISC-V Device

Platonic is an ideal system useful for developing an operating system. It does not represent any sort of real hardware, though differences between platforms is minimal.

Usage

For emulation, you will need to install Renode (use the nightly to get SPI.NORFlash peripheral support). Then, run renode on xous-release.resc. For example:

renode emulation/xous-resc.repl

Editing Renode Peripherals

Renode supports adding peripherals written in C#. For example, many Betrusted peripherals have models created under the peripherals/ directory.

Since there is no external compiler, it can be difficult to know if your code is correct. In fact, if you're unfamiliar with C# or the Renode codebase, editing unfamiliar C# code can be a slow exercise in frustration.

Fortunately, Visual Studio Code is free and has excellent C# tooling. All you need to do is point it at your Renode installation, load the C# plugin, and open a .cs file.

  1. Copy peripherals.csproj.template to peripherals.csproj
  2. Open peripherals.csproj and point <RenodePath> to your Renode installation directory. On ubuntu, this may be /opt/renode/bin/.
  3. Install C# for VSCode
  4. You can refer to core Renode peripherals as examples of what C# code looks like.

Debugging with GDB

When running Renode, you can attach a GDB instance. It runs on port 3333. Simply run tar ext :3333 in gdb to attach.