*** Variables *** ${SHELL_PROMPT} $ *** Keywords *** Create Platform Execute Command using sysbus Execute Command mach create # This line must use the "path" notation to handle paths with spaces Execute Command machine LoadPlatformDescription "${CURDIR}${/}litex_linux_vexriscv.repl" Execute Command set kernel @https://dl.antmicro.com/projects/renode/litex_linux_vexriscv--kernel.bin-s_4578292-f63a4736100b5ff79a8d72429c1b79718ec7a446 Execute Command set rootfs @https://dl.antmicro.com/projects/renode/litex_linux_vexriscv--rootfs.cpio-s_4163584-c44ad487ba1f73c00430a1bb108ceef84007274f Execute Command set device_tree @https://dl.antmicro.com/projects/renode/litex_linux_vexriscv--rv32.dtb-s_2609-9a915b47b8e31d0d3f268c4a297dc0b0555e8cd0 Execute Command set emulator @https://dl.antmicro.com/projects/renode/litex_vexriscv--emulator.bin-s_9028-796a4227b806997c6629462fdf0dcae73de06929 Execute Command sysbus LoadBinary $emulator 0x20000000 Execute Command sysbus LoadBinary $kernel 0xc0000000 Execute Command sysbus LoadBinary $rootfs 0xc0800000 Execute Command sysbus LoadBinary $device_tree 0xc1000000 Execute Command cpu PC 0x20000000 *** Test Cases *** Should Boot Create Platform Create Terminal Tester sysbus.uart Execute Command showAnalyzer sysbus.uart Start Emulation Wait For Prompt On Uart buildroot login: Write Line To Uart root Wait For Line On Uart root login on 'console' Write Line To Uart export PS1="$ " Provides booted-image Should Control LED Requires booted-image Create LED Tester sysbus.gpio_out.led Assert LED State false Write Line To Uart cd /sys/class/gpio Wait For Prompt On Uart ${SHELL_PROMPT} Write Line To Uart echo 508 > export Wait For Prompt On Uart ${SHELL_PROMPT} Write Line To Uart cd gpio508 Wait For Prompt On Uart ${SHELL_PROMPT} Assert LED State false Write Line To Uart echo 1 > value Wait For Prompt On Uart ${SHELL_PROMPT} Assert LED State true Write Line To Uart echo 0 > value Wait For Prompt On Uart ${SHELL_PROMPT} Assert LED State false Should Read Button Requires booted-image Write Line To Uart cd /sys/class/gpio Wait For Prompt On Uart ${SHELL_PROMPT} Write Line To Uart echo 504 > export Wait For Prompt On Uart ${SHELL_PROMPT} Write Line To Uart cd gpio504 Wait For Prompt On Uart ${SHELL_PROMPT} Write Line To Uart cat value Wait For Line On Uart 0 Wait For Prompt On Uart ${SHELL_PROMPT} Execute Command gpio_in.button Toggle Write Line To Uart cat value Wait For Line On Uart 1 Wait For Prompt On Uart ${SHELL_PROMPT} Execute Command gpio_in.button Toggle Write Line To Uart cat value Wait For Line On Uart 0 Wait For Prompt On Uart ${SHELL_PROMPT} Should Handle SPI Requires booted-image Write Line To Uart spidev_test -D /dev/spidev0.0 --speed 1000000 Wait For Line On Uart spi mode: 0x0 Wait For Line On Uart bits per word: 8 Wait For Line On Uart max speed: 1000000 Hz (1000 KHz) Wait For Line On Uart RX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D Should Handle I2C Requires booted-image Write Line To Uart i2cdetect -y 0 Wait For Line On Uart 00:${SPACE*10}-- -- UU -- -- -- -- -- -- -- -- -- -- Wait For Line On Uart 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Wait For Line On Uart 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Wait For Line On Uart 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Wait For Line On Uart 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Wait For Line On Uart 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Wait For Line On Uart 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Wait For Line On Uart 70: -- -- -- -- -- -- -- -- Write Line To Uart cd /sys/class/i2c-dev/i2c-0/device/0-0005/iio:device0 Write Line To Uart cat in_temp_raw Wait For Line On Uart 4368 Wait For Prompt On Uart ${SHELL_PROMPT} Execute Command i2c.si7021 Temperature 36 Write Line To Uart cat in_temp_raw Wait For Line On Uart 7724 Wait For Prompt On Uart ${SHELL_PROMPT}