我正在使用 STM32 ARM Cortex MCU。它支持称为 SWD(串行线调试)的协议。在网上环顾四周,我发现arm-none-eabi-gcc
它似乎是一个不错的编译器,但在硬件方面,我还没有真正找到使用它的合适方法。
我一直无法找到 Linux 官方支持的 SWD 编程器/调试器。我发现的最接近的是stlink
看起来维护不善的项目。如果我想使用这个 MCU 并想在我的计算机上使用 Linux,你能告诉我正确的方法是什么吗?
我正在使用 STM32 ARM Cortex MCU。它支持称为 SWD(串行线调试)的协议。在网上环顾四周,我发现arm-none-eabi-gcc
它似乎是一个不错的编译器,但在硬件方面,我还没有真正找到使用它的合适方法。
我一直无法找到 Linux 官方支持的 SWD 编程器/调试器。我发现的最接近的是stlink
看起来维护不善的项目。如果我想使用这个 MCU 并想在我的计算机上使用 Linux,你能告诉我正确的方法是什么吗?
OpenOCD受支持、可靠并且在 Linux 和 Windows 上运行良好。我每天都用它来使用 SWD(不是 JTAG)对 F0、F1 和 F4 设备进行编程和调试。
如果您是 Eclipse 用户,那么最新版本的GNU ARM Eclipse插件甚至会为您自动执行 OpenOCD 命令行。我写了许多文章,希望对我博客上的新用户有所帮助。
硬件方面,如果您使用的是发现板,那么您就拥有必要的 ST-Link 支持,并且不需要其他任何东西。否则,在著名的拍卖网站上有官方的 ST-Link/v2 加密狗和一些狡猾的克隆。
好吧,texane/stlink是一个维护得当的项目,我每天都在使用它。Segger J-Link也支持 Linux。我有 GCC ARM 工具链设置,Eclipse 作为我的默认 IDE。我对 JTAG 和 SWD 接口都使用了 JLinks 和 STLinks。前段时间我在我的博客上写了几篇文章,如果你愿意,我可以发布链接。