打印
[STM32F4]

如何在bin文件最后增加一串特殊的字符串

[复制链接]
799|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
stly|  楼主 | 2022-2-19 14:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
各位大佬,
希望能在bin文件最后增加一串字符串作为文件的结束;不知道如何设置,是编译的时候,自动在bin文件最后加入这一串字符串;

使用特权

评论回复
沙发
pengf| | 2022-2-19 14:33 | 只看该作者
添加字符串,还是建议用生成的HEX文件添加吧。

使用特权

评论回复
板凳
dengdc| | 2022-2-19 14:37 | 只看该作者
HEX添加后, 再生成BIN文件

使用特权

评论回复
地板
pengf| | 2022-2-19 14:39 | 只看该作者
直接用BIN添加也可以,有些不确定因素得知道。

使用特权

评论回复
5
zhenykun| | 2022-2-19 14:42 | 只看该作者
你的BIN文件是如何生成的,未使用的空间填充内容了吗?

使用特权

评论回复
6
chuxh| | 2022-2-19 14:43 | 只看该作者
如果填充了FF或00,那得从BIN文件末尾往回找真正的内容末尾,但是内容末尾的一个FF或00有可能是有效代码,或者不只一个。

使用特权

评论回复
7
stly|  楼主 | 2022-2-19 14:46 | 只看该作者
我大概的想法是,bin文件最后增加一个字符串,用来说明到了文件末尾,比如增加"this is the end of bin."用来识别文件的结尾;

使用特权

评论回复
8
xxrs| | 2022-2-19 14:48 | 只看该作者
编译时设置不了,在链接完成后才能知道程序总共使用了哪些空间,占用空间有可能是不连续的。

使用特权

评论回复
9
huangchui| | 2022-2-19 14:50 | 只看该作者
但是生成HEX或BIN后,程序空间分配就固定下来了。

使用特权

评论回复
10
chuxh| | 2022-2-19 14:52 | 只看该作者
如果是用BIN的文件尾的确是程序占用空间的尾部的话,可以写个C代码,编辑BIN文件,在文件尾追加写入你要添加的"this is the end of bin."

使用特权

评论回复
11
pengf| | 2022-2-19 14:55 | 只看该作者

使用特权

评论回复
12
pengf| | 2022-2-19 15:00 | 只看该作者

使用特权

评论回复
13
stly|  楼主 | 2022-2-19 15:02 | 只看该作者
我弄了个笨办法 在 icf 文件里面申请了一个靠近flash尾巴的地址; 将 char end_of_file[] @ ".end_of_file" = "this is end of file"; 放在最后面; 坏处是非常慢,写的时候不管3、7、 21将整个bin全写了一次flash. 还是你这个工具厉害

使用特权

评论回复
14
stly|  楼主 | 2022-2-19 15:05 | 只看该作者
我再好好缕一缕吧,有了好消息及时通知大家

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

433

主题

7058

帖子

0

粉丝