傻孩子(GorgonMeducer) · 2021年09月29日

【更新】Pico-Template 稳定调试版v1.3.2发布

image.png

【说在前面的话】

首先必须要感谢小伙伴们的踊跃“star”——这给了我莫大的支持和动力,于是Pico-Template又更新了!本文发出时的版本是 v1.3.2,主要带来以下的更新:

  • 解决了 AC6-DebugInSRAM 无法生成 uf2 的问题。现在编译后会正确生成一个 template.uf2。托放到PICO的U盘后会正确执行——完全在SRAM中执行,不会更新Flash哦;
  • 解决了 AC6-DebugInSRAM 中无法简单方便的 Reset 的问题——引入了一个专门的按钮 “Reset Pico”
  • 解决了 AC6-DebugInSRAM 无法在 main() 函数设置断点的问题
  • 提高了模板的代码鲁棒性。

感兴趣的小伙伴赶快更新吧!此外,顺便更新下教程(由于问题都解决了,教程反而变简单了)。

【如何实现调试的“单体自助”】

要想让你手中的Pico变成自带调试器的单片机,你需要访问下面的网址:
https://github.com/majbthrd/pico-debug/releases

image.png

下载这里的 pico-debug-gimmecache.uf2文件(不要下错了哦),留着备用。

此外,我已经对Pico-Template进行了更新,发布了v1.3.2 版本——对用户来说,MDK工程模板已经为您配置好了一切。新版本的获取方式请参考往期文章《【独家】我就要用MDK来开发树莓Pico,怎么地吧!

image.png

【如何享受调试的最佳姿势】

对大部分人来说,Pico-Template所提供的 AC6-DebugInSRAM 实现了“编译、下载、调试”一条龙服务。

image.png

由于pico-debug所实现的CMSIS-DAP调试器运行在SRAM中,因此很容易注意到每次对Pico进行断电后,都需要重新进行一次如下步骤:

1、按住Pico上的白色按钮不放、将Pico的USB接口连接PC。当我们在文件管理器中发现一个新的叫做 PRI-RP2 的U盘时,说明Pico已经成功进入烧录准备状态。
image.png
2、将pico-debug-gimmecache.uf2拖放到U盘中即可。
3、如果一切顺利,我们可以在资源管理器中发现一个新的HID-compiliant设备。
image.png

这里,还请放宽心,这个步骤每次断电后的第一次连接都只要做一次就行——不必每次启动调试都做一遍

打开MDK,切换到 AC6-DebugInSRAM工程配置。在Options for Target窗口中,我们可以从Debug选项卡里看到:调试器已经被选择为 CMSIS-DAP Debugger。

image.png

单击 Settings,我们应该看到 Pico 的其中一个 Cortex-M0+已经被检测到了:
image.png

注意:由于MDK工程模板中所有三个工程configuration(也就是AC6-flashAC6-RunInSRAMAC6-DebugInSRAM)都使用了同一个Objects文件夹来保存生成的 axf 文件,为了避免误会,在开始AC6-DebugInSRAM环境下的调试之前,一定要对当前工程进行至少一次重新编译——以确保载入的template.axf是对应当前工程配置的。

对工程进行编译后,单击调试按钮,我们应该看到指针停在了Reset_Handler程序上:

image.png

【如何对RunInFlash和RunInSRAM进行调试】

除了前面所说的 AC6-DebugInSRAM方案外,Pico-Template模板还提供了一般工程开发所需的AC6-FlashAC6-RunInSRAM两个配置。

它们的调试本身并不复杂,但这两个配置有自己的难言之隐,即:每次重新编译工程后,都需要用户:

  • 首先,通过常规方法将 uf2 文件拖放到 RPI-RP2 盘中完成“手工下载”;
  • 紧接着,还要再次Boot Pico使其进入U盘模式后拖放pico-debug-gimmecache.uf2使Pico具有调试能力
  • 最后才是通过MDK进入调试模式。

总结一下:AC6-FlashAC6-RunInSRAM的调试优点是非常方便、没有弯弯绕;缺点是下载纯手工。

【复位Pico的正确姿势】

由于树莓派Pico的特殊性,目前MDK中的普通的复位按钮其实并不足以正确对芯片进行复位。为此,Pico-Template提供了专门的方法——一个由脚本生成的按钮“Reset Pico”:
image.png

如果你的调试界面中找不到它,不要紧,在启动调试后,顺着菜单依次找到“View->Toolbox Window”,点开即可。
image.png

首发:裸机思维
作者: GorgonMeducer 傻孩子

专栏推荐文章

如果你喜欢我的思维,欢迎订阅裸机思维
版权归裸机思维(傻孩子图书工作室旗下公众号)所有,
所有内容原创,严禁任何形式的转载。
推荐阅读
关注数
1479
内容数
116
探讨嵌入式系统开发的相关思维、方法、技巧。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息