ARM DS-5开发STM32程序(Eclipse配合Keil插件使用)
ARM DS-5是基于Eclipse的ARM开发环境,有完善的编译流程,配合Keil插件开发STM32效果更佳。废话不多,先介绍思路:
1.安装MDK软件,就有编译STM32的工具链。我使用是MDK 4.72的。
http://pan.baidu.com/s/1o6iHPVG
2.安装DS-5,并注册社区版(免费阉割)。
http://pan.baidu.com/s/1mgHX2JY
补充:社区版激活代码:
http://ds.arm.com/zh-cn/ds-5-community-edition/getting-started/
3.运行DS-5安装Keil插件
安装好Keil插件后只是使用了Keil的调试和下载功能,真正与DS-5合体需要在Eclipse设置。
4.设置编译工具链,打开eclipse,Windows->Preferences,弹出Preferences窗口后选择DS-5->Toolchains,点击Add。选择keil安装目录下的ARM\ARMCC\bin,然后确认点next、next通常会检测出armcc的版本
确认后如下图,黄色的就是添加后的工具链。
ds-5的环境设置到这里完成,然后进行项目设置。
首先在Eclipse新建arm项目,New->C Project,选择Empty Project和ARM Compiler 5.03,同时输入项目名称Finish,下图因为之前有test1这个项目才出现错误。
然后添加原来的源码到Eclipse的项目文件夹就是了,下图可以对比一下Keil与Eclipse的项目表示方式,
6.构建设置。项目源码添加后还要设置给编译工具链的参数。点到项目右键选择Properties,C/C++ Build->Tool Chain Editor,Current builder有CDT Internal Builder和Gnu Make Builder选择,Gun的使用Makefile,CDT是命令形式。在win7下CDT编译是明显快一点。这两个builder还有的区别是文件路径的表示不一样,不过影响不是很大。
然后是C/C++ Build->Settings,根据下面图基本ok,其实Preprocessor和Includes的设置都与MDK设置对应的。Target CPU是Cortex-M3,
在ARM Linker设置里面涉及一个比较关键一点,就是scat文件,在Keil其实也有但是几乎看不到它的身影。
在Eclipse里面就要通过这个给链接器,所以在项目下新建一个Templet.scat,DS-5支持scat后缀的文件有特别的查看方式,不过对于STM32应该不重要。0x08000xxx和0x2000...数字的意义懂stm32的存储器地址都明白吧。写好scat文件后记得在ARM Linker的Image Layout设置Scatter file。
基本的设置完成,利用Keil插件可以进行调试和下载。
补充:
1.不想编译某文件,点击文件右键->Resource Configurations->Exclude from Build..,并勾上就可以。
STM32开发基本上使用keil和iar,keil很强大,运行快速,设置简单直观,模拟和调试工具都做的不错。IAR个人觉得比较丑陋,虽然keil也不是很漂亮。。而Eclipse,
其实一开始我是拒绝的。。。因为它
设置比较复杂而且一开始加载很慢,对比keil有没什么优势。但是当你的工程越来越多,分支也开始多的时候,就发现Eclipse的优势:
1.清晰的项目管理,不用再开多个keil软件和文件夹
2.与svn方便使用,Eclipse安装了svn插件就容易的进行版本管理
补充:附上配置好的工程文件