wince6.0下怎么实现系统运行起来后升级更新NK.BIN
wince6.0下如何实现系统运行起来后升级更新NK.BIN?如题,应该要写个驱动,接收应用层指令,然后读取外部存储
wince6.0下如何实现系统运行起来后升级更新NK.BIN?
如题,应该要写个驱动,接收应用层指令,然后读取外部存储器(如U盘)里的NK.BIN进行更新,更新时要读写MBR,TOC吗?这个驱动该如何写?有做过成功的代码示例吗?跪谢分享。
[解决办法]
需要 EBoot 来实现,不是驱动。
[解决办法]
[解决办法][解决办法]我们以前弄的是直接固定地址的,因为你的NK一般是固定从flash某个位置写起的
[解决办法]以前我做过一个demo ,
试了一阵子,可以,后来TMD硬盘坏了。
程序不见了。
不过我写了博客,你去我的博客 搜索 更新 啥 的字眼应该还在的。
原理和app的代码我都贴出来了,
不过我的bootloader 烧写的是NK.nb0 ,没涉及TOC ,就比较简单。
不过TOC的东西, 你可以参考eboot去实现即可。
[解决办法][解决办法][解决办法]我也打算做一个,我的想法是系统起来后,在应用程层将待更新的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 正在运行的应用程序允许擦除吗?