我有一个嵌入式设备,需要上位机下发固件以实现固件升级。上位机将固件分片写入下位机。
昨天搞了半天,固件写入 flash 后校验不过,最终发现是写入的固件,每次都是在 0x1BB 地址有且仅有一个字节出错(整个固件很大,大约 3MB )。昨天我就觉得见鬼了,如果是软件问题或者电路干扰,不可能仅仅错一个字节。换了另一块板子居然也是同一个地址有一个字节出错。
今天本来想改改中断优先级再试试的,结果发现同样的代码,同样的板子,再也没法复现这个问题了,固件校验都是一遍过。
所以我怀疑我是不是被智子盯上了,智子的能量很小,可能只能改一个字节,然后今天智子休息,只剩下我在这里凌乱……
1
wukongkong 2022-07-13 11:25:20 +08:00 1
只做软件层面的事情好幸福。。。
|
2
colatea 2022-07-13 11:34:32 +08:00
智子今天没休息,在我这捣乱 CSS
|
3
rming 2022-07-13 11:35:31 +08:00
看到 flash 吓我一跳
|
4
bitdepth 2022-07-13 11:42:49 +08:00
NOR or NAND flash
|
5
villivateur OP @bitdepth SPI NOR Flash ,所以也可以排除坏块问题
|
6
yolee599 2022-07-13 13:00:46 +08:00 via Android
Show me your code
|
7
jones2000 2022-07-13 15:08:23 +08:00
写固件的时候看下黄历,是不是宜移徙。
|
8
Cu635 2022-07-13 16:37:48 +08:00
“有且仅有一个字节出错”
这个当时留下了出错的现场么?是相同的一个或几个比特错么?还是每次错的是不同比特,但总是在同一个字节内? |
9
7zlid 2022-07-13 16:47:24 +08:00 via Android
你在做纳米材料吗?
|
10
villivateur OP @Cu635 错误一模一样,都是 0xE1 变成了 0xBC
|
11
nutting 2022-07-13 22:17:51 +08:00 via iPhone
宇宙射线吧
|