| # 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 |
| |