背景介绍:
Sugar 不常用单步调试,所以一直没想起来写这个。
最近不少人玩 RT-Thread Studio 并对单步调试感兴趣。
但在 Linux 该咋搞呢?Sugar 这篇就来说一说。这一篇内容很丰富,不只有单步调试的内容哦。
上视频(先有真像再讲道理)
6 分钟,包含:git clone 源码、自动生成 Makefile、在 Eclipse 里建立项目并配置、在 Eclipse 里编译、在 Eclipse 里单步调试。
Git图形界面的使用
上面视频中从 00:05 ~ 00:56 演示了用 SmartGit 从 github 上获取代码的过程。
特点:不记 git 命令照样会用 git,且各平台(Win、Linux、MAC)通用。
对如何使用 SmartGit 有兴趣的,在公众号后台回复 git 获得 Sugar 的讲解视频。
自动生成 Makefile
视频中 00:57 ~ 01:29 演示了使用 progen 自动生成 Makefile。
特点:只维护文件,不维护工程,通吃 MDK5、IAR 和 GCC。
想了解如何自动生成工程的,请参看:《一招通吃 MDK5、IAR、GCC》
project generator 是一个与时俱进的项目,Sugar 写推文的时候用的是 Python 2.7,现在 Python 3.x 也能用了呢。
Eclipse C/C++ IDE
视频中 01:30 ~ 03:06 演示了如何使用 Eclipse C/C++ IDE 创建工程并编译。
注意:02:44 处的 Build location 要设置成 Makefile 所在目录。
OpenOCD 调试设置
视频中 03:07 ~ 04:15 演示了如何在 Eclipse 里设置 OpenOCD 的调试。
注意:-f board/stm32f103c8tocb.cfg
是 Sugar 新建的自定义配置。目的是使用 stm32f103c8 的福利 Flash(相当于 stm32f103cb)。
对这个自定义配置感兴趣的读者可以在公众号“关于我”页面加 Sugar 为好友索取。
Sugar 惯用 stm32 的虚拟串口调试,但如果加上这个功能 stm32f103c8 的 Flash 就不够了。这时候有两个选择:一是精简优化代码,二是使用福利 Flash。Sugar 选后者,至今还没遇到过福利 Flash 出问题的情况,赞 stm32 的品质。
进入 Debug 出错咋办?
视频中 04:16 ~ 04:50 展示进入 Debug 模式后报错的解决过程。
可能与使用了视利 Flash 有关,不过不影响实际使用。
解决办法解说:成功进入调试后按一下遥控上的复位键,程序跑起来之后在 Eclipse 里点 Resume(F8)
图标进入调试,再按一下遥控上的复位键即可。
Sugar 对正常单片机单步从来没遇到这个错,所以大家不必担心。Sugar 猜想这就是因为使用 stm32 福利 Flash 造成的。
RT-Thread 与 C++
视频中 05:07 ~ 05:13 演示了在 RT-Thread 下 Debug 结合 C++ 的代码。
如何在 RT-Thread 上使用 C++ 可以参考:《rt-thread 与 C++ 的美满姻缘》
配置单步都需要啥
1、Eclipse C/C++ IDE 里要装一个 MCU 相关的插件。
2、不知道 openocd 装在哪里怎么办?
# 获取 openocd 安装位置 which openocd
3、MCU 插件里的两个重要设置
PS
Sugar 长期使用 Ubuntu,一般出门都不带电脑只带一个小小的 Liunx2Go SSD。现在电脑随处可见的时代,随身系统显得很方便了。Sugar 的 Linux2Go 系统盘里常见的创客开发环境和工具都有,工具非常丰富。Sugar 有点懒,一直没有拿到台面上来卖,这里提一下,有想要的可以在“关于我”页面加 Sugar 微信聊。
关注作者
欢迎扫码关注我的公众号MultiMCU EDU
。