网站首页 > 博客文章 正文
自从树莓派在2021年1月推出Raspberry Pi Pico和RP2040微控制器以来,很多人一直在使用一个Pico来调试另一个Pico上运行的程序。受到这一趋势的启发,昨天,树莓派官方推出了Raspberry Pi Debug Probe——一个硬件Debug器,基于RP2040,售价12美元。
虽然它是针对Raspberry Pi Pico和其他基于RP2040的板子设计的,但这个调试探针理论可以用来调试任何基于ARM的微控制器(只要这些微控制器提供了一个带有3V3 I/O的SWD端口)。
前言
编程过程中需要Debug,大多数的调试器都提供了一套共同的基本功能(单步、断点、变量和内存的检查),但这些功能的提供方式取决于你选择的语言和操作环境。
也许你使用的是一种高级的解释型编程语言,比如Python,它的调试功能直接内置于运行环境中;如果你使用的是一种低级的编译编程语言,比如C语言,但你的程序是在Linux操作系统下运行的,像gdb这样的调试器,可以在你的程序运行时与之互动,以提供Debug的能力。
但是,如果你的C程序直接在处理器上运行,没有操作系统(这通常被称为裸机操作)呢?又或者你正在编写一个操作系统呢?在这种情况下,你需要一种方法来访问处理器本身所具有的调试能力,这也就是调试探针的作用。
什么是Debug probe?
现代化的Arm架构控制器,包括Raspberry Pi自家的RP2040,都内置有Arm的CoreSight调试架构,在芯片上提供有 Access Port(AP)来用于单步,设置断点,观察处理器寄存器的值,并通过处理器的总线接口访问内存和外设。
这些微控制器的外部都会提供一个Debug Port(DP),让外部设备可以通过这个接口来进行探查,在Raspberry Pi Debug Probe上,就带有一个3针的Serial Wire Debug(SWD)接口,用来连接访问芯片的DP口,而另一头再通过USB接口连接到PC或者Mac,让开发者可以在Host这边对芯片进行debug。
Debug probe提供了一个USB和SWD协议之间的桥梁。虽然如果你的主机是树莓派的话,并不严格要求(你可以将目标的SWD端口直接连接到树莓派的GPIO),但通过USB连接要方便得多。如果你用的是PC或Mac,USB甚至是你唯一的选择。
除了用来debug,Raspberry Pi Debug Probe还可以作为一个USB串口转接器来使用,通过UART接口在电脑与微型控制器之间建立通讯,在后者上面做调试和诊断,这个用法对于不少喜欢折腾开发板的玩家会很喜欢,相比一些专用的USB串口转接器,Raspberry Pi的这个价格也更便宜。
这个几十元的小工具除了有主体,也附带有配套的连接线,以及一个小外壳,到手自己组装一下就可以用,如果想自己做线的话,可以参考他们的接口文档。感兴趣的开发者可以去官网看看,又或者等待国内电商的上架。
参考资料:
https://www.raspberrypi.com/news/raspberry-pi-debug-probe-a-plug-and-play-debug-kit-for-12/
https://baijiahao.baidu.com/s?id=1758409975794763810&wfr=spider&for=pc
猜你喜欢
- 2024-10-25 388.C#使用RJCP.DLL.SerialPortStream进行串口通信
- 2024-10-25 嵌入式入门级学习——基于国产平台T3开发板的测试教程(6)
- 2024-10-25 H3C交换机通过MAC地址定位设备所在交换机端口步骤
- 2024-10-25 干货!PS端裸机与FreeRTOS案例开发之裸机lwIP_Demo案例
- 2024-10-25 Python读取Arduino的串口输出的数据?
- 2024-10-25 做网络那么多年,连以太网接口和串口都分不清?本文值得一看!
- 2024-10-25 QT中级(7)- 串口工具(qt串口类编程)
- 2024-10-25 MAC 10.14 安装教程-制作安装EFI文件
- 2024-10-25 FT232串口线和普通串口线有何区别?
- 2024-10-25 TI Sitara系列 AM64x开发板——TSN通信测试手册(上)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)