diff --git a/Makefile b/Makefile index c51a48b..4581f9a 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,7 @@ clean: rm -rf $(FILENAME_PREFIX).bin $(FILENAME_PREFIX).elf install: - openocd -f interface/stlink-v2-1.cfg -f rtl8710.ocd -c "init" -c "reset halt" -c "load_image $(FILENAME_PREFIX).bin $(ADDRESS) bin" -c "cortex_start $(ADDRESS)" -c "shutdown" + openocd -f interface/stlink-v2-1.cfg -f rtl8710.ocd -f cortex/cortex.ocd -c "init" -c "reset halt" -c "load_image $(FILENAME_PREFIX).bin $(ADDRESS) bin" -c "cortex_bootstrap $(ADDRESS)" -c "shutdown" reset: openocd -f interface/stlink-v2-1.cfg -f rtl8710.ocd -c "init" -c "reset halt" -c "reset run" -c "shutdown" diff --git a/cortex/cortex.ocd b/cortex/cortex.ocd new file mode 100644 index 0000000..e1d1b47 --- /dev/null +++ b/cortex/cortex.ocd @@ -0,0 +1,10 @@ +proc cortex_bootstrap {start} { + # disable interrupts + reg faultmask 0x01 + set vectors "" + mem2array vectors 32 $start 2 + reg sp $vectors(0) + reg pc $vectors(1) + resume +} + diff --git a/rtl8710.ocd b/rtl8710.ocd index 1c0f2e4..f772c92 100644 --- a/rtl8710.ocd +++ b/rtl8710.ocd @@ -46,12 +46,3 @@ if {![using_hla]} { cortex_m reset_config sysresetreq } -proc cortex_start {address} { - reg faultmask 0x01 - set vectors "" - mem2array vectors 32 $address 2 - reg sp $vectors(0) - reg pc $vectors(1) - resume -} -