vesperW · 2023年11月21日

试用无线调试器PowerDebugger小记

  • 引言
  • 准备软硬件环境
  • PowerDebugger 无线调试器
  • EVB-YTM32B1LE0-Q64 开发板
  • 开始调试
  • 小结
  • 参考文献

引言

多年前调试智能车时,抱着电脑连着小车在跑道上一边跑一边看数据的经历,让我就对无线调试方法始终有执念。后来在智能车比赛中开始流行使用各种无线传输模块实时传输数据的技术,在某种程度上减轻了智能车开发者的体力负担(后来兴起的室外越野赛,让平时久坐实验室的学弟学妹们又不得不开始又跑起来了)。但无线传输仍需要配合专门定制开发的上位机,并在MCU端做好适配,配合小车上的控制算法和应用程序尽量不影响运行效率。如果要把这套系统方案开发完善,还是需要花费不少精力的,并且类似的技术通常也不会开放,而且应用层面上的调试远远不如直接调试底层来得直接和深入。最理想的用法,其实很简单,只要把那根连接PC和调试器的USB剪断就好。

收到创芯工坊的Alex邱总寄送过来尝鲜的Arm无线调试器PowerDebugger,我的心情是无比欣喜的,这么多年了,终于等到了商用的无线调试器面世了(泪奔。。。)。由于是国产自主品牌+调试器大厂出品,天然具备了物美价廉的特点,国内的开发者可以方便地在各种熟悉的线上平台下单,坐等送货上门。

image.png
图x PowerDebugger开箱全家福

无线调试器PowerDebugger使用Arm的DAPLink的协议,使用Wifi无线通信取代了以往调试系统中PC统调试器之间的USB连接线。除了有线变无线,用户在应用中使用没有任何差别,可以在以往的各种集成开发环境或者调试软件工具中使用DAPLink一样使用PowerDebugger

实在是忍不住要连上手头上的MCU开发板,试用一番。

准备软硬件环境

PowerDebugger 无线调试器

拿到PowerDebugger硬件设备后,还需要在PC上安装PowerDebugger客户端软件https://www.powerwriter.com/index/index/products.html?p=23&c=files&t=Client)。在创芯工坊的官网上可以下载到PowerDebugger客户端软件,如图x所示。目前PowerDebugger客户端软件已经可以支持WindowsLinuxMacOS等三个主流的操作系统平台。

image.png
图x 在创芯工坊官网下载PowerDebugger客户端软件

(插播广告,这也是创芯工坊官方对PowerDebugger的介绍)

PowerDebugger 集成本地USB(HID + Winusb)、本地直连、局域网、公网四种连线的工作模式的实时源码级调试功能,并辅以RTT Viewer,RTT Scope等实时可视化的Trace功能、附加通用串口一体的多功能调试器工具软件,超小的体积和重量,高度集成的功能,用户可用于作为高速调试器、电压隔离调试器、远程实时源码调试 (技术支持) 等应用场景、以及调试辅助Trace功能、并新增其他特色的功能,如全场景模式(本地USB、本地WIFI 直连,跨地区公网)的 UART,并提供全平台支持的小巧高效的调试器设备。

PowerDebugger的接收器上也带有一个Type-C的USB 接口,PC通过USB线接入这个USB接口,可以把接收机作为一个常规的有线DAPLink调试器使用。如图x所示。

image.png
图x PowerDebugger接收器

在PC机上接入PowerDebugger的发射器后,在调试阶段,就不需要接收器上连USB线(但需要从目标开发板上取电),实现真正的无线连接调试。PowerDebugger的发射器,如图x所示。

image.png
图x PowerDebugger的发射器

首次使用本地Wifi模式时,需要先同时将发射端和接收端的设备都通过USB线连到电脑上,执行配对操作。如图x所示。这个配对只要执行一次就好,让手头上的发射器和接收器互相识别,如果以后一直使用这一对收发器,就不用再配对了。

image.png
图x 在PowerDebugger上位机上配置配对

之后就可以断开PC和接收器的USB连线,以无线连接的方式正常使用了。特别注意,PowerDebugger的接收器需要从目标开发板上取电,调试期间要确保目标开发板有供电,并向PowerDebugger的接收器供电。

  • 当发射端或接收端任一方停止工作(断电)后,另一方也的连接指示灯也会熄灭,表示无线连接已断开。
  • 当再次恢复发射端和接收端的供电后,双方的连接指示灯会同时亮起,表示无线连接建立成功。

