前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【更新】Pico-Template 稳定调试版v1.3.2发布

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

作者头像
GorgonMeducer 傻孩子
发布2021-10-12 16:41:02
6980
发布2021-10-12 16:41:02
举报
文章被收录于专栏:裸机思维裸机思维裸机思维

【说在前面的话】


首先必须要感谢小伙伴们的踊跃“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

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

此外,我已经对Pico-Template进行了更新,发布了v1.3.2 版本——对用户来说,MDK工程模板已经为您配置好了一切。新版本的获取方式请参考往期文章《【独家】我就要用MDK来开发树莓Pico,怎么地吧!》或者,在订阅【裸机思维】公众号后,发送关键字“pico”来获取网盘链接。(有机会的话,还是跪求一个Star,谢谢啦)。

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


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

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

1、按住Pico上的白色按钮不放、将Pico的USB接口连接PC。当我们在文件管理器中发现一个新的叫做 PRI-RP2 的U盘时,说明Pico已经成功进入烧录准备状态。

2、将pico-debug-gimmecache.uf2 拖放到U盘中即可。

3、如果一切顺利,我们可以在资源管理器中发现一个新的HID-compiliant设备。

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

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

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

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

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

【如何对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”:

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

【说在后面的话】


最后提醒下,一定要用MDK 5.35极其以上版本来体验哦

感谢大家的支持,我会一如既往的进行更新的~


原创不易,

如果你喜欢我的思维、觉得我的文章对你有所启发,

请务必 “点赞、收藏、转发” 三连,这对我很重要!谢谢!

欢迎订阅 裸机思维

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-09-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 裸机思维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档