2013-11-09 09:08:18 +00:00
|
|
|
# This is a script file for OpenOCD 0.7.0
|
|
|
|
#
|
|
|
|
# It is set up for the Mikromedia-STM32M4 board using the ST-Link JTAG adaptor.
|
|
|
|
#
|
|
|
|
# Assuming the current directory is your project directory containing this openocd.cfg file...
|
|
|
|
#
|
|
|
|
# To program your device:
|
|
|
|
#
|
|
|
|
# openocd -f openocd.cfg -c "Burn yourfile.bin" -c shutdown
|
|
|
|
#
|
|
|
|
# To debug your device:
|
|
|
|
#
|
|
|
|
# openocd
|
|
|
|
# (This will run openocd in gdb server debug mode. Leave it running in the background)
|
|
|
|
#
|
|
|
|
# gdb yourfile.elf
|
|
|
|
# (To start gdb. Then run the following commands in gdb...)
|
|
|
|
#
|
|
|
|
# target remote 127.0.0.1:3333
|
|
|
|
# monitor Debug
|
|
|
|
# stepi
|
|
|
|
# (This last stepi resynchronizes gdb).
|
|
|
|
#
|
|
|
|
# If you want to reprogram from within gdb:
|
|
|
|
#
|
|
|
|
# monitor Burn yourfile.bin
|
|
|
|
#
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
echo "##### Loading debugger..."
|
|
|
|
source [find interface/stlink-v2.cfg]
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
echo "##### Loading CPU..."
|
2015-11-27 00:13:23 +00:00
|
|
|
source [find target/stm32f4x.cfg]
|
2013-11-09 09:08:18 +00:00
|
|
|
|
|
|
|
echo ""
|
|
|
|
echo "##### Configuring..."
|
2015-11-27 00:13:23 +00:00
|
|
|
#reset_config srst_only srst_nogate
|
2013-11-09 09:08:18 +00:00
|
|
|
#cortex_m maskisr (auto|on|off)
|
|
|
|
#cortex_m vector_catch [all|none|list]
|
|
|
|
#cortex_m reset_config (srst|sysresetreq|vectreset)
|
|
|
|
#gdb_breakpoint_override hard
|
|
|
|
|
|
|
|
proc Debug { } {
|
|
|
|
echo ""
|
|
|
|
echo "##### Debug Session Connected..."
|
|
|
|
reset init
|
|
|
|
echo "Ready..."
|
|
|
|
}
|
|
|
|
|
|
|
|
proc Burn {file} {
|
|
|
|
echo ""
|
|
|
|
echo "##### Burning $file to device..."
|
|
|
|
halt
|
|
|
|
# Due to an issue with the combination of the ST-Link adapters and OpenOCD
|
|
|
|
# applying the stm32f2x unlock 0 command actaully applies read protection - VERY BAD!
|
|
|
|
# If this happens to you - use the ST-Link utility to set the option byte back to normal.
|
|
|
|
# If you are using a different debugger eg a FT2232 based adapter you can uncomment the line below.
|
|
|
|
#stm32f2x unlock 0
|
2015-11-27 00:13:23 +00:00
|
|
|
#flash protect 0 0 last off
|
|
|
|
reset halt
|
|
|
|
flash write_image erase $file 0 elf
|
|
|
|
verify_image $file 0x0 elf
|
2013-11-09 09:08:18 +00:00
|
|
|
#flash protect 0 0 last on
|
|
|
|
reset
|
|
|
|
echo "Burning Complete!"
|
|
|
|
}
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
echo "##### Leaving Configuration Mode..."
|
|
|
|
init
|
|
|
|
reset init
|
|
|
|
flash probe 0
|
|
|
|
flash banks
|
|
|
|
#flash info 0
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
echo "##### Waiting for debug connections..."
|
|
|
|
|
|
|
|
|