OpenOCD的概念,安裝和使用
阿新 • • 發佈:2019-01-28
cts 仿真器 cover 嵌入 目錄 color ron sta 功能
概念:
OpenOCD是一個運行於PC上的開源調試軟件,它可以控制包括Wiggler之內的很多JTAG硬件;我們可以將它理解為一種GDB服務程序。OpenOCD的源碼只能通過SVN下載,地址是:svn://svn.berlios.de/openocd/trunk 。最初是由Dominic Rath同學還在大學期間發起的(2005年)項目。OpenOCD旨在提供針對嵌入式設備的調試、系統編程和邊界掃描功能。OpenOCD的功能是在仿真器的輔助下完成的,仿真器是能夠提供調試目標的電信號的小型硬件單元。仿真器是必須的,因為調試主機(運行OpenOCD的主機)通常不具備這種電信號的直接解析功能。
安裝:
我這裏只提供macos和linux的安裝,其實,這兩個都是類unix系統,基本方法基本一樣的。
linux上的源碼安裝:
A 源碼下載: https://sourceforge.net/projects/openocd/files/openocd/
B 根目錄下執行:./configure --prefix=/usr/local --enable-jlink
C 然後執行:make && make install
macos上的命令安裝:
brew install openocd
使用:
我這裏以stm32的開發版為例:https://github.com/nabilt/STM32F4-Discovery-Firmware
下載和使用openocd:
git clone https://github.com/nabilt/STM32F4-Discovery-Firmware.git cd STM32F4-Discovery_FW_V1.0.1/Project/IO_Toggle make && make program openocd -f ../../openocd_config/openocd.cfg -f ../../openocd_config/stm32f4x.cfg
客戶端使用:
(gdb) target extended localhost:3333 (gdb) # reset and halt the chip (gdb) monitor halt (gdb) # load symbol files (gdb) file demo.elf (gdb) # load demo.elf into RAM (gdb) load demo.elf Loading section .isr_vector, size0x188 lma 0x8000000 Loading section .text, size 0xc5c lma 0x8000188 Loading section .data, size 0x38 lma 0x8000de4 Start address 0x8000d6c, load size 3612 Transfer rate: 6 KB/sec, 1204 bytes/write. (gdb) run the program. hit Control-C to stop (gdb) continue
參考文檔:
1 https://github.com/nabilt/STM32F4-Discovery-Firmware
OpenOCD的概念,安裝和使用