当前位置: 首页 > news >正文

下载软件 (三) openocd 的编译

  • openocd in windows
github.com/wuxx/openocd-toolbox

ubuntu 22.04 下编译 openocd

第一种方式 nosubmodule
    1. 安装依赖
sudo apt-get install libtool libtool pkg-config libhidapi-dev#hidapiis requiredforadapter"CMSIS-DAP v1 compliant dongle (HID)"
    1. bootstrap
git clone https://github.com/openocd-org/openocd.gitcd openocd/./bootstrap nosubmodule # 过程中 不会下载jimtcl(./jimtcl)libjaylink(./src/jtag/drivers/libjaylink/libjaylink)
    1. 配置及安装
# 在这里, 我只需要 remote-bitbang 和 cmsis-dap(V1) , 所以我如下配置 adapter./configure --enable-remote-bitbang=yes --enable-cmsis-dap=yes\--enable-angie=no --enable-armjtagew=no --enable-bitq=no --enable-buspirate=no --enable-dummy=no --enable-esp-usb-jtag=no --enable-ft232r=no --enable-ftdi=no --enable-jtag-dpi=no --enable-jtag-vpi=no --enable-kitprog=no --enable-libusb-helper=no --enable-linuxspidev=no --enable-mpsse=no --enable-nulink=no --enable-opendous=no --enable-osbdm=no --enable-rlink=no --enable-rlink-speed-table=no --enable-stlink=no --enable-ti-icdi=no --enable-ulink=no --enable-usbprog=no --enable-vdebug=no --enable-vsllink=no --enable-xds110=no --enable-xlnx-pcie-xvc=no --enable-usb-blaster-2=no --enable-usb-blaster=no --enable-cmsis-dap-v2=no# 默认会安装在 /usr/localmakesudomakeinstall
第二种方式 with-submodules
    1. 安装依赖
sudo apt-get install libtool libtool pkg-config libhidapi-dev libjim0.79libjim-dev
    1. bootstrap
git clone https://github.com/openocd-org/openocd.gitcd openocd/./bootstrap #过程中 会通过git 下载 两个submodule:jimtcl(./jimtcl)libjaylink(./src/jtag/drivers/libjaylink/libjaylink)
    1. 配置及安装
# 在这里, 我只需要 remote-bitbang 和 cmsis-dap(V1) , 所以我如下配置 adapter./configure --enable-remote-bitbang=yes --enable-cmsis-dap=yes\--enable-angie=no --enable-armjtagew=no --enable-bitq=no --enable-buspirate=no --enable-dummy=no --enable-esp-usb-jtag=no --enable-ft232r=no --enable-ftdi=no --enable-jtag-dpi=no --enable-jtag-vpi=no --enable-kitprog=no --enable-libusb-helper=no --enable-linuxspidev=no --enable-mpsse=no --enable-nulink=no --enable-opendous=no --enable-osbdm=no --enable-rlink=no --enable-rlink-speed-table=no --enable-stlink=no --enable-ti-icdi=no --enable-ulink=no --enable-usbprog=no --enable-vdebug=no --enable-vsllink=no --enable-xds110=no --enable-xlnx-pcie-xvc=no --enable-usb-blaster-2=no --enable-usb-blaster=no --enable-cmsis-dap-v2=no# 默认会安装在 /usr/localmakesudomakeinstall

adapter 相关的文件

#jtag-common./src/jtag/adapter.o./src/jtag/commands.o./src/jtag/core.o./src/jtag/interface.o./src/jtag/interfaces.o./src/jtag/swim.o./src/jtag/tcl.o#driver-common./src/jtag/drivers/libocdjtagdrivers_la-driver.o#bitbang./src/jtag/drivers/libocdjtagdrivers_la-bitbang.o./src/jtag/drivers/libocdjtagdrivers_la-remote_bitbang.o#libusb1common./src/jtag/drivers/libocdjtagdrivers_la-libusb_helper.o # 和 libusb-1.0-0-dev:amd64:/usr/include/libusb-1.0/libusb.h 有关系#cmsis-dap-v1./src/jtag/drivers/libocdjtagdrivers_la-cmsis_dap_usb_hid.o./src/jtag/drivers/libocdjtagdrivers_la-cmsis_dap.o

我为什么要升级到 openocd upstream

我怀疑 v0.11.0的 openocd 是有些问题的,然后想升级 openocd 到 最新版 去仓库:https://github.com/openocd-org/openocd不管是72ff2e2d9f869cd19951ce101e5ac61209ec434d 还是 v0.12.0,走remote_bitbang 协议,都不能进行到 如下 这一步骤 Info:JTAG tap:riscv.cpu tap/device found:0x1e200a6f(mfg:0x537(Wuhan Xun Zhan Electronic Technology),part:0xe200,ver:0x1)但是 v0.11.0.是可以的,我怀疑某笔提交导致了这个问题.以 src/jtag/drivers/remote_bitbang.c 的 提交记录 开始二分查找,找到了这笔问题提交5765a0ce14485aadc6b74c6e2b4f15b73df14603(Speed up remote bitbang)然后在 所有的提交记录 中 验证,确实是这一笔提交导致的 revert 后,修复了 冲突,然后就可以了.Open On-Chip Debugger0.12.0+dev-01914-g72ff2e2d9-dirty(2025-03-25-10:44)Licensed under GNU GPL v2 For bug reports,read http://openocd.org/doc/doxygen/bugs.htmladapter speed:1000kHz Info:Initializing remote_bitbang driver Info:Connecting to192.168.20.240:44853Info:remote_bitbang driver initialized Info:Note:The adapter"remote_bitbang"doesn't support configurable speed Info:JTAG tap:riscv.cpu tap/device found:0x1e200a6f(mfg:0x537(Wuhan Xun Zhan Electronic Technology),part:0xe200,ver:0x1)Info:datacount=3progbufsize=1Info:Examined RISC-V core;found2harts Info:hart0:XLEN=32,misa=0x60Info:[riscv.cpu]Examination succeed Info:[riscv.cpu]starting gdb server on3333Info:Listening on port3333forgdb connections Info:Listening on port6666fortcl connections Info:Listening on port4444fortelnet connections Info:accepting'gdb'connection on tcp/3333

