mirror of
https://github.com/Rockbox/rockbox.git
synced 2026-01-22 01:30:35 -05:00
echoplayer: add 'debug' and 'flash' targets to makefile
This replaces the gdb & openocd config in utils/stm32tools and is easier to use. Remove the srst workaround; it seems this was caused by the D1/D3 domains not being powered up while the CPU was in sleep mode. Change-Id: I28cc0273b3004c6e3146bb2447f0655cad8bb1c2
This commit is contained in:
parent
025f3def04
commit
7418e65138
4 changed files with 27 additions and 20 deletions
|
|
@ -3,14 +3,12 @@
|
|||
# Setup for STLINK-V3SET + STM32H7
|
||||
source [find interface/stlink-dap.cfg]
|
||||
source [find target/stm32h7x.cfg]
|
||||
reset_config srst_only srst_open_drain srst_nogate connect_assert_srst
|
||||
init
|
||||
|
||||
# Workaround for OpenOCD complaining about externally asserted resets.
|
||||
# Possibly an electrical issue.
|
||||
adapter assert srst
|
||||
adapter deassert srst
|
||||
|
||||
# OpenOCD doesn't handle soft breakpoints correctly for Cortex-M7 when ICache is enabled:
|
||||
# https://sourceforge.net/p/openocd/mailman/openocd-user/thread/6668098.sCNexbpv2J@linux-5nlr.menet/
|
||||
gdb_breakpoint_override hard
|
||||
|
||||
# Resume execution when GDB detaches, instead of halting
|
||||
stm32h7x.cpu0 configure -event gdb-detach {
|
||||
resume
|
||||
}
|
||||
17
tools/echoplayer/openocd.make
Normal file
17
tools/echoplayer/openocd.make
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
GDB := gdb
|
||||
OPENOCD := openocd
|
||||
OPENOCD_CFG := $(ROOTDIR)/tools/echoplayer/openocd.cfg
|
||||
|
||||
ifneq (,$(findstring bootloader,$(APPSDIR)))
|
||||
TARGET_ELF := $(BUILDDIR)/bootloader.elf
|
||||
else
|
||||
TARGET_ELF := $(BUILDDIR)/rockbox.elf
|
||||
endif
|
||||
|
||||
debug:
|
||||
$(GDB) $(TARGET_ELF) -ex "target extended-remote | openocd -c \"gdb_port pipe\" -f $(OPENOCD_CFG)"
|
||||
|
||||
flash: $(TARGET_ELF)
|
||||
$(OPENOCD) -f $(OPENOCD_CFG) -c "program $(TARGET_ELF) verify reset exit"
|
||||
|
||||
.PHONY: debug flash
|
||||
|
|
@ -180,6 +180,11 @@ else # core
|
|||
|
||||
endif # bootloader
|
||||
|
||||
# Include makefile for flashing/debugging with OpenOCD & GDB
|
||||
ifeq (echor1,$(MODELNAME))
|
||||
include $(ROOTDIR)/tools/echoplayer/openocd.make
|
||||
endif
|
||||
|
||||
# One or more subdir makefiles requested --gc-sections?
|
||||
ifdef CORE_GCSECTIONS
|
||||
# Do not use '--gc-sections' when compiling sdl-sim
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
## Example GDB script for loading a bootloader binary using OpenOCD
|
||||
|
||||
# Set target binary and connect to OpenOCD
|
||||
file "./bootloader.elf"
|
||||
target extended-remote localhost:3333
|
||||
|
||||
# Reset target and flush register cache since GDB is apparently
|
||||
# not smart enough to do this itself.
|
||||
monitor reset halt
|
||||
maintenance flush register-cache
|
||||
|
||||
# Download binary to target
|
||||
load "./bootloader.elf"
|
||||
Loading…
Add table
Add a link
Reference in a new issue