[技术讨论]

stm32的hex文件中,如果由于某一种问题,缺失了一个回车

[复制链接]
830|7
手机看帖
扫描二维码
随时随地手机跟帖
dai410257573|  楼主 | 2017-6-7 09:18 | 显示全部楼层 |阅读模式
MCU是stm32f103
在小批量测试的时候,发现有一些产品没问题,有一些产品会不正常,仔细检查hex后(记事本打开),发现下图红框标示的地方,本来在BD后面是会换行的,但是犹豫某种原因,在hex中这个换行符不见了,下一行和上一行直接合并成了一行。这样会导致什么样的错误发生?我用st link加载后去查看0x08000280的数据,好像也并没有什么区别

T$HEO4L%QFCBS3CZ[30]JL2.png

相关帖子

dirtwillfly| | 2017-6-7 11:47 | 显示全部楼层
第一次看到这种错误。hex文件不是一样的吗?

使用特权

评论回复
dai410257573|  楼主 | 2017-6-7 13:46 | 显示全部楼层
dirtwillfly 发表于 2017-6-7 11:47
第一次看到这种错误。hex文件不是一样的吗?

就是烧录的同一个hex ,发现问题后再来检查的hex,发现这个地方少了一个回车。因为不太懂在hex在芯片里面跑的具体情况,所以想问问大神们,这样少了一个回车后,会导致什么样的后果发生

使用特权

评论回复
dai410257573|  楼主 | 2017-6-7 13:46 | 显示全部楼层
@icecut   i哥,求助

使用特权

评论回复
icecut| | 2017-6-7 15:15 | 显示全部楼层
1. 这个文件是一个错误的文件.理论上会直接拒绝写入.
2. 如果没有拒绝,有两种可能给你补一个回车.烧写正确. 给你丢了后半行.烧写错误.

你可以补上回车,重新烧写,看看结果.

使用特权

评论回复
linqing171| | 2017-6-7 17:15 | 显示全部楼层
02 0000 04 0800 F2
04代表扩展线性地址,0800代表后面行的hex的高16位地址为0x0800xxxx

正常应该报错,也不排除你的hex解析的文件按 :02 开头的只解析到F2校验和,这行就算结束了,然后就读了下一行。

使用特权

评论回复
dai410257573|  楼主 | 2017-6-7 17:30 | 显示全部楼层
icecut 发表于 2017-6-7 15:15
1. 这个文件是一个错误的文件.理论上会直接拒绝写入.
2. 如果没有拒绝,有两种可能给你补一个回车.烧写正确. ...

谢谢i哥,如果我在写片内flash 存储数据的时候,被高优先级的中断打断了,会造成存储的内容错乱吗?

使用特权

评论回复
icecut| | 2017-6-7 18:08 | 显示全部楼层
dai410257573 发表于 2017-6-7 17:30
谢谢i哥,如果我在写片内flash 存储数据的时候,被高优先级的中断打断了,会造成存储的内容错乱吗? ...

这个看芯片厂商的水平了....
一般朝着好的地方想

使用特权

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

本版积分规则

23

主题

312

帖子

5

粉丝