cmsis-dap 插入ubuntu时的log

[2039.235628]usb1-2.1:new full-speed USB device number4using uhci_hcd[2039.528765]usb1-2.1:New USB device found,idVendor=c251,idProduct=f001,bcdDevice=1.00[2039.528784]usb1-2.1:New USB device strings:Mfr=1,Product=2,SerialNumber=3[2039.528790]usb1-2.1:Product:CMSIS-DAP-JYD[2039.528794]usb1-2.1:Manufacturer:CMSIS-DAP by ARM[2039.528798]usb1-2.1:SerialNumber:0001A0000001[2039.545223]hid-generic0003:C251:F001.0002:hiddev0,hidraw1:USB HID v1.00Device[CMSIS-DAP by ARM CMSIS-DAP-JYD]on usb-0000:02:00.0-2.1/input2[2039.645198]cdc_acm1-2.1:1.0:ttyACM0:USB ACM device[2039.645214]usbcore:registered new interface driver cdc_acm[2039.645215]cdc_acm:USB Abstract Control Model driverforUSB modems and ISDN adapters

centos 7.7 安装 openocd-v0.12.0

手动安装 automake-1.4:https://ftp.gnu.org/gnu/automake/automake-1.14.tar.gzsudo yum install libusb1-devel sudo yum install texinfo sudo yum install-y libtool sudo yum install-y autoconf-archive export ACLOCAL_PATH=/usr/share/aclocal./bootstrap nosubmodule./configure--enable-remote-bitbang=yes--enable-cmsis-dap=yes--enable-angie=no--enable-armjtagew=no--enable-bitq=no--enable-buspirate=no--enable-dummy=no--enable-esp-usb-jtag=no--enable-ft232r=no--enable-ftdi=no--enable-jtag-dpi=no--enable-jtag-vpi=no--enable-kitprog=no--enable-libusb-helper=no--enable-linuxspidev=no--enable-mpsse=no--enable-nulink=no--enable-opendous=no--enable-osbdm=no--enable-rlink=no--enable-rlink-speed-table=no--enable-stlink=no--enable-ti-icdi=no--enable-ulink=no--enable-usbprog=no--enable-vdebug=no--enable-vsllink=no--enable-xds110=no--enable-xlnx-pcie-xvc=no--enable-usb-blaster-2=no--enable-usb-blaster=no--enable-cmsis-dap-v2=no--disable-internal-libjaylink--prefix=`realpath~/work/openocd/openocd_install_dir` make install
http://www.jsqmd.com/news/1249185/

相关文章:

  • 从技术层级角度看多链路聚合通信技术
  • TM4C129LNCZAD UART识别寄存器与QSSI模块深度解析与实战
  • Agentic AI、AI Agent、AI 工作流有什么区别?
  • 为什么提示没有changid?
  • 基于ThreeJs的一些开源地图项目
  • 2026 年 7 月最新丨多品牌 AGV 与提升机第三方统一运维管理指南 - 品牌测评网
  • 2026枣庄300型风厂家哪家好,400型风机厂家推荐避坑指南:4个挑选要点,帮你绕开90%的坑 - mobible
  • 数字人口型同步为何总延迟300ms?揭秘行业TOP3厂商不敢公开的6个底层技术陷阱
  • 静态路由综合练习
  • 如何使用Windows OVERLAPPED优化你的应用
  • 2026北京名包“非专柜渠道”回收警示:代购包、奥莱款、折扣村货,回收时被区别对待吗? - 日常财经早知道
  • C++性能分析
  • TM4C129LNCZAD低功耗模式实战:从架构解析到代码实现
  • TM4C129 UART模块深度解析:从寄存器配置到DMA与中断优化
  • 生态修复理念下广州沙坑涌大源段河道景观提升设计
  • 计算机Django毕设实战-基于Django 的物流物资配送信息管理系统 企业物资出入库与配送调度系统设计【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 华为网络计算机ct2000,第八集[达特分享]华为CT5000一键刷BIOS安装OpenWRT制作软路由...
  • C++高并发内存池:三层架构设计与性能优化实践
  • AI驱动的电商运营革命(2024黑盒策略首次公开):头部品牌已用它悄悄跑赢92%同行
  • TMS320C5000 DMA高级应用实战:数据排序、程序分页与乒乓缓冲详解
  • double浮点数计算的一些问题,以及bigDecimal的使用,和DecimalFormat的对比、Long
  • 2026年实测:宁波4大周末语文小升初机构综合评测
  • Tiva™ TM4C129 EPI配置寄存器深度解析:从通用模式到主机总线时序优化
  • 2026扬州卫生间渗水发霉最全解答!不砸砖防水靠谱吗?根治楼下渗水方法 - 宅安选房屋修缮
  • Elastic 与 Deductive AI 携手合作,加速工程团队的 agent 式事件调查
  • 杭州方品科技深耕互联网技术赛道为产业数字化发展注入全新动能 - 资讯纵览
  • mvc 默认路由没有生效_许迎果 第172期 蜗牛星际U盘安装openwrt软路由全流程演示...
  • 向量数据库实战:选型、调优与落地~系列文章16:Milvus 分布式部署实战
  • C/C++输入输出深度解析:从缓冲区到文件操作,掌握I/O核心机制
  • 制造业中小工厂CRM选型指南与实施策略