From 0d75b0d962a7ee2ea1cb9b57ade673e90a3e6687 Mon Sep 17 00:00:00 2001 From: Nicholas Graumann Date: Sat, 26 Nov 2016 10:34:31 -0600 Subject: [PATCH] stmhal: Add address parameters to openocd config files. Also make l4 config the default for STM32L476DISC board. --- stmhal/Makefile | 7 ++++--- stmhal/boards/STM32L476DISC/mpconfigboard.mk | 1 + stmhal/boards/openocd_stm32f4.cfg | 10 +++++----- stmhal/boards/openocd_stm32l4.cfg | 10 +++++----- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/stmhal/Makefile b/stmhal/Makefile index d1f5118ff9..03b00fbd37 100644 --- a/stmhal/Makefile +++ b/stmhal/Makefile @@ -296,23 +296,24 @@ else $(Q)$(DFU_UTIL) -a 0 -d $(DEVICE) -D $< endif +FLASH_ADDR ?= 0x08000000 TEXT_ADDR ?= 0x08020000 deploy-stlink: $(BUILD)/firmware.dfu $(ECHO) "Writing $(BUILD)/firmware0.bin to the board via ST-LINK" - $(Q)$(STFLASH) write $(BUILD)/firmware0.bin 0x08000000 + $(Q)$(STFLASH) write $(BUILD)/firmware0.bin $(FLASH_ADDR) $(ECHO) "Writing $(BUILD)/firmware1.bin to the board via ST-LINK" $(Q)$(STFLASH) --reset write $(BUILD)/firmware1.bin $(TEXT_ADDR) deploy-openocd: $(BUILD)/firmware.dfu $(ECHO) "Writing $(BUILD)/firmware{0,1}.bin to the board via ST-LINK using OpenOCD" - $(Q)$(OPENOCD) -f $(OPENOCD_CONFIG) -c "stm_flash $(BUILD)/firmware0.bin $(BUILD)/firmware1.bin" + $(Q)$(OPENOCD) -f $(OPENOCD_CONFIG) -c "stm_flash $(BUILD)/firmware0.bin $(FLASH_ADDR) $(BUILD)/firmware1.bin $(TEXT_ADDR)" $(BUILD)/firmware.dfu: $(BUILD)/firmware.elf $(ECHO) "Create $@" $(Q)$(OBJCOPY) -O binary -j .isr_vector $^ $(BUILD)/firmware0.bin $(Q)$(OBJCOPY) -O binary -j .text -j .data $^ $(BUILD)/firmware1.bin - $(Q)$(PYTHON) $(DFU) -b 0x08000000:$(BUILD)/firmware0.bin -b $(TEXT_ADDR):$(BUILD)/firmware1.bin $@ + $(Q)$(PYTHON) $(DFU) -b $(FLASH_ADDR):$(BUILD)/firmware0.bin -b $(TEXT_ADDR):$(BUILD)/firmware1.bin $@ $(BUILD)/firmware.hex: $(BUILD)/firmware.elf $(ECHO) "Create $@" diff --git a/stmhal/boards/STM32L476DISC/mpconfigboard.mk b/stmhal/boards/STM32L476DISC/mpconfigboard.mk index abb4a35707..72468d89ce 100644 --- a/stmhal/boards/STM32L476DISC/mpconfigboard.mk +++ b/stmhal/boards/STM32L476DISC/mpconfigboard.mk @@ -3,3 +3,4 @@ CMSIS_MCU = STM32L476xx AF_FILE = boards/stm32l476_af.csv LD_FILE = boards/stm32l476xg.ld TEXT_ADDR = 0x08004000 +OPENOCD_CONFIG = boards/openocd_stm32l4.cfg diff --git a/stmhal/boards/openocd_stm32f4.cfg b/stmhal/boards/openocd_stm32f4.cfg index e03ea87a15..122ae42b1b 100644 --- a/stmhal/boards/openocd_stm32f4.cfg +++ b/stmhal/boards/openocd_stm32f4.cfg @@ -17,17 +17,17 @@ source [find target/stm32f4x.cfg] reset_config srst_only init -proc stm_flash { BIN0 BIN1 } { +proc stm_flash { BIN0 ADDR0 BIN1 ADDR1 } { reset halt sleep 100 wait_halt 2 - flash write_image erase $BIN0 0x08000000 + flash write_image erase $BIN0 $ADDR0 sleep 100 - verify_image $BIN0 0x08000000 + verify_image $BIN0 $ADDR0 sleep 100 - flash write_image erase $BIN1 0x08020000 + flash write_image erase $BIN1 $ADDR1 sleep 100 - verify_image $BIN1 0x08020000 + verify_image $BIN1 $ADDR1 sleep 100 reset run shutdown diff --git a/stmhal/boards/openocd_stm32l4.cfg b/stmhal/boards/openocd_stm32l4.cfg index 3608b334b2..3c9b999812 100644 --- a/stmhal/boards/openocd_stm32l4.cfg +++ b/stmhal/boards/openocd_stm32l4.cfg @@ -17,17 +17,17 @@ source [find target/stm32l4x.cfg] reset_config srst_only init -proc stm_flash { BIN0 BIN1 } { +proc stm_flash { BIN0 ADDR0 BIN1 ADDR1 } { reset halt sleep 100 wait_halt 2 - flash write_image erase $BIN0 0x08000000 + flash write_image erase $BIN0 $ADDR0 sleep 100 - verify_image $BIN0 0x08000000 + verify_image $BIN0 $ADDR0 sleep 100 - flash write_image erase $BIN1 0x08004000 + flash write_image erase $BIN1 $ADDR1 sleep 100 - verify_image $BIN1 0x08004000 + verify_image $BIN1 $ADDR1 sleep 100 reset run shutdown