Renode troubleshooting

Important

This documentation is not recommended for new RISC-V projects. New RISC-V projects should reference the newest version of the documentation. Users targeting Arm devices can still use this documentation as their reference.

The newest version of the documentation can be found here: https://mi-v-ecosystem.github.io/SoftConsole-Documentation/

Renode logo

There was an error executing command sysbus.cpu StartGdbServer 3333 true

Something is keeping the port 3333 opened, it could be some other application, but in most cases it’s just a previous instance of the Renode. Close it by pressing X on the window or stop the group launcher which should stop the Renode and the gdb client as well.

Using OSS tool such as Renode will contaminate my proprietary code?

Using the Renode (Open Source Software) will not impose any obligations or restrictions on the user’s code, his license or his IP. In an edge case where the user would copy part of the Renode’s source code, modify it and redistribute its binaries, then there are obligations to meet, however Renode has MIT license and allows wide use (including commercial, private use and sublicensing it with a more restrictive license):

https://tldrlegal.com/license/mit-license

If in doubt consult with a legal team.

Source ID 13802 was not found when attempting to remove it

(Renode:5523): GLib-CRITICAL **: Source ID 13802 was not found when attempting to remove it

Possibly caused by not meeting Renode’s dependencies. Renode requires the mono to be at least v5. Double check if the newest versions of the mono-complete, gtk-sharp2 and libcanberra-gtk are installed. And confirm the mono is v5 or higher:

mono --version

Deeply nested code causes crashes and glitches

Experiencing a CPU abort message inside Renode:

[ERROR] u54_1: CPU abort [PC=0x0]: Trying to execute code outside RAM or ROM at
0x0000000000000000.

Or causing reboots, glitches or failures (continuous or intermittent) can be a sign of a small stack and a stack overflow, adjust the stack sizes in the linker script or refactor code to conserve the limited stack. See sections:

See:

Stack profiling

Renode simulation platform

Note

This error can happen on any hart and is not limited to u54_1, nor PolarFireSoC. Stack overflow can be triggered on any platform and thus the error messages or observed behavior might be slightly different.

What are the Robot references in SoftConsole?

SoftConsole v2021.3 is bundled with Nokia’s RED (Robot EDitor) plugin. Robot can be used for automated testing of Renode and real hardware targets. Currently the RED is not supported SoftConsole feature and requires additional manual steps to work (which are not documented yet), however users might try to experiment with it at their own risks.

https://robotframework.org/

https://github.com/nokia/RED

https://renode.readthedocs.io/en/latest/advanced/building_from_sources.html#prerequisites

https://renode.readthedocs.io/en/latest/tutorials/zephyr-ptp-testing.html

Renode on startup crashes with an unhandled exception

If the exception message contains the following:

Could not find a part of the path "/<YOUR_PATH>/.renode/history"

Then it could have been caused by moving the SoftConsole installation and the config pointing to the old (and nonexistent) location of the history file. Correct the path inside the <SC_INSTALL_DIR>/extras/home/.renode/config or just delete the config and let Renode to re-create it.