STM32F103 Linux alatt OpenOCD-vel

Az OpenOCD 0.5.0-s verziójával így kapcsolódhatunk az STM32F103-as mikrovezérlőhöz:

Az openocd.cfg fájl tartalma (a JTAG interface nálam ARM-USB-OCD):

source [find interface/olimex-arm-usb-ocd.cfg]

source [find target/stm32f1x.cfg]

gdb_memory_map enable

gdb_flash_program enable

telnet_port 4444

Az alábbi parancsot futtassuk:

$ openocd -f openocd.cfg

Open On-Chip Debugger 0.5.0 (2011-12-17-08:02)

Licensed under GNU GPL v2

For bug reports, read

http://openocd.berlios.de/doc/doxygen/bugs.html

Info : only one transport option; autoselect 'jtag'

1000 kHz

adapter_nsrst_delay: 100

jtag_ntrst_delay: 100

cortex_m3 reset_config sysresetreq

Info : clock speed 1000 kHz

Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)

Info : JTAG tap: stm32.bs tap/device found: 0x16410041 (mfg: 0x020, part: 0x6410, ver: 0x1)

Info : stm32.cpu: hardware has 6 breakpoints, 4 watchpoints

Info : accepting 'telnet' connection from 4444

Egy másik ablakban pedig telnet-et indítva kapcsolódhatunk az openocd-hez és parancsokat adhatunk:

\$ telnet localhost 4444

Open On-Chip Debugger

> halt

target state: halted

target halted due to debug-request, current mode: Thread

xPSR: 0x81000000 pc: 0x1ffff3b6 msp: 0x200000c4

> flash probe 0

device id = 0x20036410

flash size = 128kbytes

flash 'stm32f1x' found at 0x08000000

> flash write_image erase myprog.elf

auto erase enabled

wrote 5120 bytes from file myprog.elf in 0.522680s (9.566 KiB/s)

Minden egy parancsban (itt találtam, de nem próbáltam):

openocd -d0 -f interface/jtagkey.cfg -f target/stm32.cfg \

-c init -c targets -c "halt" -c "flash write_image erase test.elf" \

-c "verify_image test.elf" -c "reset run" -c shutdown

Oldalak