45 lines
1.9 KiB
Plaintext
45 lines
1.9 KiB
Plaintext
|
|
# The following lines are not interpreted.
|
||
|
|
:name: Quark C1000
|
||
|
|
:description: This script runs Zephyr shell example on Quark C1000 (32-bit x86).
|
||
|
|
|
||
|
|
# The `using` command allows the user to omit a prefix when referring to a peripheral.
|
||
|
|
# E.g. `using sysbus` allows to refer to the CPU device with `cpu` instead of `sysbus.cpu`.
|
||
|
|
using sysbus
|
||
|
|
# The ?= notation indicates a default value if the variable is not set.
|
||
|
|
$name?="Quark-C1000"
|
||
|
|
# Create a new machine and set the Monitor's context accordingly.
|
||
|
|
mach create $name
|
||
|
|
|
||
|
|
# Load the hardware description from the REPL file.
|
||
|
|
machine LoadPlatformDescription @platforms/boards/arduino_101-shield.repl
|
||
|
|
|
||
|
|
# This is a sample shell binary:
|
||
|
|
$bin ?= @https://dl.antmicro.com/projects/renode/zephyr_shell.elf-s_398140-ed6b1a68e94b1cb8ac3cc7d80fb4d36e36a22766
|
||
|
|
# This is a default bootloader:
|
||
|
|
$boot ?= @https://dl.antmicro.com/projects/renode/quark_se_rom.bin-s_8192-b688c8b9380014d7deb2bd42dc218fc5ee8d1abf
|
||
|
|
|
||
|
|
# Open a window for the `sysbus.uartB` device - which, in this case, is a default UART for user interaction.
|
||
|
|
showAnalyzer uartB
|
||
|
|
|
||
|
|
# The following series of commands is executed everytime the machine is reset.
|
||
|
|
macro reset
|
||
|
|
"""
|
||
|
|
# Set the WAIT_FOR_JTAG GPIO pin. The bootloader stalls if it's set to low.
|
||
|
|
gpio OnGPIO 15 true
|
||
|
|
|
||
|
|
# Load the bootloader. The address has to be specified as the binary files do not contain
|
||
|
|
# any addressing information.
|
||
|
|
sysbus LoadBinary $boot 0xffffe000
|
||
|
|
# The ELF files already contain information on where to load each part. They also provide symbols, which
|
||
|
|
# can be used for execution tracing.
|
||
|
|
sysbus LoadELF $bin
|
||
|
|
|
||
|
|
# By default, the initial PC is set to the ELF entry point. Since the bootloader has to be started before the target application,
|
||
|
|
# the PC needs to be set manually to the correct value.
|
||
|
|
sysbus.cpu PC 0xfffffff0
|
||
|
|
"""
|
||
|
|
|
||
|
|
# Run this macro once to load the binaries.
|
||
|
|
runMacro $reset
|
||
|
|
|