# 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..." source [find target/stm32f4x_stlink.cfg] echo "" echo "##### Configuring..." reset_config srst_only srst_nogate #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 flash protect 0 0 last off reset init flash write_image erase $file 0x08000000 verify_image $file 0x0 #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..."