我正在使用STM32 ARM Cortex MCU。它支持一种称为SWD(串行线调试)的协议。在网上四处看看,我发现arm-none-eabi-gcc
似乎是一个不错的编译器,但在硬件方面,我还没有真正找到一个合适的方法来使用它。
我还没能找到一个在Linux上正式支持的SWD程序员/调试器。我发现最接近的是stlink
,它看起来像一个维护不善的项目。如果我想使用这个MCU并想在我的计算机上使用Linux,你能告诉我正确的方法是什么吗?
支持OpenOCD,可靠且在Linux和Windows上运行良好。我每天都用它来编程和调试F0, F1和F4设备使用SWD(不是JTAG)。
如果你是一个Eclipse用户,那么最新版本的GNU ARM Eclipse插件甚至会为你自动执行OpenOCD命令行。我写了很多文章,希望能帮助我博客上的新用户。
硬件方面,如果你使用的是发现板,那么你在板上有必要的ST-Link支持,不需要其他任何东西。除此之外,还有官方的ST-Link/v2加密狗和一些知名拍卖网站上的山寨产品。
嗯,texane/stlink是一个维护良好的项目,我每天都在使用它。Segger J-Link也支持Linux。我有GCC ARM工具链设置,eclipse作为我的默认IDE。对于JTAG和SWD接口,我同时使用JLinks和STLinks。前段时间我在博客上写了几篇文章,如果你想的话,我可以把链接贴出来。