【STM32】cmsis-dap调试器-OpenOCD功能集成进CubeIDE中

前言

被自己买的Jlink真是要整烦了
一下连不上,一下固件掉升级,一下说是D版不给调试
于是乎决定,我买了个CMSIS-DAP调试器,决定放弃JLink这等@#$%^&货…

CMSIS-DAP 调试器

这个是开源调试器,硬件软件开源,T宝可以买,自己也可以去Github上搜索源码和固件和原理图自己做。
当然我很懒,我去买了现成的。。。
好家伙,里面拆开其实就是个国产32的最小系统而已。。。哈哈哈哈
这个网上介绍搜索一堆,这里就不废话了

STM32 CubeIDE

STM32自家 eclipse魔改IDE
GNU的底子,eclipse的外皮
我这里以1.7版为例说明
我不知道后面的版本有没有集成这个OpenOCD功能
如果有,那就省了很多事情了。

OpenOCD

这个是一个开源项目,可以连接ST-Link,Jlink,CMSIS-DAP等等各种你知道的不知道的Link调试器,连接各种Cortex芯片
有OpenOCD或者是Python实现的Pyocd,我这里主要介绍OpenOCD,Pyocd辅助【主要是Pyocd有个地方我这里一直不行,不懂弄】
下载链接

改造 CubeIDE,装Openocd插件

这里在线,离线方法我都说一说

在线的

在这里插入图片描述
Help->Eclipse Marketplace,等他加载完毕
搜索openocd,装Eclipse Embedded 6.3.1
待会装的方法,我这里就不多介绍了,我这里装了,不好卸载再截图了
这里自己搜索下Eclipse在线安装插件的方法哈
在这里插入图片描述
如果网速OK,过一会就会装好,让你重启IDE

离线的

考虑到某些情况,不方便联网装
我这里提供离线下载的链接
把这个ZIP下下来
或者我这里下好了,你来下吧
安装方法网上搜一搜,这里不介绍了,很多人写。

在这里插入图片描述

怎么配置呢

之后点击顶部的绿色虫子旁边的小三角,
在这里插入图片描述
进入后选这个,看看应该多出来了很多东西
在这里插入图片描述
看到这些说明你装成功了
在这里插入图片描述
我们选择OpenOCD Debuging,双击自动新建一个调试配置,这里我们分为调试和烧录
我会将涉及到需要配置的分页单独讲解

调试的配置

在这里插入图片描述
C/C++ Application这里选择你编译出来的elf文件,一般在Debug文件夹下面
在这里插入图片描述

首先Execution Path,这里填写你OpenOCD.exe所在的绝对路径
下面的三个Port,对于单个调试器的情况无需修改,但是对于同时调试多个芯片时,这个需要错开
譬如现在是3333,4444,6666.另一个芯片你就配置一组不一样的就可以。
下面这个Config是最重要的

-c “adapter driver cmsis-dap” -c “adapter serial 12345678” -f “xxxxx\scripts\target\stm32h7x.cfg”

-c "adapter driver cmsis-dap"这个的含义是连接的是CMSIS-DAP
-c "adapter serial 12345678"这个的意思是连接指定序列号,12345678这里我代指序列号,可能是别的哈
如果你只用一个调试器,这段不需要写
如果你不止一个调试器连接在电脑上,这段要写

-f “xxxxx\scripts\target\stm32h7x.cfg” 这个是指定你连接的CPU类型,下载OpenOCD的压缩包里面有这样的cfg文件,找到自己CPU对应的文件,我这里是H743,其他的自行寻找对应的cfg,一般常见的型号都有…

GDB下面的配置
就是需要手动设置下arm-none-eabi-gdb执行文件的位置
这个在CubeIDE安装路径下面,找一找就可以找到

后面的页面保持默认就可以了,不用改
把调试器和芯片板卡相连
我这个调试器是需要接SWCLK SWDIO GND VCC,我没接复位信号
其他情况自行研究
然后不出意外正常进调试应该就可以调试了

如何查询你的调试器序列号

当调试器连接到电脑的时候,会多出一个盘符,打开这个盘符,应该有一个文本文件,里面记录着调试器的基本信息
里面有调试器的序列号。

烧录的配置

烧录的配置和调试的类似
就是Config有点不一样,类似
-c “adapter driver cmsis-dap” -c “adapter serial 12345678” -f “xxxxx\scripts\target\stm32h7x.cfg” -c “program xxxxxxx 你的芯片烧录地址” -c “reset” -c “shutdown”

-c “program xxxxxxx 你的芯片烧录地址”
这里xxxxxxx 是你的编译产物(bin,hex)的绝对地址,注意路径这里需要改成双斜线的写法,他才识别的出来!!!
你的芯片烧录地址 这里填写十六进制的地址,例如H743是0x8000000
-c “reset” 下载完毕后复位芯片
-c “shutdown” 下载完毕之后关闭连接

Enjoy…

nanoDAP-wl 是实验室推出的基于cmsis-dap的无线调试器,即插即用,速度快,支持虚拟串口。无线调试器包括发射机/接收机,基于2.4G无线通信,可对10m范围内的目标行调试下载、单步调试等操作,在某些有线仿真器不便调试的场景,如目标始终处于移动状态(飞行器、小车、机器人等),目标已经组装成产品形态,并且已安装在墙上或者高处等。此时使用无线调试器能较好的解决这些场景下调试问题,有效提高研发效率。 产品特点 使用极简,PC端无需安装额外软件,只需将发射机和接收器分别上电,等待连接成功,即可开始调试 支持SWD协议,典型的基于ARM Cortex-M系列芯片均支持SWD调试,常见的芯片如STM32系列,GD32系列,ATMEL-SAM系列,NORDIC-NRF51/52系列,NXP-LPC系列等芯片均支持SWD调试下载 支持JTAG协议,配合开源调试器OpenOCD可支持全球范围内几乎所有SoC芯片的调试,如ARM Cortex-A系列、DSP、FPGA、MIPS等,因为SWD协议只是ARM自己定义的私有协议,而JTAG则是国际IEEE 1149标准 支持虚拟串口,而且支持同时行仿真调试和串口输出 接收机支持向目标板供电(5V、3.3V),以及从目标板取电(5V、3.3V)两种方式行工作 支持MDK/IAR/OpenOCD,支持Windows/Linux/Mac 下行调试开发 软件基于CMSIS-DAP实现,使用USB HID协议,无需安装驱动即可下载调试 v1.0版本硬件开源、固件开放,可供爱好者自行制作 使用场景用于调试飞行器,小车,机器人,由于调试目标为通常处于移动状态,若使用传统下载器不仅下载比较麻烦,而且无法行单步调试。 目标板已经组装好外壳,成为产品形态,此时传统的有线方式不便调试。 产品安装在高处,如路灯、高塔等位置,此时使用有线方式不便调试。 产品链接(见附件) 说明 nanoDAP-wl v1.0 版本硬件开源,供爱好者自行制作研究。 固件针对个人开放,请大家加入QQ群 698319017 向群主索取。 更多信息 更多详情,用户手册和原理图等,请在https://github.com/wuxx/nanoDAP-wireless查看。 感兴趣的朋友请加入QQ群 698319017 研究讨论学习。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值