Add sample Renode scripts for rpl-udp example

This sample allows to run two connected TI CC23538DK nodes, connected
via radio, in the Renode Framework. The emulation loads the compiled
binaries for client and server nodes. It also fetches a precompiled
bootloader.
This commit is contained in:
Piotr Zierhoffer 2017-11-01 21:01:06 +01:00
parent cbeac32343
commit da2f84db19
2 changed files with 75 additions and 0 deletions

View File

@ -0,0 +1,30 @@
mach create $name
using sysbus
machine LoadPlatformDescription @platforms/cpus/cc2538.repl
machine SetClockSource sysbus.cpu
machine SetSyncDomainFromEmulation $domain
connector Connect radio wireless
machine PyDevFromFile @scripts/pydev/rolling-bit.py 0x400D2004 0x4 True "sysctrl"
$id = `next_value 1`
macro reset
"""
#set node address. 0x00 0x12 0x4B is TI OUI
sysbus WriteByte 0x00280028 $id
sysbus WriteByte 0x0028002C 0x00
sysbus WriteByte 0x00280030 0xAB
sysbus WriteByte 0x00280034 0x89
sysbus WriteByte 0x00280038 0x00
sysbus WriteByte 0x0028003C 0x4B
sysbus WriteByte 0x00280040 0x12
sysbus WriteByte 0x00280044 0x00
sysbus LoadBinary @http://antmicro.com/projects/renode/cc2538_rom_dump.bin-s_524288-0c196cdc21b5397f82e0ff42b206d1cc4b6d7522 0x0
sysbus LoadELF $bin
cpu VectorTableOffset 0x200000
"""
runMacro $reset

View File

@ -0,0 +1,45 @@
:name: cc2538 range medium 2 nodes
######################################################################
#
# Sample script creating 1 server node and 1 client node using a
# range-based medium function - transmission is possible if nodes are
# in range. Nodes are positioned in a 3D space (x,y,z),
# at a distance of 10 (units) from each other (on the X axis).
#
# Differences in SyncUnit values in machines represent the differences
# in their relative speed. This prevents the machines from
# synchronizing in 100%, which is crucial for Contiki network stack
# stability.
#
######################################################################
path add $CWD
emulation CreateWirelessMedium "wireless"
$domain = `emulation AddSyncDomain`
wireless SetSyncDomainFromEmulation $domain
# The radio is using a range-based medium (with the `Range` set to `11`)
# If not set, the default SimpleMediumFunction will be used (where range is not relevant)
wireless SetRangeWirelessFunction 11
######################### UDP SERVER - begin #########################
$bin=@udp-server.cc2538dk
$name="server"
i $ORIGIN/cc2538-node.resc
wireless SetPosition radio 0 0 0
machine SyncUnit 100
showAnalyzer sysbus.uart0
mach clear
########################## UDP SERVER - end ##########################
######################### UDP CLIENT - begin #########################
$bin=@udp-client.cc2538dk
$name="client"
i $ORIGIN/cc2538-node.resc
wireless SetPosition radio 10 0 0
machine SyncUnit 110
showAnalyzer sysbus.uart0
mach clear
########################## UDP CLIENT - end ##########################