58 lines
3.0 KiB
Plaintext
58 lines
3.0 KiB
Plaintext
*** Variables ***
|
|
${SWITCH} switch
|
|
${ETHERNET} sysbus.emac0
|
|
${UART} sysbus.lpuart2
|
|
${TFTP_BIN} https://dl.antmicro.com/projects/renode/mr_canhubk3--zephyr-samples_tftp_client.elf-s_4221436-4506026fa27d356a09719cc60c1750449b11cc80
|
|
${EMAC_PERIPHERAL} SEPARATOR=${\n}
|
|
... """
|
|
... emac0: Network.S32K3XX_EMAC @ sysbus 0x40480000
|
|
... ${SPACE*4}systemClockFrequency: 50000000
|
|
... ${SPACE*4}IRQ->nvic0@105
|
|
... ${SPACE*4}Channel0TX->nvic0@106
|
|
... ${SPACE*4}Channel0RX->nvic0@107
|
|
... """
|
|
|
|
*** Keywords ***
|
|
Create Machine
|
|
[Arguments] ${elf}
|
|
Execute Command mach create
|
|
Execute Command machine LoadPlatformDescription @platforms/cpus/nxp-s32k388.repl
|
|
|
|
# The test binary is built for s32k344 as Zephyr currently doesn't support s32k388. Due to that mismatch we
|
|
# need to change the ethernet controller to match what software expects.
|
|
Execute Command sysbus Unregister sysbus.gmac0
|
|
Execute Command machine LoadPlatformDescriptionFromString ${EMAC_PERIPHERAL}
|
|
|
|
${reset_macro}= Catenate SEPARATOR=${\n}
|
|
... """
|
|
... sysbus LoadELF @${elf}
|
|
... sysbus.cpu0 VectorTableOffset `sysbus GetSymbolAddress "_vector_table"`
|
|
... """
|
|
Execute Command macro reset${\n}${reset_macro}
|
|
Execute Command runMacro $reset
|
|
|
|
*** Test Cases ***
|
|
Should Transfer Files via TFTP
|
|
${test_file}= Allocate Temporary File
|
|
Create File ${test_file} hello!\n
|
|
|
|
Create Machine ${TFTP_BIN}
|
|
|
|
Execute Command emulation CreateSwitch "${SWITCH}"
|
|
Execute Command emulation CreateNetworkServer "server" "192.0.2.2"
|
|
Execute Command connector Connect server ${SWITCH}
|
|
Execute Command server StartTFTP 69
|
|
Execute Command server.tftp ServeFile @${test_file} "file1.bin"
|
|
Execute Command server.tftp LogReceivedFiles true
|
|
Execute Command connector Connect ${ETHERNET} ${SWITCH}
|
|
|
|
Create Terminal Tester ${UART}
|
|
Create Log Tester 1
|
|
|
|
Wait For Line On UART Run TFTP client
|
|
Wait For Line On UART Received data:
|
|
Wait For Line On UART 68 65 6c 6c 6f 21 0a\\s+|hello!\. treatAsRegex=true
|
|
Wait For Line On UART TFTP client get done
|
|
Wait For Line On UART TFTP client put done
|
|
Wait For Log Entry Received file 'newfile.bin': Lorem ipsum dolor sit amet, consectetur adipiscing elit
|