试用无线调试器PowerDebugger小记

news2024/11/23 13:16:14

试用无线调试器PowerDebugger小记

文章目录

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

引言

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

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

在这里插入图片描述

图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等三个主流的操作系统平台。

在这里插入图片描述

图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所示。

在这里插入图片描述

图x PowerDebugger接收器

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

在这里插入图片描述

图x PowerDebugger的发射器

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

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
在这里插入图片描述

图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所示。

在这里插入图片描述

图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所示。

在这里插入图片描述

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

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

在这里插入图片描述

图x 选择CMSIS-DAP设备

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

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

在这里插入图片描述

图x 在Keil MDK下调试MCU工程

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

在这里插入图片描述

图x 使用PowerDebugger的无线串口

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

在这里插入图片描述

图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的固件实现。

参考文献

  • PowerDebugger调试器用户手册:https://docs.powerwriter.com/docs/powerdebugger_for_arm/intro
  • PowerDebugger产品简介:https://www.powerwriter.com/index/index/products.html?se=29
  • PowerDebugger采购链接及资料页:https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-24057373977.12.13af596d6jOEpt&id=748083682258

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1232228.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue-awesome-swiper 引入css样式文件报错等问题

引入css样式文件这个错是我最开始就有的错误,因为在安装vue-awesome-swiper 就会默认安装swiper。我指定了vue-awesome-swiper的版本,但是没指定swiper的版本,默认安装版本为8.0.7。 所以在引入css文件的时候报错,在node_modules…

车载毫米波雷达行业发展4——技术

4.1 车载毫米波雷达技术原理 毫米波雷达系统可实现距离测量、速度测量和角度测量三大基本功能。车载毫米波雷达 常用调频连续波(FMCW)雷达,其工作频率随时间做周期性线性变化,能测速和测距,适合做 近距离测量,有较高的测量精度。…

Docker发布简单springboot项目

Docker发布简单springboot项目 在IDEA工具中直接编写Dockerfile文件 FROM java:8COPY *.jar /app.jarCMD ["--server.prot 8080"]EXPOSE 8080ENTRYPOINT ["java", "-jar", "/app.jar"]将项目打包成对应的jar包,将Dockerf…

基于龙格-库塔算法优化概率神经网络PNN的分类预测 - 附代码

基于龙格-库塔算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于龙格-库塔算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于龙格-库塔优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对P…

cpu飙高问题,案例分析(一)

一、复习知识点: CPU性能指标: load average:负载,linux查看的时候,通常显示如下: load average后面有三段数字:代表了系统1分钟,5分钟,15分钟平均负载。 形象的类别可…

CommonModule.dll动态链接库(DLL)文件丢失的处理方法

方法一、手动下载修复 (1)从网站下载commonmodule.dll文件到您的电脑上。 (2)将commonmodule.dll文件复制到" X:\Windows\system32 " (X代表您系统所在目录盘符,如:C:\Windows\system32)目录下。 (3)在开始菜单中找到"运行(R)" 或…

shell 脚本变量

目录 什么是 shell shell 的两种面向对象 shell 脚本概述 脚本 (本质为程序) 脚本的组成 执行脚本 例题 脚本构成 脚本执行逻辑及执行方式 脚本的常见错误 编写 shell 脚本 执行脚本文件的方式 重定向 重定向操作 shell 变量的作用及类型…

智能井盖传感器功能有哪些?

智能井盖传感器是一种集成了多种先进技术的传感器设备,旨在强化城市的公共安全,确保城市基础设施的稳定运作。这种传感器具有多种功能,例如实时监测井盖状态、监测井下气体等是否超出阈值。借助智能井盖传感器,政府和城市管理部门…

C++:拷贝构造函数,深拷贝,浅拷贝

一.什么是拷贝构造函数? 同一个类的对象在内存中有完全相同的结构,如果作为一个整体进行复制(拷贝)是完全可行的。这个拷贝过程只需要拷贝数据成员,而函数成员是共用的(只有一份拷贝)。在建立对…

