硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1400|回复: 8
收起左侧

[BOOT/IAP] 请益: Bootloader 使用网路固件升级,Hex档案排列长度不固定

[复制链接]

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2024-6-5 13:42:42 | 显示全部楼层 |阅读模式
本帖最后由 ChrisLi 于 2024-6-5 13:46 编辑

目前平台是H750,通过bootloader進行网路固件升级時,遇到Hex档案排列长度不固定时(如附件),怎么做比较好?
1. 升级的固件要能判断长度去组合成32字节
2. 能设定stm32ide 生成hex时,每行都能是32字节的格式? (不确定有没有这样的设定)
或有其他的处理方式?

hex問題.png
回复

使用道具 举报

17

主题

61

回帖

112

积分

初级会员

积分
112
发表于 2024-6-5 14:54:14 | 显示全部楼层
先转换成bin 格式,然后发送到MCU
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
 楼主| 发表于 2024-6-5 15:34:37 | 显示全部楼层
smare 发表于 2024-6-5 14:54
先转换成bin 格式,然后发送到MCU

Hex格式无解吗
好的 我研究一下bin档格式进行固件更新
回复

使用道具 举报

34

主题

206

回帖

308

积分

高级会员

积分
308
发表于 2024-6-5 17:10:17 | 显示全部楼层
都是用的bin
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2024-6-5 17:37:18 | 显示全部楼层
可以自己写个脚本把空的地方填充FF。
回复

使用道具 举报

9

主题

128

回帖

155

积分

初级会员

积分
155
发表于 2024-6-5 21:34:00 | 显示全部楼层
之前做的方法是读取固定Hex文件行数来进行升级。
回复

使用道具 举报

4

主题

181

回帖

193

积分

初级会员

积分
193
发表于 2024-6-5 22:21:21 来自手机 | 显示全部楼层
cubeide一直都有这个问题或者说gcc编译器问题,每行hex长度不固定,而mdk和iar生成的hex都是对齐的还会自动补FF,自己做个算法补齐就行,我们遇到过这是个大坑
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
 楼主| 发表于 2024-6-6 11:58:38 | 显示全部楼层
浴火重生 发表于 2024-6-5 22:21
cubeide一直都有这个问题或者说gcc编译器问题,每行hex长度不固定,而mdk和iar生成的hex都是对齐的还会自动 ...

真的是大坑,而且是在最近有新增功能后cubeide编译才出现
后续在Bootloader增加算法去判断后,程序可以顺利升级了,感謝
回复

使用道具 举报

12

主题

53

回帖

89

积分

初级会员

面霸

积分
89
发表于 2024-7-13 00:20:46 来自手机 | 显示全部楼层
浴火重生 发表于 2024-6-5 22:21
cubeide一直都有这个问题或者说gcc编译器问题,每行hex长度不固定,而mdk和iar生成的hex都是对齐的还会自动 ...

确实,cubeide未用到的空间,bin直接给了0x00,keil生成的都是0xFF
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-15 02:16 , Processed in 0.043024 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表