Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Renode simulator is a software tool developed by Antmicro that the Controls team uses to run unmodified binaries identical to the ones one would normally flash onto target hardware. Put simply, it simulates the hardware and allows us to run and debug tests in preparation for hardware testing. It supports GDB (GNU Debugger) and Telnet usage and is incredibly useful for ironing out higher level software bugs.

Step-by-step guide

In order to use Renode:

  1. Open your codespace
  2. Open a terminal by pressing control+tilde.
  3. Compile code for the Renode simlulator by running make leader TEST_LEADER=test_name_here TEST_MOTOR=motor-sim TEST_CAR=car-simhere (exclude Test_ and .c, ex: compile Test_ReadCarCan.c with )
  4. To start Renode, run Scripts/start_renode.sh 
  5. At this point, Debugger can also be used to debug the code. Additionally, telnet can be use to view the UART (?) output in terminal. 

...

  • To start the simulation, enter start or s 
  • To exit or quit the simultaion, enter quit  or q . Renode will then ask you to confirm if you want to exit the simulation by entering y  or n  for yes or no. 

Troubleshooting

  • "Please add your load_env_vars.sh script to your .bashrc file.": The script is looking for certain environment variables that need to be set. This is done in the load_env_vars.sh script. We can fix this issue by running this script in the .bashrc file, which runs every time we start up a new terminal.
    • Find your .bashrc script using cd ~ and then ls -a (since it is usually in the home folder): 

    • Type code .bashrc to edit the file
    • At the end of the file, add . <path/to/load_env_vars.sh/from/.bashrc/file>load_env_vars.sh
      • <path/to>load_env_vars.sh is the script to run
      • . means to run the script in the current session rather than a new session
      • If this doesn't work, check the bash message to make sure it was able to find the script. If it says "no such file or directory is found," it means the path to the file is incorrect
Info
in progress

Filter by label (Content by label)
showLabelsfalse
max5
spacesLHRSOLAR
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel = "kb-how-to-article" and type = "page" and space = "LHRSOLAR"
labelskb-how-to-article

...