我们在使用MDK5开发单片机工程时,可能需要使用用户命令插入编译过程,如指定生成bin文件、拷贝某文件到指定路径等,如下图。
fromelf.exe工具
这个工具是 MDK自带的,在目录“Keil_v5\ARM\ARMCC\bin”下面。
在此路径下,打开控制台,输入“fromelf --help”即可获取相关的指令信息。
我个人在使用此工具时,通常是用来指定生成bin文件和elf文件,并且是可以指定存放目录的。
fromelf.exe --bin -o ../Output/test.bin ./Objects/test.axf
指定生成test.bin文件,并存放在“…/Output”目录下。其中“…/”是指当前目录的上一级目录。
指定生成axf文件。
这俩文件有什么用呢?似乎学习32单片机开发时都没用到。
bin文件可以用来烧录,可以用来作为IAP升级时传输的文件(当然,实际传输时,会对其进行一定的打包,实际就是常规的C语言文件操作,增加一些头尾的相关信息)。
axf文件很少用到,实际上这个文件在调试时会用到,只不过我们通常在MDK中调试,不会去关注这些。如果你用其他工具调试,比如我用的Ozone,就是通过打开此文件导入调试的。
cmd.exe工具
这个工具没在MDK中找到,可能是win系统自带的命令吧,没找到资料求证……
这个工具可以用来干嘛呢?
拷贝文件!
众所周知,MDK编译生成的文件都在Objects文件夹中,当然你也可以指定其他文件夹。但是生成的许多文件都是中间文件,对我们没啥用处,我们要用的其实主要是hex文件或者bin文件。
这时候我们可以使用此命令,将编译生成的我们需要的文件拷贝到一个单独的文件夹中,方便我们获取使用。比如下面我用的。
cmd.exe /c copy .\Objects\test.hex ..\Output
功能很简单,将生成的hex文件拷贝到Output文件夹下,结合上面的fromelf.exe工具,在Output文件夹下我们就有了hex和bin文件,一目了然。(注意命令中的“/”和“\”)
我的配置
最后,贴一下我自己的配置指令。
有时候编译可能执行出错,重新编译下即可。
其他还有别的命令,后面发现了再更新……