1230天,百度再见!!!

从2020年7月8日至2023年11月20日,在百度的工作到达了终点,完成了从学生向职场人的蜕变,是时候说再见了! 一、成长收获 在这1230天里收获颇丰,下面与各位分享一下。 从技术至上到业务赋能的思想转变 相信很多人都存在“…

一个完备的手游地形实现方案

一、地形几何方案:Terrain 与 Mesh 1.1 目前手游主流地形几何方案分析 先不考虑 LOD 等优化手段,目前地形的几何方案选择有如下几种: 使用 Unity 自带的 Terrain使用 Unity 自带的 Terrain,但是等美术资产完成后使用工具转为 M…

键盘快捷键工具Keyboard Maestro mac中文版介绍

Keyboard Maestro mac是一款键盘快捷键工具,它可以帮助用户通过自定义快捷键来快速完成各种操作,提高工作效率。Keyboard Maestro支持多种快捷键组合,包括单键、双键、三键、四键组合等,用户可以根据自己的习惯进行设置。此外&…

全志H616开发版

开发板介绍: 二、开发板刷机 SDFormatter TF卡的格式化工具、Win32Diskimager 刷机工具 刷机镜像为:Orangepizero2_2.2.0_ubuntu_bionic_desktop_linux4.9.170.img 使用MobaXterm_Personal_20.3连接使用 网络配置:nmcli dev wifi 命令接入网…

PLC梯形图实操——风扇正反转

文章目录 1.项目内创建函数块(FB)2.项目内创建数据块(DB)2.1去除优化块访问2.2去除优化块的访问后对数据块进行编译 3.在函数块(FB)内实现正转反转的自锁与互锁3.1在函数块内实现电机正反转的梯形图 4.主函…

Python的os.path.join()详解

当你需要构建文件路径时,os.path.join() 是一个很有用的方法。这个方法会根据你的操作系统使用正确的路径分隔符(例如,在 Windows 上是反斜杠 \,在类 Unix 系统上是正斜杠 /)来连接路径中的各个部分。这样你就可以确保…

Django实战:从零到一构建安全高效的Web应用

目录 一、概述 二、版本控制和部署 1、Git版本控制 2、Docker部署 三、数据库配置 1、配置数据库设置 2、创建数据库模型 四、URL路由和视图 1、定义URL路由 2、创建视图 五、模板渲染 1、创建模板 2、在视图中使用模板 总结 一、概述 Django是一个高级Python W…

HarmonyOS4.0系列——01、下载、安装、配置环境、搭建页面以及运行示例代码

HarmonyOS4.0应用开发 安装编辑器 这里安装windows版本为例 安装依赖 打开DevEco Studio 这八项全部打钩即可开始编写代码,如果存在x,需要安装正确的库即可 开发 点击Create Project 选择默认模板——next Model部分分为Stage和FA两个应用模型&…

[架构之路-247]:目标系统 - 设计方法 - 软件工程 - 结构化方法的基本思想、本质、特点以及在软件开发、在生活中的应用

目录 前言: 一、什么是非结构化方法 1.1 什么是非结构化方法 1.2 非结构化方法的适用场合 二、什么是结构化方法 1.1 结构化方法诞生的背景:软件规模发展:大规模、复杂系统的需要 1.2 概述 1.3 主要特点与核心思想 三、结构化方法在…

Windows 安装 Docker Compose

目录 前言什么是 Docker Compose ?安装 Docker Compose配置环境变量结语开源项目 前言 在当今软件开发和部署领域,容器化技术的应用已成为提高效率和系统可移植性的关键手段。Docker,作为领先的容器化平台,为开发人员提供了轻松构…

【手撕数据结构】(三)顺序表和链表

文章目录 一、线性表二、顺序表1.概念及结构2.关于数组3.顺序表分类🎗️静态顺序表🎗️动态顺序表 4.接口实现(1)思路(2)SeqList.h文件代码功能1:顺序表初始化功能2:销毁顺序表功能3…