OpenOCD的概念,安装和使用
Posted dylancao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenOCD的概念,安装和使用相关的知识,希望对你有一定的参考价值。
概念:
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的概念,安装和使用的主要内容,如果未能解决你的问题,请参考以下文章