继之前的文章搭建完eclipse替代keil MDK编辑代码的环境之后,接下着手解决怎么用eclipse编译代码的问题。
网上关于eclipse+keil相关的信息,多数是多年前keil曾经推出的eclipse插件包相关,但是该插件已经停止更新了。从网上信息来看,大家配置的时候遇到的问题也不少,所以放弃了使用这个插件包的想法。另外一种实现方式是,自己写一套makefile或者SCONS,调用keil的编译器完成工程编译。这两种方式进行构建除了需要写相应的脚本外,还需要分析keil相关的编译参数,需要深入理解编译器相关的配置,网上也没有可以借鉴的例子,工作量偏大。看了下keil编译器文档,它是支持命令行操作的,所以猜测keil的gui也是通过命令行的方式调用底层的编译器,完成整个工程的编译,只要找到它的命令传输方式,在eclipse上模拟一下就可以替代keil IDE的编译按钮实现了。搜了一下keil文档,发现keil其实是支持命令行操作的,完美!文档如图所示:
![25c76151f1af66ed7ad2a91ef7368d2f.png](https://img-blog.csdnimg.cn/img_convert/25c76151f1af66ed7ad2a91ef7368d2f.png)
keil 命令行操作文档说明
根据上述文档编写一个批处理命令触发keil编译工程,文件命名为build.bat。具体代码如下:
@echo offSET PARAM=%1REM SET TEMP=%PARAM:~0,2%IF "%PARAM%" == "all" GOTO BuildIF "%PARAM%" == "clean" GOTO CleanGOTO END:BuildD:Keil_v5UV4UV4.exe -r DemoProject.uvprojx -j16 -o .log.txtGOTO END:CleanD:Keil_v5UV4UV4.exe -c DemoProject.uvprojx -j0 -o .log.txtGOTO END:END
将build.bat放置在DemoProject.uvprojx相同的文件夹下面,在DOS命令行下,执行指令
build.bat all
就可以完成keil工程的编译。执行
build clean
则可以完成清除编译的工作。
现在万事具备,离实现目标就剩下将build.bat和eclipse的build接口对接的问题了。