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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨小羽ovo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值