PowerDebugger客户端软件除了包括PowerDebugger发射端和接收端的配置工具,还集成了很多其它很实用的工具,例如RTT可视化工具、串口调试软件等等。但建立无线连接的配对之后,就可以关闭PowerDebugger客户端软件了,之后可以正常使用用户自己常用的调试工具软件,不限定必须使用PowerDebugger客户端集成的调试工具。

EVB-YTM32B1LE0-Q64 开发板

EVB-YTM32B1LE0-Q64开发板上搭载了国产车规MCU原厂云途半导体的YTM32B1LE05微控制器,使用Arm Cortex-M0+处理器内核,片上集成128KB Flash和16KB的SRAM,除了MCU常用的通信、定时器和模拟外设模块,YTM32B1LE05还集成了FlexCANLinFlexD等汽车电子系统常用的通信外设模块。

这里需要将EVB-YTM32B1L-Q64开发板的调试插座同PowerDebugger的接收器连接起来。如图x所示。

image.png
图x EVB-YTM32B1L-Q64连接无线调试器

主要连接的信号包括:

  • SWD调试端口的SWDIOSWCLK
  • 复位信号线RESET
  • UART串口的TXRX
  • PowerDebugger接收端需要开发板取5V的供电和GND。

YTM32开发板可以通过DC电源插座,从外部直流电源接入12V的供电。

YTM32B1LE05有对应的SDK软件包。这里选取其中的使用Keil MDK集成开发环境的hello_world样例工程,作为用例,尝试使用无线调试器对下载固件并进行调试。

开始调试

导入工程到Keil MDK中,在工程属性对话框中,选择使用CMSIS-DAP Debugger调试器,如图x所示。

image.png
图x 在Keil MDK环境中配置调试器

进一步在调试器属性的对话框中,可以看到有两个CMSIS-DAP设备可选,选择其中的HID_CMSIS-DAP

image.png
图x 选择CMSIS-DAP设备

从图x中可以看到,此时PowerDebugger基于无线连接,已经可以识别到连接的Arm处理器内核了。

Keil MDK环境中,正常编译工程后,下载、调试,使用过程同原来使用有线连接的DAPLink没有任何差别,速度也不错,没有因为使用无线通信而降低调试体验。如图x所示。

image.png
图x 在Keil MDK下调试MCU工程

使用Tera Term连一下串口,可以正常收发。实际使用的时候,由于测试通信数据量很小,感受不到因为无线通信而产生的延迟。如图x所示。此处相当于在无线下载调试之外,还得到了一个无线串口。真香。

image.png
图x 使用PowerDebugger的无线串口

在通信过程中,无论是SWD通信还是UART通信,PowerDebugger的发射器和接收器上的状态指示灯都同步闪烁,指示通信正在进行。

image.png
图x 使用PowerDebugger和YTM32开发板联调

小结

本文记录了试用PowerDebugger无线调试器调试YTM32微控制器的全过程。创芯工坊发布的产品简介和用户手册对PowerDebugger功能和用法做了详细的介绍,但笔者在实际试用过程中还总结了一些额外的要点:

  • 首次使用PowerDebugger无线调试器时,需要使用PowerDebugger客户端软件将发射器和接收器配对,否则大概率这两个设备不会对通。
  • 配对过程需要同时将发射器和接收器通过USB线连接PC。(别问我是怎么知道的,我也是一顿乱试之后碰巧发现的)
  • 接收器从开发板取5V电和GND,不需要连VREF
  • 目前PowerDebugger支持YTM32使用Arm Cortex-M0+处理器内核的YTM32B1LEYTM32B1LD系列的MCU芯片,暂未支持使用Arm Cortex-M33 处理器内核的YTM32B1MEYTM32B1MD系列的MCU芯片,这个后续可能需要通过更新PowerDebugger的固件实现。

参考文献

作者:安德鲁苏
文章来源:安德鲁的设计笔记本

推荐阅读

欢迎大家点赞留言,更多Arm技术文章动态请关注极术社区嵌入式客栈专栏欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
2881
内容数
261
分享一些在嵌入式应用开发方面的浅见,广交朋友
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息