您的位置:首页 > 编程语言 > C语言/C++

Keil不能正确生成.bin文件的解决办法

2016-11-27 16:39 435 查看



1、打开keil IDE,然后打开help->uVison Help,搜索fromelf关键字如下图1:





然后再进入到右下角的索引找到fromelf命令行的语法和选项,找到—bin的说明如下,如红色标注所说,正是症结所在,即如果链接文件中定义了多个加载段的话,fromelf会以目标文件名来创建一个文件夹并将每个加载段都生成一个相应的文件存放在该文件夹下,问题的原因是找到了,但是另外两个问题又来了(咳咳,问题咋这么多捏),一是我的工程为啥会有多个加载段,另一个问题是如果出现这种加载段我们怎么生成我们想要的bin文件呢,不要捉急,咱们一个一个聊。





第一个问题,我们打开Keil->Options->Linker选项卡如下图,可以看到本工程中没有使用Options->Target下选项卡对内存映射的配置,而是使用自己的.scf链接文件,打开该文件一看就明白了,其定义了很多个内存段因此造成上述情况的发生,如果使用Target Dialog应该不会出现此类问题(但是此时工程会编译错误,因为工程中某些原文件用了自定义.scf中某些段名)。





第二个问题,既然问题找到了,我们该使用哪种方法来正确生成想要的.bin二进制文件呢,通过查看fromelf所支持的命令集,终于找到了解决办法,即使用—bincombined命令可以实现将使用多加载段的工程生成真正的.bin文件,具体用法如下:





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 bin keil