使用eclipse 阅读和编辑stm32工程

基于MDK和eclipse 开发stm32工程

已经用eclipse开发stm32工程很久了,作为替代MDK自带编辑器的工具,ecpise具有十分强大的代码编写和代码查看能力。

  • 支持vim 方式编辑代码,保证极高的编辑效率
  • 支持查看函数调栈,在不需要编译代码和调试的情况下,你就可以找到此函数被谁调用以及调用此函数的函数又被谁调用,以此类推。帮助你阅读代码和分析代码。
  • 根据变量名所在作用域,快速重命名。当你在一个函数范围内创建了一个与全局变量同名的 变量,当你对其进行重命名时,不会对全局的同名变量造成影响。
  • 快速代码格式化。预设了集中常见代码风格,我们可以根据个人习惯或者公司规范定制代码风格,然后选中需要重新格式化的代码ctrl+f, 或者在文件中ctrl+f即可完成代码格式化。
  • 宏展开。帮助你一步一步的把宏展开,这无论是帮助你理解一个宏具体内容是什么,还是帮助调试自己制作的复杂的宏函数,都极其有帮助。

既然eclipse这么好用,为什么还要用MDK?

  1. 目前主流的stm32开发环境仍然是MDK,这一点可能短时间都不会变。而且MDK被广泛认可有其道理,他的调试功能确实不是eclipse随随便便就能替代的。
  2. eclipse也有相应的插件,可以通过arm-none-eabi-gnu 工具链实现脱离MDK的编译和调试,可惜比较折腾,而且这么玩的人不多,比较小众,当然,作为学习和熟练一下不同编译器还是很值得的。

综上,毕竟MDK调试很好用,而且比较主流,使用eclipse+MDK的方案可以即兼顾MDK的优点,也可以体会eclipse的强大编辑功能和代码查看功能,同时也可以很方便的和主流开发者交流。

快速搭建环境

虽然eclipse对于阅读和编辑stm32工程十分便利,但是代码的编译还要借助MDK去完成。

  • 第一步:安装MDK
  • 第二步:下载安装eclipse for c++
  • 第三步:安装vi插件

第一步 安装MDK

网上下载MDK的渠道很多,我这里早期买过的开发板自带了MDK5的安装和注册机,直接安装:
MDK安装流程
安装完成后,要这个路径:
在这里插入图片描述
这个路径将会在eclipse创建工程的时候,配置头文件搜索路径时使用。

第二步:下载安装eclipse for c++

登录eclipse官网,下载eclipse ide for cpp developments
在这里插入图片描述
下载后得到一个zip包,解压到喜欢的位置,一般推荐纯英文路径诸如

D:\Program Files\

然后运行解压后的主程序
在这里插入图片描述
缺少Java运行环境,去下载安装一个Oracle的jre
在这里插入图片描述
在这里插入图片描述
安装完成Java运行环境之后,再次尝试运行eclipse,选择一个目录作为stm32 eclipse 工作路径。我使用的是D:\workspace\stm32
在这里插入图片描述

第三步:导入已有的mdk工程

在这里插入图片描述
选择一个已经存在的MAKEfile工程作为导入的工程。
在这里插入图片描述
选择工程的路径,然后点击完成。
在这里插入图片描述
在刚刚导入工程之后,由于没有配置头文件搜索路径,所以很多符号是无法解析的,要想eclipse真正发挥作用,这些参数配置是必须要做好的。
在这里插入图片描述

第四步:配置eclipse,使其能正常解析参数

  • 将MDK的C依赖头文件目录加入到头文件搜索目录中。
    在这里插入图片描述
  • 定义MDK的内建宏__CC_ARM
    在这里插入图片描述
    如果没有定义__CC_ARM则有些编译器不同实现的一些符号无法正常解析,比如va_list等
    在这里插入图片描述

向eclipse工程手动添加MDK中的宏定义

在这里插入图片描述

  1. 打开MDK工程工程配置,如上图左上角红色框线标记的按钮。
  2. 在弹出来的工程配置窗口,点击C/C++标签栏,如上图中间红色框线标记的位置
  3. 从编译选项只读文本编辑框找到所有的-Dxxxx的参数
    注释:MDK的编译器,通过-D定义宏;-DMY_MICRO表示定义一个不带参数的宏MY_MICRO; -DMICRO_WITH_PARAM="param"表示定义一个带参数的宏MICRO_WITH_PARAM并且其参数为"param"

在这里插入图片描述
4. 打开eclipse工程配置,点击工程,按快捷键ALT+Enter
5. 打开C/C++ General 标签栏下的“Paths and symbles”, 打开右侧的Symbles标签页,点击右边的Add…按钮添加MDK中定义的宏

Eclipse C语言解析器工作原理

Eclipse对C语言的支持来自于CDT插件中的index。所以如果打开C工程时出现有符号不能解析或头文件找不到,往往都是由于index的宏和头文件检索路径没有配置好。对于配置好的头文件搜索路径会显示在项目视图下的include分支中。
在这里插入图片描述
除了可以通过手动配置头文件和宏的方式之外,对于某些情况下,可能工具链本身定义了大量的宏和默认的头文件搜索路径,这些内置的定义如果都由手动配置输入明显是不合适的,比如使用gcc交叉工具链。此时,我们需要配置工程属性中的“Preprocessor Include Paths, Macro etc.”
在这里插入图片描述

  1. 点击工程右键Properties,或者点击工程名然后同时按下键盘快捷键【ALT+Enter】进入工程属性页
  2. 打开C/C++ General属性页,然后选择Preprocessor Include Paths and Macro etc.选项卡
  3. 选择Providers,新勾选一个"GCC Built-in Compiler Settings",使能该工具链的预处理解析,然后替换${Command}为gcc工具链的完整目录,这里演示的路径为"D:\Program Files (x86)\GNU Tools ARM Embedded\6 2017-q2-update\bin\arm-none-eabi-gcc.exe",然后保存
  4. 此时如果gcc工具链位置没有问题的话,公车下的includes头文件解析路径会添加gcc工具链内置目录,同时再次进入Preprocessor Include Paths and Macro etc.选项卡,打开Entries标签页,点开"GCC Built-in Compiler Settings"下拉按钮,可以看到很多导入的宏和头文件搜索目录
  5. 右键工程,更新索引。
    在这里插入图片描述
    注: 本demo中使用MDK编译器进行编译,所以不可以使用gcc的预处理自动生成的符号。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值