1. 程式人生 > >OpenOCD的概念,安裝和使用

OpenOCD的概念,安裝和使用

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, size 
0x188 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的概念,安裝和使用