OpenOCD

开源的JTAG上位机程序
授权协议 未知
开发语言
所属分类 其他开源、 硬件驱动/工具
软件类型 开源软件
地区 不详
投 递 者 黄丰
操作系统 未知
开源组织
适用人群 未知
 软件概览

OpenOCD是一个开源的JTAG上位机程序,目前支持多种芯片,可以简单查看src/target/target.c中的target_types的定义就可以了解支持哪些处理器了:
target_type_t *target_types[] =
{
 &arm7tdmi_target,
 &arm9tdmi_target,
 &arm920t_target,
 &arm720t_target,
 &arm966e_target,
 &arm926ejs_target,
 &feroceon_target,
 &xscale_target,
 &cortexm3_target,
 &arm11_target,
 &mips_m4k_target,
 NULL,
};
并且支持的芯片还在不断增加中。
支持的编程工具,主要是并口的JTAG工具和基于FT2232的JTAG工具。当然,由于源代码都是公开的,并且可以自己编译,所以增加自己定义的工具的驱动也是相当容易的。

【编译安装】
自己编译安装OpenOCD可以参考DIY Versaloon中的DIY OpenOCD部分。
一定要注意doc/openocd.pdf文档(需要编译生成),里面有各个配置和命令的详细说明。

【配置】
OpenOCD需要针对不同的JTAG工具和不同的目标芯片,配置一个配置文档。
一般而言,配置文档分为4个部分
1.分别是定义各个接口的Port(比如telnet_port,gdb_port,tcl_port)
2.JTAG工具的定义
3.目标的定义
4.脚本的定义
接口Port的定义一般如下(非特殊情况,无需修改,定义了一些端口号)
telnet_port 4444
gdb_port 3333
tcl_port 6666
JTAG工具的定义,一般在工具的主页里会提供,而且针对不同的目前芯片,这个定义不需要修改。
目前芯片的定义,是用来告诉OpenOCD,你的JTAG链是如何连接的(以什么顺序,链接了那些目标芯片)。OpenOCD支持的芯片的定义,基本在src/target/target目录中都可以找到对应的配置文件。
脚本的定义,对于最新版本的OpenOCD尤为重要(最新的OpenOCD去掉了一些配置,而使用脚本的方式来实现)。脚本主要实现了如何操作目标芯片,不同的目标芯片的操作方式会有区别。
OpenOCD的配置基本可以使用现成的一些配置,一般在使用的JTAG工具的主页上可以找到。

【使用】
OpenOCD的启动可以直接调用openocd.exe程序,改程序会自动寻找openocd.cfg默认配置。当然,可以使用-f参数来指定使用的配置文件,比如:
openocd -f openocd_stm32.cfg
如果配合Makefile来实现编译完成后自动下载固件的功能的话,可以使用OpenOCD配置文件的脚本配置部分,以脚本的方式来实现自动的固件下载。
如果需要使用GDB或者手动操作目标设备的话,在配置文件的脚本部分中,只需要初始化目标芯片的脚本即可。然后可以通过telnet或者gdb或者tcl来连接上OpenOCD。

  • 本文介绍openocd开源软件的安装以及搭配JTAG对Xilinx u500VC707devkit的调试 PC OS: Ubuntu20.04 LTS Target ARCH: riscv64 JTAG: Olimex-ARM-USB-TINY-H OpenOCD version: OpenOCD v0.10.0 1、OpenOCD简介   OpenOCD(Open On-Chip Debugge

  • http://openocd.org/getting-openocd/

  • openocd是一个开源的JTAG调试软件,结合gdb可以进行嵌入式软件的调试。其调试方案的结构为:gdb前端gdb< —->gdb服务程序JTAG协议转换器目标cpu(arm)。gdb前端是gdb工具的一个图形化的界 面,使gdb得调试更加的方便,gdb是用来调试目标cpu上的程序,属交叉工具链(如arm-linux-gdb),gdb服务程序指的就是 openocd。本文主要介绍在使用oenoc

  • 简介 仓库地址: github:Nuclei RISC-V Linux Software Development Kit gitte:Nuclei RISC-V Linux Software Development Kit 仓库简介 :在芯来科技开发板搭建RISCV linux开发环境 博客内容:仓库中Makefile文件debug_freeloader规则分析、/conf/evalsoc/ope

  • OpenOCD Jlink配置 1. 编译安装OpenOCD 克隆OpenOCD库到本地 user@user:~$ git clone https://github.com/openocd-org/openocd.git Cloning into 'openocd'... remote: Enumerating objects: 72495, done. remote: Counting obje

 相关资料
  • 用过Facebook的应该都见过给图片加标记的效果,这篇文章要推荐的这个就是模仿这个效果的jQuery插件-jTag,它能让你在图片的任意地方点击并添加描述性的标记。 此插件兼容于目前主流的几个浏览器,经测试在Firefox 3.5 +, Internet Explorer 7 + 和 Google Chrome 8 + 中是可用的。插件的布署也很简单,官方主页上也有详细的布署说明,除此之外也提供

  • 前言 JTAG(Joint Test Action Group;联合测试工作组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持 JTAG 协议,如 DSP、FPGA 器件等。标准的 JTAG 接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线,另外 ARM 还提供了 SWD 的调试接口,比 JTAG 所需要的

  • 我有个奇怪的MSI!!!

  • 本文向大家介绍C# WPF上位机实现和下位机TCP通讯的方法,包括了C# WPF上位机实现和下位机TCP通讯的方法的使用技巧和注意事项,需要的朋友参考一下 下位机使用北京大华程控电源DH1766-1,上位机使用WPF。实现了电压电流实时采集,曲线显示。上午在公司调试成功,手头没有程控电源,使用TCP服务端模拟。昨天写的TCP服务端正好排上用场。 界面如下: 服务端 服务端实在上篇基础上实现的。需要

  • 我正在开始一个网站,可能会得到很多关注从钓鱼机器人在评论或电子邮件。 如何检测和阻止基于硒的机器人?我更喜欢开源框架,这样我就可以实时更新代码。该网站基本上使用JavaScript、HTML5和Apache上的CSS。

  • 我已经在Java工作了8个月。目前,我正在使用JNA加载一个第三方DLL,它在32bit WinXP和32bit Win7机器上运行良好。 我将使用procexp来查找是否缺少任何依赖项。我会相应地更新这篇文章。 请提供您的专家建议。提前感谢!