博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
openOCD的使用
阅读量:5075 次
发布时间:2019-06-12

本文共 2001 字,大约阅读时间需要 6 分钟。

openOCD的使用

简介

openOCD是一个用于JTAG调试的软件, 可以用于不同调试器和CPU, 还可以与GDB配合, 开源.

安装

openOCD的项目主页是http://sourceforge.net/projects/openocd/files/openocd/, 可以下载源代码和软件手册, 我选择的是0.7.0版本. 主要步骤如下:

  • 从项目主页下载软代码包到本地, 并解压
  • 然后是autoconfig的配置, 在解压的目录中执行 ./configure --prefix=/usr/local --enable-jlink. --prefix用于设置软件安转的目录, --enable-jlink选项用于支持jlink调试器, 还有很多其他选项, 可以通过命令./configure --help 查看.
  • 执行 makemake install, make install 可能需要超级用户权限 + 安装完成已后运行 openocd -v 查看是否能够使用 通过Debian的仓库可以直接下载0.5版本的openOCD, 版本有点老, 不太好用, 所以编译0.7版本, 在编译的过程中没有出现错误, 现在(2014/06)的最新版本是0.8, 我在编译0.8版本的过程中会报错, 没找到错误的原因.

openOCD的配置

openOCD的配置文件使用的是tcl语言, 有很多现成的配置脚本可以直接使用, 对配置文件不是很了解, 具体的可以查看软件手册. 在启动openOCD时可以使用 -f 选项指定配置文件, 可以多次使用指定多个配置文件. 如过不指定, 则默认使用当前目录中的openocd.cfg文件. 以下是我自己的一个配置文件

# interface config    source [find interface/jlink.cfg]    adapter_khz 6000        # board config        source [find target/samsung_s3c2440.cfg]        ## NOR flash config    nand device nand s3c2440 $_TARGETNAME         ## NAND flash config    flash bank nor cfi 0 0x200000 2 2 $_TARGETNAME jedec probe            ## Target reset handlers for SDRAM and I/O configuration        ## reset config    adapter_nsrst_delay 100    jtag_ntrst_delay 100    reset_config trst_and_srst        ## other        proc init_2440 { } {        halt        s3c2440.cpu curstate            # sdram        mww phys 0x48000000 0x22011110 ;        mww phys 0x4800001c 0x00018005 ;        mww phys 0x48000020 0x00018005 ;        mww phys 0x48000024 0x008C04F4 ;        mww phys 0x48000028 0x000000B1 ;        mww phys 0x4800002C 0x00000030 ;        mww phys 0x48000030 0x00000030 ;    }        proc ldimg { } {        load_image /home/sannyas/main.bin 0x30000000 bin;        resume 0x30000000    }

配置中有些命我也不知道是什么意思, 不过能使用就可以了. 可以添加一些自己定义的命令, 方便在调试的时候使用, 比如上面的 ini_2440ldimg 就是自己定义命令.

使用

openOCD的使用比较简单, 直接运行openocd命令, 并指定配置文件, 或使用默认的配置文件, 运行成功后, 可以执行命令 telnet localhost 4444, 使用telnet接入openocd, 就可以执行一些调试命令. 使用openocd主要是熟悉常用的操作和命令.

常用操作和命令

转载于:https://www.cnblogs.com/sannyas/p/3792748.html

你可能感兴趣的文章
数据库链路创建方法
查看>>
Enterprise Library - Data Access Application Block 6.0.1304
查看>>
重构代码 —— 函数即变量(Replace temp with Query)
查看>>
Bootstrap栅格学习
查看>>
程序员的数学
查看>>
聚合与组合
查看>>
jQuery如何获得select选中的值?input单选radio选中的值
查看>>
设计模式 之 享元模式
查看>>
如何理解汉诺塔
查看>>
洛谷 P2089 烤鸡【DFS递归/10重枚举】
查看>>
15 FFT及其框图实现
查看>>
Linux基本操作
查看>>
osg ifc ifccolumn
查看>>
C++ STL partial_sort
查看>>
3.0.35 platform 设备资源和数据
查看>>
centos redis 安装过程,解决办法
查看>>
IOS小技巧整理
查看>>
WebDriverExtensionsByC#
查看>>
我眼中的技术地图
查看>>
lc 145. Binary Tree Postorder Traversal
查看>>