高邮建设银行网站,专题定制网站建设,互联网设计是做什么的,开发一个网站平台多少钱连接关系是这样的#xff1a;gdb — openocd —#xff08;这里需要两个xx.cfg配置文件#xff09; jlink — arm-a9板子 具体流程是这样的#xff1a;
给jlink#xff08;硬件调试器#xff09;安装驱动#xff0c;用USB Driver Tool这个软件#xff0c;…连接关系是这样的gdb — openocd —这里需要两个xx.cfg配置文件 jlink — arm-a9板子 具体流程是这样的
给jlink硬件调试器安装驱动用USB Driver Tool这个软件原因openocd操控jlink只能通过libusb-winusb这个驱动而ozone等调试端软件却只能通过原本的驱动而USB Driver Tool这个软件还能把驱动恢复回去所以更推荐这个。注意这个软件安装后不会产生桌面快捷方式啥的就在它的同级文件夹能找到安装后的应用了用这个才是对的。如果是别的地方打开的好像打开后在右键安装会提示签名时间过期啥的从而驱动安装不上 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自带的脚本文件写法就明白了 openocd通过命令行openocd.exe -f C:/opt/xx.cfg 就会输出调试器电压值目标板电压值等信息且等待 gdb通过3333端口连接它了 Info : Listening on port 3333 for gdb connections打开另一个命令行终端输入 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 maincontinue全速运行意思 此时板子就能运行的main函数入口而停下来了就能正常使用gdb的调试命令了