阅读:1674回复:9
wince 系统运行时,为什么有时会把bootloader代码改写
wince5.0,2440平台,系统运行时突然关电,有时会发生NandFlash的bootloader代码被改写而系统起不来,只能重新烧写bootloader,系统本身完好,也试过配置FLASH不当作RAM使用,现象还是一样发生。不知还有什么方法可以预防FLASH被系统改写(非正常情况下,突然断电之类)。
|
|
沙发#
发布于:2008-09-04 16:14
1.註冊表崩潰
2.系統未判斷低電壓,強制中斷停止讀寫 |
|
板凳#
发布于:2008-09-04 16:52
我的想法,fmd驱动里面判断。 禁止访问bootloader。
|
|
地板#
发布于:2008-09-04 19:44
引用第2楼high于2008-09-04 16:52发表的 : 斷電的瞬間 那些防止訪問BLOCK或FLASH寫入的機制,通通都失效的... |
|
地下室#
发布于:2008-09-04 21:41
harktrip:
1.註冊表崩潰 2.系統未判斷低電壓,強制中斷停止讀寫 对1,就算注册表崩溃,那也只能影响系统而已吧。 对2,你意思是说加硬件电路去预防吗? |
|
5楼#
发布于:2008-09-04 22:50
1.註冊表崩潰當然也包含 註冊表亂寫導致混亂,破壞的image 這我到遇過很多次
破壞eboot 部分,是有這樣的經驗 2.是的,正確的是要加上低電壓判斷.而且是以硬件方式強制停止讀寫 |
|
6楼#
发布于:2008-09-05 19:33
1.注册表崩溃问题?使用的是什么fs? tfat能不能够解决这个问题?未使用不知效果如何。 因为tfat是基于事务型的,我揣测设计目的即此。
2. fmd禁止访问后, bootloader区域即成透明了。另外, 还有个思路, 使用双bootloader, 启动时候,自己和副本比较, 如过差异立刻还原。 wince设备少有没有关机功能, 那样极限条件比较少见吧, 否则怎么做都困难。 硬件稳定很重要,但是我想,软件也可以有些防卫。 |
|
7楼#
发布于:2008-09-05 22:34
双bootloader和双image
真的有廠家的產品是這樣做的... 所以64M的nand 開機後 resident flash 只剩2~3MB可用 |
|
8楼#
发布于:2008-09-05 22:42
有关机功能的,只不过调试阶段,经常直接断电,才发现问题而已。其实双bootloader的关键,你是怎么存储备份那个,怎能确保备份那个在异常情况下而不会被改写。
|
|
9楼#
发布于:2008-09-05 22:47
引用第7楼harktrip于2008-09-05 22:34发表的 : 嗯,记得HP的PDA就有,双bootloader和双image,可以随时恢复,不过当时没有去了解是怎么设计的。 |
|