如何通过Keil编译生成可执行文件,即hex文件和bin文件,本文给大家介绍一下。 1、生成hex文件 通过以下界面的配置操作就可以生成hex文件: 可以自定义存放路径和文件名称等,其中文件名称支持中文。
2、生成bin文件 通过以下界面的配置操作就可以生成bin文件: 生成的bin文件名称与生成的hex文件名称一致: 这里需要对该界面的配置做一些解释: Before Compile C/C++ File: 编译c文件之前; Before Build:编译之前; After Build/Rebuild:编译之后运行,然后生成bin文件,其中一般使用Run #1操作来生成bin文件,一般配置该项即可。 User Command的格式一般类似于: fromelf --bin --output=$L..\@L.bin #L 作者配置的具体命令如下: $K\ARM\ARMCC\bin\fromelf.exe --bin--output=@L.bin !L 其中fromelf.exe是ARM公司提供的命令行工具,用于将 ELF格式 的文件转换为二进制bin文件、十六进制hex文件或汇编代码格式; $L:表示生成的链接文件的路径,一般是工程路径下的\objects\; @L: 表示生成的链接文件的文件名(包含路径),但不包含文件扩展名; #L:表示生成的链接文件的完整路径名及文件名。 编译完成后,在Build Output窗口里会显示以上内容: 补充一下: 这个里面为什么还有一个RUN #2的选项呢? 其实用户可以用它来自定义实现一些功能,相当于自己写一个命令来实现需要的功能,比如将生成的bin文件转成数据存储到某个源文件的数组当中,类似于下面的命令: 其中.\ 表示MDK工程的当前路径,testbin.exe在工程路径的outexe文件夹中; .\outexe\testbin.exe代表编译完成后调用testbin.exe; .\outexe\testbin.exe后面跟一个空格; @L.bin是给testbin.exe的第一个参数; 再跟一个空给,$L..\test.c是给testbin.exe的第二个参数; 这两个参数分别代表要处理的bin文件和处理完成后输出的.c源文件。 有兴趣的朋友可以试一下。 |