Eclipse和单片机开发环境Keil的集成编译工具KeilMake
通过KeilMake可以在Eclipse上进行单片机开发且编译
使用方法:
配置Eclipse中项目Builder Settings的编译命令为
D:MyWorkSCMKeilMakeReleaseKeilMake D:MyWorkDevToolscommandkeilAT89S52.Uv2 ${ProjName} ${ProjDirPath} C:KeilUV2uv2.exe
红色部份修改为程序相应的路径即可,在Eclipse中写完程序后按Ctrl+B即可编译
AT89S52.Uv2 是Keil项目的模板文件,可根据个人需要进行修改,自带的模板配置是
AT89S52芯片,晶振为24Mhz,自动生成Hex文件
近期本人使用Keil进行单片机程序开发,感觉超不爽,在微软长期毒害下,我相信大部分跟着VS做开发的人们都对微软IDE的智能过于依赖。所以最 终我选择了Eclipse,虽然和微软的IDE相比还是有很大差距,不过对于我要做单片机开发的工作应该也可以满足了。在网上并没有找到Eclipse和 Keil可以很好集成在一起的插件,无而之下只好自己动手,搞搞科研了。
KeilMake就是这次的科研成果了,现与大家共同分享。
如果你的芯片和我现在用的一样是AT89S52,24Mhz,那么直接按照上面的方法即可使用,下面的内容可以略过。
如果是其它芯片,又和我一样想用Eclipse来进行单片机开发,那么请跟着我一步一步的操作。
环境安装,安装好Keil和Eclipse下面是我安装两个软件的版本
最新片Eclipse可以到这个地址 www.eclipse.org/downloads/ 下载C/C++版本的即可。
两个软件都安装好后我们就可以开始建立Keil模板了。
首先我们要知道自己的芯片的型号等信息,这里以举个AT89S52的例子,首先在Keil创建一个新项目
我们把项目文件保存为 stc89c52.Uv2 等会需要用到这个文件
CPU类型选择Atmel下面的AT89S52
新增加一个TEST.C的文件,内容空白就行了,因为我们不是在写代码,我们只是创建模板。
点击上面框框中的按钮对项目进行设置。
输入晶振的频率,我这块芯片是24MHz的。
设置生成时创建16进制文件,格式选择HEX-80
接下来用记事本打开刚才我们创建的项目文件 stc89c52.Uv2 留意红色框框的地方,这两个地方是我们需要修改的
File 1,1,<.test.c><test.c> 0x0 修改为 {CodeList}
stc89c52 修改为 {FileName}
完成上面步骤后,模板就创建完成了,我们把 stc89c52.Uv2 复制到别的地方,我放到D:MyWorkDevToolscommandkeil下
我把KeilMake.exe也放到这里了,这个不是必要的,我只是为了方便而已。
好了,现在到Eclipse了,如果在Eclipse上创建Keil项目呢?这里需要更正一个问题,我们不需要在Eclipse上创建Keil项 目,只要创建C项目就可以了,因为 KeilMake.exe 的工作就是把Eclipse上创建的C项目拿到Keil下去编译生成。
创建一个C项目
项目名称:testKeilProject
这里项目类型我选择Empty Project是因为我不需要用到MinGW GCC的类库,所以我选择空项目,然后Toolchains选择Other Toolchain,这一步我们可以直接点击Finish了。
现在到了最关键的设置时刻了,打开项目属性设置窗口。
Build command的值:D:MyWorkDevToolscommandkeilKeilMake.exe D:MyWorkDevToolscommandkeilstc89c52.Uv2 ${ProjName} ${ProjDirPath} C:KeilUV2uv2.exe
下面我们解释一下这行命令的意思
D:MyWorkDevToolscommandkeilKeilMake.exe KeilMake的路径。
D:MyWorkDevToolscommandkeilstc89c52.Uv2 我们刚才创建的Keil模板,以后只要是使用相同芯片做开发就可以使用这个模板。
${ProjName} 是Eclipse中的生成变量,是Eclipse里的项目名称,生成的HEX就是以这个值来命名。
${ProjDirPath} 是Eclipse中的项目目录
C:KeilUV2uv2.exe 是Keil的主程序路径
还有这里红色框框要留空,原值是all
点击File system按钮选择Keil目录下的c51inc目录
完成这一步后,基本上都完成了,我们来写一个程序测试一下。
Eclipse的自动完成功能
很简单的代码,来测试一下编译功能CTRL+B,记得要先保存再按CTRL+B,我刚开始时经常范这个错,所以代码没有编译到。
红色框框是编译生成输出的信息,看到
0 Error
和
creating hex file from “stc89c52”
这两行就是程序已经编译完成,在项目目录下会看到 stc89c52.hex 文件,把这个文件刷到单片机上试试看?
KeilMake是我学C语言的第一个程序,可能会存在一些BUG,如果使用过程中遇到什么问题,请随时和我联系,可发邮件到我的邮 箱:nick#workao.org 把#换为@
完。
附 KeilMake 下载地址:
uv2的文件格式有点旧,换uvproj的文件格式吧
学习了。回家试试,keil用起来实在没有 Eclipse 舒服。。很多快捷键已经适应 Eclipse 了。
已更新keilmake的下载链接。
好文章,正想找的资料,可否传个keimake给我,谢谢!
邮箱:blue-s@21cn.com
很难找到学习 Ecllipse和 Keil这样清晰的好文章
但下载不到 Keilmake,可否传Keilmake.exe给我
感谢