Keil5深度探索:高效生成hex、bin与lib文件实战指南

前言

Keil5是一款非常强大的嵌入式开发工具,它支持多种处理器和开发板,包括ARM Cortex-M系列。在嵌入式开发中,生成hex、bin和lib文件是非常常见的需求。本文将详细介绍如何使用Keil5高效生成这些文件。

原因

1.用到IAP升级,需要bin文件

2.给别人分享源代码,不想让别人看到源代码,需要lib库文件

3.hex文件用于烧录到芯片中

如果觉得对您有所帮助,请可以点个关注收藏一下,谢谢!
墨小羽ovo

一. 生成hex文件

1.选择魔术棒图标,选择Output选项卡

2.勾选Create Hex File
3.勾选完成后

二. 生成bin文件

bin文件是二进制文件,它仅包含原始的机器码,不包含地址信息或其他元数据。在Keil5中,您可以通过修改项目设置或编写自定义脚本来生成bin文件:

1.使用fromelf工具:Keil提供了fromelf.exe工具,可以将编译生成的axf文件转换为bin文件。您可以在“Options for Target…”的“User”选项卡中,添加自定义的编译后命令来调用fromelf工具。

这是我的fromelf.exe工具路径以及输出
路径,您需要根据您的实际情况进行修改。

C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe –bin –output …\MDK-ARM\SXD-FBJC\SXD-FBJC.bin …\MDK-ARM\SXD-FBJC\SXD-FBJC.axf

2.编写自定义脚本:您也可以编写自定义的编译后脚本,使用fromelf工具来生成bin文件。例如,您可以使用以下脚本来生成bin文件:

C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe –bin –output …\OBJ\Farm.bin …\OBJ\Farm.axf

注意

1.bin文件的生成注意(要跟你这里输出的文件名一致),跟输出hex文件的路径一致

2.fromelf.exe工具路径,您需要根据您的实际情况进行修改。

C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe (这个是在Keil5安装目录下的ARMCC文件夹下)

3.输出路径,您需要根据您的实际情况进行修改。

注意最前面是两个点
的…代表上一级目录,即这个工程文件夹的上一级目录。
…\OBJ\Farm.bin

4.输入路径,您需要根据您的实际情况进行修改。

…\OBJ\Farm.axf

三. 生成lib文件

lib文件是静态库文件,它包含了编译后的机器码和符号信息,可以用于链接到其他项目中。在Keil5中,您可以使用以下步骤来生成lib文件:
可以把不想让别人看到源代码的文件,生成lib库文件,给别人分享源代码,不想让别人看到源代码,需要lib库文件
操作步骤:
1.选择魔术棒图标,选择Output选项卡
2.勾选Create Library

3.点击对应分组,屏蔽当前文件,不参与lib库生成

4.操作完,编译生成,如图所示

四.lib库文件使用

1.将屏蔽掉的文件重新参与编译
2.将你不想让别人看到的代码删掉
示例:
本项目是HARDWARE文件夹下的文件,我这里演示就先只屏蔽掉就行

3.将生成的lib库文件,添加到需要使用lib库文件的项目中

4.勾选Output中的Create Executable这个选项,重新生成编译

5.完成,正常使用

五.总结

本文详细介绍了如何使用Keil5生成hex、bin和lib文件。通过修改项目设置或编写自定义脚本,您可以轻松地生成这些文件,以满足您的嵌入式开发需求。希望本文对您有所帮助!。最后呢,在编写博客的过程中,我尽量保持内容的准确性和完整性,但也难免会有疏漏或错误之处。欢迎各位读者指出其中的问题,帮助我不断进步。谢谢大家的阅读,祝大家学习愉快!

作者:墨小羽ovo

物联沃分享整理
物联沃-IOTWORD物联网 » Keil5深度探索:高效生成hex、bin与lib文件实战指南

发表回复