首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

wince6.0下怎么实现系统运行起来后升级更新NK.BIN

2012-06-07 
wince6.0下如何实现系统运行起来后升级更新NK.BIN?如题,应该要写个驱动,接收应用层指令,然后读取外部存储

wince6.0下如何实现系统运行起来后升级更新NK.BIN?
如题,应该要写个驱动,接收应用层指令,然后读取外部存储器(如U盘)里的NK.BIN进行更新,更新时要读写MBR,TOC吗?这个驱动该如何写?有做过成功的代码示例吗?跪谢分享。

[解决办法]
需要 EBoot 来实现,不是驱动。
[解决办法]

探讨
应该在系统起来后要能对flash操作,读写MBR、TOC。这个应该要在驱动里做吧?应用程序不懂能否实现。

[解决办法]
探讨

CE5.0和6.0机制不一样,CE5.0在应用层可以直接操作flash的扇区,而6.0不可以,所以贴出来意义也不大引用:
引用:
CE5.0上我们实现过,但是6.0实现起来够呛~

5.0如何实现的?能否贴一下代码?我改改看能否在6.0上实现。这样大家都可以学习一下。谢谢!

[解决办法]
我们以前弄的是直接固定地址的,因为你的NK一般是固定从flash某个位置写起的
[解决办法]
以前我做过一个demo ,
试了一阵子,可以,后来TMD硬盘坏了。
程序不见了。

不过我写了博客,你去我的博客 搜索 更新 啥 的字眼应该还在的。
原理和app的代码我都贴出来了,
不过我的bootloader 烧写的是NK.nb0 ,没涉及TOC ,就比较简单。
不过TOC的东西, 你可以参考eboot去实现即可。
[解决办法]
探讨
如题,应该要写个驱动,接收应用层指令,然后读取外部存储器(如U盘)里的NK.BIN进行更新,更新时要读写MBR,TOC吗?这个驱动该如何写?有做过成功的代码示例吗?跪谢分享。

[解决办法]
探讨

CE5.0和6.0机制不一样,CE5.0在应用层可以直接操作flash的扇区,而6.0不可以,所以贴出来意义也不大引用:
引用:
CE5.0上我们实现过,但是6.0实现起来够呛~

5.0如何实现的?能否贴一下代码?我改改看能否在6.0上实现。这样大家都可以学习一下。谢谢!

[解决办法]
我也打算做一个,我的想法是系统起来后,在应用程层将待更新的NK_new.bin放到NandFlash的一个目录中,然后下次开机时,在EBOOT起来后,找到这个目录下的文件,然后覆盖原来的NK。但这里有个问题,EBOOT下如何找到那个目录。
[解决办法]
如果在应用层直接写Flash,要解决几个问题:
1 应用层操作Flash的接口,http://blog.csdn.net/nanjianhui/article/details/2196466 这个贴子中有说到怎么实现, A)打开"DSK1:"失败, B)修改FMD.cpp中FMD_OEMIoControl函数,但不知哪个。
to zhengmeifu, 你试验过,这个可以实现吗?
2 要知道NK在Flash中起始位在哪,我看了EBOOT的代码,没找到在哪。
3 正在运行的应用程序允许擦除吗?

热点排行