MQTT我爱编程

搭建STM32开源开发环境

2016-07-23  本文已影响1524人  ghostor

公司为了统一开发环境,将所有的基于arm的处理器开发环境统一为Eclipse,于是乎有了该篇日记,以记录搭建过程及使用过程中出现的各种问题。网络中有很多关于搭建STM32开源开发环境的文章,但搭建和使用中有些问题并没有解答。

一.下载相关软件:

1.下载Eclipse集成开发环境,直接下载Eclipse IDE for C/C++ Developers目前最新版本代号为Neon。
2.下载gnu arm eclipse plugin,用该插件支持arm gcc编译器相关配置。
3.下载交叉编译工具链,此处使用GCC ARM Embedded in Launchpad该处的工具链。
4.下载Build Tool工具,该工具提供编译工程需要的相关命令如:make、rm、echo等。

二.搭建开发环境:

1.将下载好的Eclipse压缩包解压到期望的安装位置,比如D:\Program Files,同时为了方便使用,建立桌面快捷方式。
2.安装gnu arm eclipse 插件。打开Eclipse 点击菜单[Help]>[Install New Software...]进入插件安装界面:



在弹出界面点击1.[add...] 然后在弹出窗口点击2.[Archive...]选择下载的gnu arm eclipse插件文件。



点击ok按钮弹出如下界面,选择需要安装的插件,此处选择全部安装。

点击[Next]按钮,等待进度条完成,在弹出窗口选择[Accept],点击[Finish]完成安装。

3.安装交叉编译工具链。



4.安装Build Tools。
通过上述步骤开发环境已经完全安装成功,下面需要打开Eclipse配置交叉编译工具、Build Tools的路径。

打开Eclipse点击[Windows] > [preference] 打开配置窗口,点击C/C++选项,然后点击[Global Tools Paths]选项,如下图,在窗口右侧设置Build Tools路径以及交叉编译工具链路径,可以手动选择安装路径,也通过[Restore Defaults]按钮自动设置路径。


自此开发编译环境安装、配置完成,可以进行项目开发了

三.使用过程出现问题:

1.未指定浮点支持选项,编译时会出现如下错误:

Error: selected processor does not support `vstmdbeq r0!,{s16-s31}' in Thumb mode

解决该问题通过设置项目属性中[C/C++ Build] > Setting 窗口中的Tool Setting选项[Target Process]子项中的[Float ABI],根据需要设置为软件浮点、硬件浮点,同时修改[FPU]下拉选项,选择具体实现。

2.未定义'_exit' 和 '_sbrk'错误:

exit.c:(.text.exit+0x16): undefined reference to `_exit'
sbrkr.c:(.text._sbrk_r+0xc): undefined reference to `_sbrk'

解决该问题需要在[C/C++ Build] > Setting 窗口中的Tool Setting选项[Cross Arm C Linker]子项[Miscellaneous]中添加'--specs=nosys.specs'。

3.在工程中屏蔽不需要编译的文件:

在编译工程时往往需要屏蔽一些文件,但又不想将其删除,可以通过设置[C/C++ General]选项中子项[Paths and Symbols]中[Source Location]窗口中的Filters,来批量屏蔽不需要编译的文件。

4.汇编文件必须以大写的'.S'结尾,小写的'.s'文件默认不进行编译。

上一篇下一篇

猜你喜欢

热点阅读