#4593 new enhancement

Add support for renode.io Simulator

Reported by: Joel Sherrill Owned by:
Priority: normal Milestone: Indefinite
Component: tool Version:
Severity: normal Keywords: SoC, testing, BSP, simulator, small, large
Cc: Alan Cudmore, Gedare Bloom Blocked By:
Blocking:

Description (last modified by Joel Sherrill)

[Renode.io] is a simulator geared toward System on Chips and testing. The set of supports boards can be viewed in the source code at https://github.com/renode/renode/tree/master/platforms. This ticket can turn into multiple projects. The first type of project is testing support for existing BSPs which have renode.io hardware support.

  • Find a board supported by renode.io that has a corresponding BSP.
  • Develop support for the RTEMS Tester to run RTEMS tests on that.
    • Ensure this simulator can be run without a GUI
  • If needed, provide patches for the RTEMS BSP and/or renode.io.
    • It may be necessary to add a BSP variant for renode.io if there are small differences that need to be accounted for at BSP build time.

An alternative project is writing a BSP for a renode.io simulation that does not yet have an RTEMS BSP.

In either case, once a specific BSP and simulation configuration has been identified, a new ticket for that specific work should be created. The size of the project depends on how well the BSP works on the simulator at the starting point. For example, leon3 is claimed to work very well so the focus would be just on RTEMS Tester configuration and support.

This ticket is a general description of multiple projects related to renode.io and RTEMS. The size of any specific project for a BSP would vary based on what is required to be done. Scoping the effort for renode.io support for a specific BSP/hardware combination should be part of the project proposal.

Possible Mentors: Alan Cudmore, Gedare Bloom
Skills: C
Difficulty: Medium

Change History (3)

comment:1 Changed on 02/10/22 at 23:20:00 by Joel Sherrill

Description: modified (diff)

comment:2 Changed on 02/25/22 at 21:18:06 by Joel Sherrill

Description: modified (diff)

comment:3 Changed on 03/29/23 at 02:13:09 by Alan Cudmore

A couple of notes related to the Renode project:
BSPS that are known to work on Renode.io:
riscv/mpfs64imafdc
riscv/kendrytek210

I have run the RTEMS leon3 BSP on Renode.io using the Gaisler RCC toolchain. I don't see any reason why the rtems.org tools and RTEMS master branch wouldn't work.
https://github.com/antmicro/renode-rtems-leon3

I use the Renode k210 support to run the RTEMS k210 BSP. I use the Renode-test framework to run a series of test for the BSP:
https://github.com/alanc98/k210-rtems-test
This currently uses the Renode test framework to run about a dozen tests, but this needs to be automated to run all of the testsuite tests.

Another RTEMS ticket is to add support for the RISC-V SiFive? Unleashed board. This board is supported by Renode.io, so it could be a collaborative effort.
https://github.com/renode/renode/blob/master/scripts/single-node/hifive_unleashed.resc

Another interesting RISC-V BSP that is supported in Renode.io:
https://github.com/renode/renode/blob/master/scripts/single-node/litex_vexriscv_smp.resc
The LiteX/VexRisc Risc-V soft core. There are a number of variants of this soft-core CPU supported in Renode.

Note: See TracTickets for help on using tickets.