1*** Variables ***
2${UART}                       sysbus.uart0
3${URI}                        @https://dl.antmicro.com/projects/renode
4
5*** Keywords ***
6Create Machine
7    [Arguments]     ${elf}      ${name}     ${id}
8
9    Execute Command             mach create ${name}
10    Execute Command             using sysbus
11    Execute Command             machine LoadPlatformDescription @platforms/cpus/cc2538.repl
12
13    Execute Command             machine PyDevFromFile @scripts/pydev/rolling-bit.py 0x400D2004 0x4 True "sysctrl"
14
15    Execute Command             sysbus WriteDoubleWord 0x00280028 ${id}
16    Execute Command             sysbus WriteDoubleWord 0x0028002C 0x00
17    Execute Command             sysbus WriteDoubleWord 0x00280030 0xAB
18    Execute Command             sysbus WriteDoubleWord 0x00280034 0x89
19    Execute Command             sysbus WriteDoubleWord 0x00280038 0x00
20    Execute Command             sysbus WriteDoubleWord 0x0028003C 0x4B
21    Execute Command             sysbus WriteDoubleWord 0x00280040 0x12
22    Execute Command             sysbus WriteDoubleWord 0x00280044 0x00
23
24    Execute Command             sysbus LoadBinary ${URI}/cc2538_rom_dump.bin-s_524288-0c196cdc21b5397f82e0ff42b206d1cc4b6d7522 0x0
25    Execute Command             sysbus LoadELF ${elf}
26    Execute Command             cpu VectorTableOffset `sysbus GetSymbolAddress "vectors"`
27
28*** Test Cases ***
29Should Run Hello World
30    [Tags]                    cc2538  uart
31    Create Machine            ${URI}/cc2538-contiki_hello_world.elf-s_242120-08fc83d11f790ccc1aa46abfdfc9c2e1a94baed2       "cc2538"      1
32
33    Create Terminal Tester    ${UART}
34    Start Emulation
35    Wait For Line On Uart     Hello, world
36