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

gdb openocd jlink arm-a9调试

连接关系是这样的:gdb —> openocd —>(这里需要两个xx.cfg配置文件) jlink —> arm-a9板子

具体流程是这样的:

  1. 给jlink(硬件调试器)安装驱动,用USB Driver Tool这个软件,原因:openocd操控jlink只能通过libusb-winusb这个驱动,而ozone等调试端软件却只能通过原本的驱动,而USB Driver Tool这个软件还能把驱动恢复回去,所以更推荐这个。(注意:这个软件安装后,不会产生桌面快捷方式啥的,就在它的同级文件夹能找到安装后的应用了,用这个才是对的。如果是别的地方打开的,好像打开后在右键安装,会提示签名时间过期啥的,从而驱动安装不上)


     
  2. openocd本质上是一个gdbserver,使用命令行是:openocd -f 调试器.cfg -f 板子.cfg。有的使用只用一个配置文件即可 openocd -f xx.cfg,这是因为 xx.cfg 里包含了两个配置文件,如下:(此时后面就不要再接 -f v7arm.cfg(这个配置文件和板子是息息相关的,将会告诉jlink把代码加载到处理器的哪个起始地址,所以该脚本是处理器设计公司需要给的,除非是通用cpu)了,因为会报错 xx.dap已经定义了,这是因为相当于两次-f v7arm.cfg了, 当然会报错了)



    这里需要注意的是,自从openocd 0.10版本后,v7arm.cfg里面的语法就不再支持 -chain-position 这个语法了,会报错(如果该脚本还用的是老的脚本语法),所以需要修改,就按照报错这里提示的网址,点进去,就有修改步骤,修改后就可以了。修改后的样子如下所示:(具体的,或者参考一下openocd自带的脚本文件写法就明白了)


     
  3. openocd通过命令行,openocd.exe  -f C:/opt/xx.cfg 
    就会输出调试器电压值,目标板电压值等信息,且等待 gdb通过3333端口连接它了
    Info : Listening on port 3333 for gdb connections
  4. 打开另一个命令行终端,输入 
    arm-none-eabi-gdb .\xx.out(注:out文件和elf文件是一样的,都是带调试信息的最终可执行文件,都可以用,其实out文件才是新一代的可执行文件,elf逐渐过时了)
    进入了gdb,再输入
    target remote localhost:3333
    连接上了openocd后,再输入
    load这个命令非常重要,因为它才会告诉gdb将解析的.\xx.out的text段等内容载入到板子对应内存去,此时cpu才能读到且运行程序,否则直接运行会报 no bound即找不到边界。还有就是,该命令在gdb mi接口可能没有,但是mi接口可以直接用cli接口命令的,因此mi接口模式下也直接用这个命令即可。
    此时板子就等待运行了,再输入
    break main
    continue(全速运行意思)
    此时板子就能运行的main函数入口而停下来了,就能正常使用gdb的调试命令了

http://www.lryc.cn/news/20385.html

相关文章:

  • Leetcode Solutions - Part 2
  • 外盘国际期货:围观那些奇葩的国际节日?
  • Kubernetes之服务的基本管理
  • TimeWheel时间轮算法原理及实现(附源码)
  • 【蓝牙mesh】Upper协议层介绍
  • NEXUS 6P刷机安装Edxposed
  • web、ES、vue等知识总结
  • 数据库第一章(王珊课后习题)
  • 设计模式(十一)----结构型模式之装饰者模式
  • lighthouse的介绍和基本使用方法
  • 分布式算法 - Raft算法
  • Python|每日一练|链表|双指针|数组|递归|图算法|单选记录:删除链表的倒数第 N 个结点|下一个排列|迷宫问题
  • 天线理论知识2——宽带天线介绍
  • 【计组笔记05】计算机组成与原理之虚拟存储器、指令系统、中央处理器CPU
  • 多功能土壤速测仪功能介绍
  • 《设计模式》命令模式
  • 开源物联网平台有哪些?
  • Tesla Autopilot,处理器和硬件
  • jianzhiOffer第二版难重点记录
  • C语言 | 问题20230225
  • 【机器学习笔记】Python基础笔记
  • js-DOM03-DOM对CSS的操作
  • tun驱动之tun_init
  • 模拟退火算法优化bp
  • 【NFC音乐相册】简易制作
  • 每日一题——L1-085 试试手气(15)
  • FreeRTOS信号量
  • Leetcode.2385 感染二叉树需要的总时间
  • [蓝桥杯 2022 国 B] 卡牌(贪心/二分)
  • 1301:大盗阿福