HPM6000系列微控制器 CMSIS DAP调试器使用指南

cathy的头像
cathy 发布于:周四, 03/09/2023 - 10:12 ,关键词:

在上海先楫提供的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

1.png

 JTAG引脚连接

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

2.png

 JTAG接口示意图

3 CMSIS DAP工程配置

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

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

3.png

 选择Project->Options 

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

4.png

 选择GDB Server Command Line

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

5.png

 命令行中ft2232.cfg部分

将其修改为cmsis_dap.cfg。

6.png

 命令行替换为cmsis_dap.cfg

配置完成即可开始调试。

4 异常诊断

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

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

7.png

sdk_env的命令行工具

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

8.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为其他型号对应的脚本文件。

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

9.png

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

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

10.png

 OPENOCD未连接到CMSIS DAP调试器

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

 OPENOCD未连接到CMSIS DAP调试器

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

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

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

来源:先楫芯上人

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 240