虽然 IAR 和 MDK 可以方便地进行 STM32 的开发,但这些软件是商业软件,而且仅支持 Windows. 另外,两者的代码编辑功能似乎都不太强大。

使用 Eclipse 与 GCC 则可解决这个问题:两者均为开源软件,可以自由使用,并支持 Windows,Linux,OS X 等多个平台。同时还可以通过各种插件拓展其功能,例如 EGit.

前一段时间开始使用 OS X,这是在 OS X 平台配置 Eclipse 的步骤。其他平台方法应该类似。

一、相关工具的安装

1. 安装 J-Link 驱动

J-Link 官网 下载驱动并安装,支持 Windows,OS X,Linux,Linux ARM.

2. 安装 GNU Tools for ARM Embedded Processors

这是由 ARM 维护的一套工具,包括 GCC 编译器,GDB 调试工具等,在 此处 可以下载和安装。对于 OS X 和 Linux,可直接解压至一个目录,例如 /usr/local/arm-none-eabi-gcc

另外,OS X 用户还可以使用 Homebrew 安装,安装方法如下:

brew tap blanboom/homebrew-mcu-devtools
brew install gcc-arm-none-eabi

3. 安装 Eclipse 及插件

下载 Eclipse CDT 并安装,然后单击菜单栏中的 Help -> Install New Software… ,添加站点 http://gnuarmeclipse.sourceforge.net/updates ,并从中安装 CDT GNU Cross Development Tools.

二、创建工程

新建工程

进入 Eclipse,单击 File -> New -> C Project ,在左侧的 Executable 中可看到 STM32 Project,选择对应的工程,单击 Next.

选择芯片种类,我用的是 STM32F103ZET6,所以选择了 STM32f10x High Density. 其中 Content 默认为 Blinky,是一个 LED 闪烁的测试程序。

继续单击 Next,会有文件目录和项目配置等,一般保持默认即可,在最后一步中,需要选择之前下载的 GNU ARM Toolchain 的 bin 文件夹所在位置。

单击 Finish,工程创建完毕。其中 STM32 的官方固件库也已经被自动添加到工程目录。单击工具栏上的 Build 按钮,一般情况下可以正常编译。

设置调试工具

单击菜单栏中的 Run -> Debug Configurations… 双击左侧的 GDB SEGGER J-Link Debugging,在右边 C/C++ Application 处输入工程中的可执行文件(在 Debug 目录)。

进入 Debugger 选项卡,输入 J-Link GDB Server 所在目录:/Applications/SEGGER/JLink/JLinkGDBServer ,并输入芯片名称,例如 STM32F103ZE.

单击 Apply,关闭窗口。

然后单击工具栏中的 Debug 按钮旁边的箭头,在 Organize Favorites… 中添加之前的调试配置。连接好 J-Link 与单片机的电源,再单击该箭头,并选择菜单中的第一项,程序即可自动下载至单片机,并启动调试。

参考资料

最后修改日期: 2021-05-14

留言

eclipse时c/c++版么,还是java版本也没关系,只需要装上CDT GNU Cross Development Tools即可。

eclipse 貌似没有单独的download按钮,每次都要启动debug下载程序蛮蛋疼的

王佳琪 

make: *** [src/_initialize_hardware.o] Error 1,你好我按照你的方法出现了这个错误是什么原因呢?

可以软仿嗎

    不支持,应该需要手动整合 QEMU 等工具。 另外这是一篇 2014 年的文章,里面介绍的方法,不一定现在还全部能用。可以尝试一下 PlatformIO,应该会更好用:https://platformio.org

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。