[MCU] 先楫官方工程师干货:HPM6000系列微控制器 CMSIS DAP调试器使用指南

谍纸天眼   2022-11-3 10:52 楼主

本文由上海先楫半导体高级工程师费振东费教授测试并编写。

 

在上海先楫提供的HPM系列MCU评估套件上,多数集成了基于FTDI的FT2232芯片的板载调试器,方便了开发人员直接调试并评估HPM6000系列产品。

当用户开始基于HPM6000系列产品进行原理图和PCB设计时,出于成本和简化设计考虑我们推荐在电路上保留JTAG接口并连接相关信号到HPM6000系列MCU的JTAG引脚。

本文介绍了CMSIS DAP调试器,并介绍了利用其进行HPM6000系列微控制器调试的相关配置方法

 

 

CMSIS DAP配置指南

 

►►►

1 CMSIS DAP简介

CMSIS DAP是一款开源的调试器固件,它定义了一系列标准的协议,用以访问芯片的调试接口(Debug Access Port)。CMSIS DAP调试器通常以接口芯片的方式呈现,以USB电缆运行调试器的主机,以JTAG或者SWD接口连接芯片的开发板。

 

主机与开发板直接通过交换一系列通讯实现调试,通常主机发送命令(command)而开发板回复响应(response)。借助CMSIS DAP调试器支持的JTAG命令,开发人员可以利用标准的CMSIS DAP调试器,调试HPM6000系列RISC-V高性能微控制器。

 

HPM6000系列微控制器符合The RISC-V Debug Specification, Version 0.13 规范,支持 4 线 JTAG 接口,符合 IEEE Std 1149.1。Debug 调试系统包括 JTAG 接口转换模块(DTM)和调试模块(DM) 2 部分。DTM 通过标准 JTAG 接口对接外部调试器,可以把 JTAG 上收到的调试指令转换成对 DM 模块的读写访问。调试模块 DM 集成了调试功能,可以暂停或者恢复 CPU 的运行,产生复位,以及访问片上资源。

 

因此,用户可以利用CMSIS DAP调试HPM6000系列微控制器,需要利用CMSIS DAP的JTAG接口。目前暂不支持使用SWD接口进行调试。

 

由于CMSIS DAP调试器固件开源,无需特别安装驱动,易于使用,易用获得,支持芯片的种类繁多,因此受到广大开发人员的欢迎。有兴趣的读者可以在国内各大知名网商平台搜索“CMSIS DAP”,获取相关购买信息。

 

►►►

2 CMSIS DAP调试接口电路

使用CMSIS DAP调试器,需要将其JTAG信号与HPM6000系列微控制器的JTAG引脚相连,下面以HPM6750EVK的调试电路为例,需要连接如下信号:

 

· TDO与PY0/JTAG_TDO

· TDI与PY1/JTAG_TDI

· TCK与PY2/JTAG_TCK

· TMS与PY3/JTAG_TMS

· JRST与PY4/JTAG_TRST(可选)

· SRST与PZ1/RESETN(可选)

· CMSIS DAP GND和开发板GND

 

640?wx_fmt=png

 JTAG引脚连接

 

在HPM6750EVK上,试用CMSIS DAP进行调试的话,需要把0欧电阻R39,R40,R41,R43,R44,R45断开,并安装0欧电阻R46,R47,R49,R51,R52,R53,或把它们短接。

 

640?wx_fmt=png

 JTAG接口示意图

 

►►►

3 CMSIS DAP工程配置

本节以Segger Embedded Studio集成开发环境为例,介绍了利用CMSIS DAP调试器进行HPM6000系列MCU开发调试必要配置步骤。

 

以基于sdk env的generate_project命令生成的hello world例程为例,打开生成的Segger Embedded Studio项目,点击菜单project,并选择Options:

 

640?wx_fmt=png

 选择Project->Options 

 

寻找Debug下的GDB Server,并点击GDB Server Command Line右侧的省略号标记,编辑GDB Server Command Line。

 

640?wx_fmt=png

 选择GDB Server Command Line

 

寻找命令行中,定义的缺省ft2232调试器的部分。

 

640?wx_fmt=png

 命令行中ft2232.cfg部分

将其修改为cmsis_dap.cfg。

 

640?wx_fmt=png

 命令行替换为cmsis_dap.cfg

配置完成即可开始调试。

 

►►►

4 异常诊断

当用户使用CMSIS DAP调试遇到故障时,用户也可以利用sdk env自带的命令行工具,测试调试器的连接和开发板JTAG接口的连接。

以Windows10操作系统为例,用户可以点击sdk env目录下的start_cmd.cmd,启动命令行工具:

640?wx_fmt=png

sdk_env的命令行工具

 

使用cd命令进入调试器的目录hpm_sdk\boards\openocd

640?wx_fmt=png

 进入hpm_sdk的openocd文件夹

 

以HPM6750微控制器为例,执行以下脚本:

openocd.exe -f probes\cmsis_dap.cfg -f soc\hpm6750-dual-core.cfg

注意,HPM6000系列其他型号产品,需要替换-f soc\hpm6750-dual-core.cfg为其他型号对应的脚本文件。

 

此时,正确的连接信息应如下:

640?wx_fmt=png

 OPENOCD通过CMSIS DAP成功连接调试目标

 

当连接的CMSIS DAP调试器异常或者系统未检测到调试器时,可能出现以下连接信息

 

 
640?wx_fmt=png

 OPENOCD未连接到CMSIS DAP调试器

 

当CMSIS DAP调试器与目标板连接异常,如调试相关信号连接错误,或者目标板本身各类异常,如芯片工作异常,板子供电异常等情况时,可能出现以下信息。

640?wx_fmt=png

 OPENOCD未连接到CMSIS DAP调试器

 

此时建议用户着重检查HPM6000微控制器芯片的工作情况,以及调试电路的连接情况。

由于CMSIS DAP是开源的调试器固件,CMSIS DAP调试器可以基于众多芯片方案实现,各个方案的性能可能有所差异,有下载或者调试响应缓慢现象。推荐用户选择支持高速USB的CMSIS DAP调试器。

回复评论 (1)

CMSIS DAP调试器固件开源支持芯片的种类繁多,不用很繁琐安装驱动,比较人性化,调试编程效率高

点赞  2022-11-6 09:30
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复