1*** Variables *** 2${program}= SEPARATOR=${\n} 3... ldr r0, =0x10000000 4... ldr r1, =10000000 @ adjust to taste when running locally 5... 6... loop: 7... ldr r2, [r0] 8... subs r1, r1, #1 9... bne loop 10... 11... subs r0, r0, #4 12... ldr r2, [r0] 13 14${platform}= SEPARATOR=${\n} 15... """ 16... cpu: CPU.CortexM @ sysbus 17... ${SPACE*4}cpuType: "cortex-m4" 18... ${SPACE*4}nvic: nvic 19... 20... nvic: IRQControllers.NVIC @ sysbus 0xE000E000 21... 22... rom: Memory.MappedMemory @ sysbus 0x0 23... ${SPACE*4}size: 0x40000 24... 25... trivial: Mocks.TrivialPeripheral @ sysbus 0x10000000 26... """ 27 28*** Keywords *** 29Create Machine 30 ${TEST_DIR}= Evaluate r"${CURDIR}".replace(" ", "\\ ") 31 32 Execute Command i @${TEST_DIR}/TrivialPeripheral.cs 33 Execute Command mach create 34 Execute Command machine LoadPlatformDescriptionFromString ${platform} 35 Execute Command using sysbus 36 37 Create Log Tester 10 38 39*** Test Cases *** 40Should Access Trivial Peripheral 41 Create Machine 42 Execute Command cpu AssembleBlock 0 """${program}""" 43 Execute Command cpu PC 0 44 Wait For Log Entry ReadDoubleWord from non existing peripheral at 0xFFFFFFC 45