Emacs 使用的人少, Emacs 开发单片机的人就更少了, Debuff 叠满了属于是
本人开始接触的都是从 IAR, Keil 等 IDE 软件开发单片机的, 对于外部使用 gdb 进行调试单片机经验相对较少, 想在 Emacs 调试单片机历程就相当艰辛了..
自从 Emacs 后, 渐渐的开始用 Emacs 编写代码了, 这时候就有着 Emacs 替代 IDE 软件的想法了, 毕竟 Emacs 真的太酷, 好用 , 便开始了寻找在 Emacs 调试单片机的方法了
PS: Keil, IAR 等 IDE 软件的调试功能真的是相当好了, 可惜不是免费的.
过程当中看到使用 Vscode 调试单片机功能如此完善, 有 EIDE, Cortex-M Debug 等优秀的插件助攻 VSCode 调试单片机, 而且竟然还看到了 Neovim 竟然有类似 Vsocd 的 Cotex-M Debug 的支持, 反观 Emacs…
真是令人唏嘘啊
重要的是接触到了 vscode 调试方面貌似类似 LSP 那样开放? 为后续留下线索
好在在某个 vim 帖子看到有人居然直接可以用 cpptools 调试硬件了, 直接开干(最后面才发现有这路子)
Emacs 调试单片机历程:
-
eshell 运行 arm-none-eabi-gdb
对比 IDE 软件真的是相当难用了(因为我基本没用过 gdb 调试过), 对新手来说简直是噩梦了, 无法根据源码文件 breakpoints, 也无法 breakpoints 自动跳转到源码行 , 无法从 GUI 方式 Watch
-
gud-gdb 运行 arm-none-eabi-gdb
有了根据源码文件 breakpoints, 可以 breakpoints 自动跳转到源码行, 就是有点问题, 跳转问题有是好有时坏, 失效了一次就没办发继续跳转了, 无法观察 watch 很不方便
-
dape.el + arm-none-eabi-gdb + cpptools (最终方案)
终于找到了一个相当满意的方案了, 基本满足了基本需求, 现在就缺失了 mcu register 的支持(只要不是太大问题, 这个功能基本没有用到, 根本不看 mcu reg), 哈哈
这个历程相当艰辛了, 陆陆续续, 断断续续, 已经接近2年了, 走了各种弯路, 查了各种各样的资料, 最后真的用上 Emacs 调试单片机了…
单片机网上的资料资源 对比 软件方面真的少了好几个档次, 不知道是不是因为单片机的人不爱分享还是为啥.
希望此论坛有单片机相关工作的人员, 也多多分享你是怎么使用 Emacs 的.