我可能被智子盯上了,一段写 Flash 的代码,昨天必现一字节出错,今天完全无法复现

2022-07-13 11:22:10 +08:00
 villivateur

我有一个嵌入式设备,需要上位机下发固件以实现固件升级。上位机将固件分片写入下位机。

昨天搞了半天,固件写入 flash 后校验不过,最终发现是写入的固件,每次都是在 0x1BB 地址有且仅有一个字节出错(整个固件很大,大约 3MB )。昨天我就觉得见鬼了,如果是软件问题或者电路干扰,不可能仅仅错一个字节。换了另一块板子居然也是同一个地址有一个字节出错。

今天本来想改改中断优先级再试试的,结果发现同样的代码,同样的板子,再也没法复现这个问题了,固件校验都是一遍过。

所以我怀疑我是不是被智子盯上了,智子的能量很小,可能只能改一个字节,然后今天智子休息,只剩下我在这里凌乱……

2117 次点击
所在节点   嵌入式开发
11 条回复
wukongkong
2022-07-13 11:25:20 +08:00
只做软件层面的事情好幸福。。。
colatea
2022-07-13 11:34:32 +08:00
智子今天没休息,在我这捣乱 CSS
rming
2022-07-13 11:35:31 +08:00
看到 flash 吓我一跳
bitdepth
2022-07-13 11:42:49 +08:00
NOR or NAND flash
villivateur
2022-07-13 11:44:46 +08:00
@bitdepth SPI NOR Flash ,所以也可以排除坏块问题
yolee599
2022-07-13 13:00:46 +08:00
Show me your code
jones2000
2022-07-13 15:08:23 +08:00
写固件的时候看下黄历,是不是宜移徙。
Cu635
2022-07-13 16:37:48 +08:00
“有且仅有一个字节出错”
这个当时留下了出错的现场么?是相同的一个或几个比特错么?还是每次错的是不同比特,但总是在同一个字节内?
7zlid
2022-07-13 16:47:24 +08:00
你在做纳米材料吗?
villivateur
2022-07-13 20:12:45 +08:00
@Cu635 错误一模一样,都是 0xE1 变成了 0xBC
nutting
2022-07-13 22:17:51 +08:00
宇宙射线吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/865864

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX