1.简介

最近的项目使用内部闪存存储程序代码、外部闪存存储照片文本等数据,无线更新时只更新内部闪存,程序需要生成内部闪存二进制文件。开始下一个任务!

2.工程建设

首先选择了TouchGFX生成项目。在此选择STM32L4R9I_DISCOVERY开发工具包,然后选择正式提供的Demo。最终接口图如下图1所示。


然后生成代码,点击图1的【Generate Code】,这个软件的使用等后面有机会出一个连载教程,这里就不多说明了,然后生成代码成功后,打开分散加载文件,打开方式如图2。

通过图3可以看到程序部分存储在内部Flash,图片和文字数据存储在外部Flash。


3.生成BIN文件


这时候添加一串生成BIN文件的命令。

  1. fromelf --bin --output STM32L4R9I_DISCOVERY\BIN_Da STM32L4R9I_DISCOVERY\STM32L4R9I_DISCOVERY.axf

复制代码

添加在如图4所示位置,这个位置是编译通过之后会执行的命令。


编译一下,查看生成的BIN文件,可以看到一个奇怪的现象,生成了一个为【Bin_Da】的文件夹,如图5所示。


进入文件夹之后可以看到两个文件,分别是【ER_EROM1】和【ER_IROM1】两个文件,如图6但是文件类型未知。


虽然这个文件也是一个BIN文件,只是后缀名不正确,我们用【WinHex】软件打开其中一个文件如图7,可以看到文件是可以被正常打开的,内容也是正确的。


但是这个文件后缀不太如意,这时候我发现了一件事,文件名与分散加载文件中的某一些名字一样,那么我如果修改这个名字是不是可以达到我想要的以BIN为后缀的文件,说做就做,把文件中的名称加上【.BIN】后缀,如图8所示。


然后将生成的文件夹名字中的【.BIN】删除,如图9,修改后的代码如下。

  1. fromelf --bin --output STM32L4R9I_DISCOVERY\BIN_Da STM32L4R9I_DISCOVERY\STM32L4R9I_DISCOVERY.axf

复制代码


编译一下,可以看到生成的了一个新的【BIN_Data】的文件夹,如图10。

点击进去后可以看到这两个文件名有了【.BIN】的后缀如图11,说明我猜想的没有问题。


4.总结


生成BIN文件的整体操作其实很简单,但是在网上找不到相关的教程,所以就写了一篇,对于文中提到的【分散加载文件】的教程网上也比较少,网上都是一些官方的说明,下一篇我写一下【分散加载文件】的使用,让你灵活分配内存。


原标题:【Keil使用记录】Part1:使用Keil生成内部和外部BIN文件

原创作者:二哲科技

本文为21ic原创奖励作品,详情请见21ic论坛活动专区:第一届万元红包——蓝V达人原创奖励活动,如果您也有兴趣参与征文,欢迎进入论坛参与活动~

1.《如何转换bin格式的文件怎么打开方式看这里!「全程无槽点」Keil操作第一弹:如何生成BIN文件》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《如何转换bin格式的文件怎么打开方式看这里!「全程无槽点」Keil操作第一弹:如何生成BIN文件》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/3123334.html