2.1.7:调试器使用教程
2.1.7.1 支持的开发环境
支持MDK、IAR 免配置直接使用。
基于eclipse 框架的IDE
eclipse 框架的IDE 一般编译器配置为 gcc,调试器配置为 pyocd 或者 openocd 的形式,需要定制厂家对DAPLink 进行支持,或者安装 DAPLINK 的支持插件,典型的IDE 比如 RT-thread Studio 原生支持 DAPLink 的调试。
openocd 使用文档:Documentation (openocd.org)
使用pyocd 或者 openocd 的用户,以及使用eclipse 框架的IDE,请尽可能的使用新版本的驱动和软件,原因在于开源的发展速度相对较快,过时的版本可能支持不完善,或者已经弃用,而避免产生问题。
2.1.7.2 调试环境设置
2.1.7.2.1 MDK 调试设置
按照如下的流程,打开项目设置,选择CMSIS-DAP 调试器,如下图所示:
按照如下的设置,调整调试器的基本设置,并检查目标芯片是否连接正常,如下图所示,没问题之后,进入下一步。
SWD/JTAG Communication Failure/ RDDI Error 处理方法:
Flash Download 设置如下,根据实际的项目要求,设置合适的擦除方式,以及Program、Verify、Reset and Run 选项,并添加当前芯片的flash 算法,如下图所示
- 擦除方式选择:如果需要保留芯片的某些数据,比如设置数据,签名信息,一般选择擦除方式为 Sector Sections
- Reset and Run:在现在固件后要执行复位并运行,需要勾选Reset and Run 选项
针对高级用户,可以根据需要调整自定义调试设置,如下所示:
检查Use Debug Driver选项,启用硬件调试器,此选项默认是开启的,如遇到问题,此选项也是重点需要检查的设置,如下所示
检查设置之后,即可正常进入调试
操作示范
2.1.7.2.2 IAR 调试设置
项目右键,进入 Options 设置,切换到 General Options 标准设置页面,检查Target -> Device 是否选择正确,如下所示。
进入到Debugger 菜单,Setup 标签页面,选择 Driver 为:CMSIS-DAP 设备,根据需要可以勾选 Run to main 选项,如下所示。
在Debugger -> CMSIS-DAP 的 Interface 标签页中,选择接口为 SWD,如下所示
经过以上的设置就可以进行芯片的调试开发。
2.1.7.2.3 RT-thread Studio 调试设置
RT - thread Stduio 下载地址:https://www.rt-thread.org/studio.html
进入SDK Manager ,如下所示:
检查当前芯片支持包,RT-thread 源码,以及Pyocd 是否安装。
通过DAPLink进行项目调试,必须使用Pyocd 或者 OpenOCD 作为调试器的Adapter ,最终通过gdb 连接进行调试。
新建RT-Thread 项目,如下所示:
设置调试器,如下所示:
配置完成后,生成项目,即可进行下载和调试,如下:
在SDK-manager 中安装好 Pyocd 或者 Openocd 是必须的,
2.1.7.3 常见问题报错
2.1.7.3.1提示设备不匹配
1.Connection refused due to device mismatch!(Not a genuine ST Device! Abort connection)
2.Not a genuine ST Device!Abort connection
3.PDSC:Sequence Execution failed
上述问题可能是由于购买芯片不是原装芯片,详情请见
https://docs.powerwriter.com/docs/faq/powerwriter/base/debug%20question#device_mismatch
2.1.7.3.2 无法识别烧录器或者芯片
1.No Debug Unit Device found
2.SWD/JTAG Communication Failure
3.RDDI-DAP ERROR
上述问题详情请见
2.1.7.3.3 烧录失败
1.Flash Timeout.Reset the Target and try it again.
2.Error:Flash Download failed - "Cortex-M4"
3.Could not stop Cortex-M device!Please check the JTAG cable.
4.Error:Flash Download failed - Target DLL has been cancelled
上述问题详情请见
2.1.7.3.4 烧录成功,校验失败
1.Contents mismatch at: 08000064H(Flash=FFH Required=0)
上述问题详情请见
https://docs.powerwriter.com/docs/faq/powerwriter/base/debug%20question#2189-contents-mismatch
2.1.7.3.5 Flash算法配置错误
1.Cannot Load Flash Programming Algorithm!
2.Overlapping of Algorithms at Address 08000000H
上述问题详情请见