diff options
| author | Hierophect <hierophect@gmail.com> | 2020-01-13 17:24:52 -0500 |
|---|---|---|
| committer | Hierophect <hierophect@gmail.com> | 2020-01-13 17:24:52 -0500 |
| commit | de2379bc30534c402836881b2e9b25dada41ca41 (patch) | |
| tree | 6b02044453c94ec3c0543b5563b94f780d2db3c7 | |
| parent | 1544d60000bcf49aae507e4dc0d9e4061163d37a (diff) | |
minor WIP debug edits
| -rwxr-xr-x | ports/stm32f4/Makefile | 5 | ||||
| -rw-r--r-- | ports/stm32f4/boards/meowbit_v121/mpconfigboard.mk | 4 | ||||
| -rw-r--r-- | ports/stm32f4/boards/openocd_stm32f4.cfg | 44 | ||||
| -rw-r--r-- | ports/stm32f4/supervisor/usb.c | 1 |
4 files changed, 50 insertions, 4 deletions
diff --git a/ports/stm32f4/Makefile b/ports/stm32f4/Makefile index 93cde6737..c3eb4aa3b 100755 --- a/ports/stm32f4/Makefile +++ b/ports/stm32f4/Makefile @@ -22,7 +22,7 @@ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -DEBUG = 1 +#DEBUG = 1 # Select the board to build for. ifeq ($(BOARD),) @@ -85,6 +85,7 @@ ifeq ($(DEBUG), 1) CFLAGS += -fno-inline -fno-ipa-sra else CFLAGS += -Os -DNDEBUG + CFLAGS += -ggdb # TODO: Test with -flto ### CFLAGS += -flto endif @@ -256,7 +257,7 @@ $(BUILD)/firmware.hex: $(BUILD)/firmware.elf $(BUILD)/firmware.uf2: $(BUILD)/firmware.hex $(ECHO) "Create $@" - $(PYTHON3) $(TOP)/tools/uf2/utils/uf2conv.py -f 0x57755a57 -b 0x08000000 -c -o "$(BUILD)/firmware.uf2" $^ + $(PYTHON3) $(TOP)/tools/uf2/utils/uf2conv.py -f 0x57755a57 -b 0x08010000 -c -o "$(BUILD)/firmware.uf2" $^ include $(TOP)/py/mkrules.mk diff --git a/ports/stm32f4/boards/meowbit_v121/mpconfigboard.mk b/ports/stm32f4/boards/meowbit_v121/mpconfigboard.mk index e8a257983..c033d1d4b 100644 --- a/ports/stm32f4/boards/meowbit_v121/mpconfigboard.mk +++ b/ports/stm32f4/boards/meowbit_v121/mpconfigboard.mk @@ -17,5 +17,5 @@ MCU_VARIANT = stm32f4 MCU_SUB_VARIANT = stm32f401xe MCU_PACKAGE = 64 CMSIS_MCU = STM32F401xE -# LD_FILE = boards/STM32F401_boot.ld -LD_FILE = boards/STM32F401_fs.ld
\ No newline at end of file +LD_FILE = boards/STM32F401_boot.ld +#LD_FILE = boards/STM32F401_fs.ld
\ No newline at end of file diff --git a/ports/stm32f4/boards/openocd_stm32f4.cfg b/ports/stm32f4/boards/openocd_stm32f4.cfg new file mode 100644 index 000000000..19631a7c8 --- /dev/null +++ b/ports/stm32f4/boards/openocd_stm32f4.cfg @@ -0,0 +1,44 @@ +# This script configures OpenOCD for use with an ST-Link V2 programmer/debugger +# and an STM32F4 target microcontroller. +# +# To flash your firmware: +# +# $ openocd -f openocd_stm32f4.cfg \ +# -c "stm_flash build-BOARD/firmware0.bin 0x08000000 build-BOARD/firmware1.bin 0x08020000" +# +# For a gdb server on port 3333: +# +# $ openocd -f openocd_stm32f4.cfg + + +source [find interface/stlink-v2.cfg] +transport select hla_swd +source [find target/stm32f4x.cfg] +reset_config srst_only +init + +proc stm_flash { BIN0 ADDR0 {BIN1 ""} {ADDR1 ""} } { + reset halt + sleep 100 + wait_halt 2 + flash write_image erase $BIN0 $ADDR0 + sleep 100 + verify_image $BIN0 $ADDR0 + sleep 100 + if {$BIN1 ne ""} { + flash write_image erase $BIN1 $ADDR1 + sleep 100 + verify_image $BIN1 $ADDR1 + sleep 100 + } + reset run + shutdown +} + +proc stm_erase {} { + reset halt + sleep 100 + stm32f4x mass_erase 0 + sleep 100 + shutdown +} diff --git a/ports/stm32f4/supervisor/usb.c b/ports/stm32f4/supervisor/usb.c index 5733527c2..afafe26a9 100644 --- a/ports/stm32f4/supervisor/usb.c +++ b/ports/stm32f4/supervisor/usb.c @@ -105,6 +105,7 @@ void init_usb_hardware(void) { #endif /* Peripheral clock enable */ + __HAL_RCC_USB_OTG_FS_CLK_DISABLE(); __HAL_RCC_USB_OTG_FS_CLK_ENABLE(); init_usb_vbus_sense(); |
