In this new era of work-from-home, firmware engineer may not have all the
equipment and development board they are used to having at the office. One way
around this? Emulation!
This is a great post and renode is a great tool.
I canât find a community to ask questions about renode.
The question is probably the most popular: is my controller/board supported?
I think I found the answer to that question: (unfortunately) no. I am referring to the NXP i.MX RT105x controller. The board is custom, but Iâd be fine with EVKB support, too.
So letâs move on to the second question: is it possible (and how) to add support for the i.MX RT105x controller and its peripherals like UART, Eth, etc.?
Is it enough to write some .repl files or is it necessary to modify the source code?
There is also a way to implement peripherals as Python scripts, but Iâm not sure the interface is complete enough to implement a full MCU peripheral
Get in touch with the folks at Antmicro and convince/pay them to add support (which they do as part of their business).
Iâm sorry this isnât the answer you were hoping for. The silver lining here is that the peripheral interface is simple & clean, so itâs much simpler to implement your own than it would be for QEMU.
Hello, great introduction to Renode, thanks a lot !
From my side I had to enter âshowAnalyzer sysbus.usart2â instead of âshowAnalyzer sysbus.uart2â to show the âhello worldâ.
Also, I had to launched Renode in telnet mode (-T) so I could use a french keyboard mapping (apparently not available directly in the Renode terminal).
Iâm trying out the example and everything works fine when running the sim manually: I see âhello worldâ and the âbutton pressedâ prompt.
However, when I try to run renode-test tests/test-button.robot it gets stuck at:
Preparing suites
Started Renode instance on port 49152; pid 8998
Starting suites
Running tests/test-button.robot
+++++ Starting test 'test-button.Should Handle Button Press'
When I kill it I get the following output:
Second signal will force exit.
!!!!! Emulation's state saved to "/home/hendrik/projects/renode/hello_world/renode/snapshots/test-button.Should_Handle_Button_Press.fail.save"
!!!!! Log saved to "/home/hendrik/projects/renode/hello_world/renode/logs/test-button.Should_Handle_Button_Press.log"
+++++ Finished test 'test-button.Should Handle Button Press' in 16.30 seconds with status failed
ââ
â Execution terminated by signal
â
â Also teardown failed:
â Several failures occurred:
â
â 1) Connection to remote server broken: [Errno 104] Connection reset by peer
â
â 2) Connection to remote server broken: [Errno 111] Connection refused
â
â 3) Connection to remote server broken: [Errno 111] Connection refused
â
â 4) Connection to remote server broken: [Errno 111] Connection refused
ââ
Suite tests/test-button.robot failed in 16.62 seconds.
Cleaning up suites
Closing Renode pid 8998
Aggregating all robot results
Output: /home/hendrik/projects/renode/hello_world/renode/robot_output.xml
Log: /home/hendrik/projects/renode/hello_world/renode/log.html
Report: /home/hendrik/projects/renode/hello_world/renode/report.html
Some tests failed :( See the list of failed tests below and logs for details!
Failed robot critical tests:
1. Test Suite.Should Handle Button Press
------