虽然 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 与单片机的电源,再单击该箭头,并选择菜单中的第一项,程序即可自动下载至单片机,并启动调试。
参考资料