keil使用命令行编译_Keil-MDK编译前后运行用户自定义程序

Keil作为一款经典的嵌入式开发IDE,从51到ARM一直都被众多的开发者使用。今天介绍一下它运行用户程序的功能,也就是在”Target Options”中”User”选项卡之下的内容。

在那些需要自动处理源文件或者转换输出文件的场景中,这部分功能是相当给力的。比如我最近做的一个网络模块。它内置了几个网页用以显示运行状态和配置功能参数,开发的时候要把HTML的源文件转成.h头文件中的字符串。它还提供了固件升级功能,也就是要把固件文件提供给用户,这样固件文件就要加密。另外为了方便调试和追踪代码,还希望能自动提交代码到版本库。

显然,转换HTML文件要在编译之前进行,而固件文件加密和提交代码在编译链接并输出完成之后进行。这样就可以像下面这样设置:

网页转换和加密所用的工具是我用C写的两个命令行下的小程序,操作源文件和输出文件时使用的都是相对路径。如果在上面直接调用这两个小程序的话,会导致找不到正确的文件。所以做了一个.bat的DOS脚本,在调用这些工具之前先CD到相应的目录,比如“加密.bat”这个文件的内容就是下面这几行:

这样配合另外一个自动固件升级的程序(每隔500ms检查固件文件,如有变动就自动通过网络升级设备),就可以实现修改源文件后只需点一下keil的生成按钮,就可完成网页转换-编译输出-固件加密-提交代码-固件升级的一系列步骤。大大简化了开发过程,不用再像以前那样先要运行网页转换的程序,然后在keil里生成,再然后运行加密程序、提交代码,最后再固件升级。

另外这样调用命令行程序后,就会把keil的”Build Output”输出窗口作为显示终端。这些命令行程序中如果有printf函数输出,就会直接显示在”Build Output”输出窗口中。

0

0

vote

Article Rating

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值