blob: 87acf18f1a38a404df1ae73ac7a4479c86aea344 [file] [log] [blame]
logLevel 3
using sysbus
mach create "STM32G0"
# Load HPS specific parts
machine LoadPlatformDescription @platforms/cpus/stm32g0.repl
machine LoadPlatformDescriptionFromString "camera: I2C.DummyI2CSlave @ i2c2 0x24 { Register0Value: 0x01; Register1Value: 0xB0 }"
machine LoadPlatformDescriptionFromString "flashMemory: Memory.MappedMemory {size: 0x4000000}; flashSpi: SPI.GigaDevice_GD25LQ @ spi1 { underlyingMemory: flashMemory }" # was 1000000
machine LoadPlatformDescriptionFromString "cs: Miscellaneous.Button @ gpioPortA 8 { -> gpioPortA@8 }"
machine LoadPlatformDescriptionFromString "fpgaProgram_led: Miscellaneous.LED @ gpioPortC 15"
machine LoadPlatformDescriptionFromString "debug_led: Miscellaneous.LED @ gpioPortA 1"
machine LoadPlatformDescriptionFromString "gpioPortA: { 1 -> debug_led@0 }"
machine LoadPlatformDescriptionFromString "gpioPortB: { 0 -> flashSpi@0 }"
machine LoadPlatformDescriptionFromString "gpioPortC: { 15 -> fpgaProgram_led@0 }"
emulation AddHPSHostController sysbus.i2c1
# Provide paths to proper ELFs
$stage0?=$CWD/rust/mcu/target/thumbv6m-none-eabi/release/stage0
$stage1?=$CWD/rust/mcu/target/thumbv6m-none-eabi/release/stage1_app
echo $stage1
macro reset
"""
sysbus LoadELF $stage1
sysbus LoadSymbolsFrom $stage1
sysbus LoadELF $stage0
"""
runMacro $reset
echo "Access host.HPSHostController for a list of available commands"
start
sleep 2
host.HPSHostController ReadSystemStatus "1.0"
sleep 1
host.HPSHostController CommandLaunchStage1
sleep 2
host.HPSHostController ReadSystemStatus "1.0"
sleep 1
host.HPSHostController StartSocketServer "2.0"
sleep 2
q