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

用USB 更新WINCE 内核,不安装PB,要求操作方便,不能使用串口信息,怎么实现

2012-02-07 
用USB 更新WINCE 内核,不安装PB,要求操作方便,不能使用串口信息,如何实现.现在我们实现了2种方式更新WINCE

用USB 更新WINCE 内核,不安装PB,要求操作方便,不能使用串口信息,如何实现.
现在我们实现了2种方式更新WINCE 内核
一种是用SD卡,reset时插入sd卡,只有卡上有NK.bin文件就会自动更新系统.
另一种是用USB,要查看串口信息,配置USB选项,再用Platform builder打开NK.bin文件,attach dvice来下载内核到flash.实现更新wince.
现在客户要求通过USB 更新系统,要操作简单,要求不安装Platform builder,不需要再串口打印信息进行配置,就可以进行更新wince,各位大侠,这个要如何实现?指点一下,谢谢啦.有满意答案会追加分数.

[解决办法]
修改eboot,做一个pc下的工具软件,这两个之间通过USB来通讯。

当然,还需要一个USB的驱动。

说起来容易,做起来还是比较麻烦的。
[解决办法]
如果在 Bootloader 里面更新的话可以考虑修改 DNW 的源代码,DNW 里面有完整的方案。
其实最好是在 WinCE 操作系统下面更新内核,这样你所有的烦恼都没了,不管是 USB 还是 SD 卡 甚至是网络。呵呵。
[解决办法]
你用的不会是Monahans L PXA300或者P PXA320吧?

你选择了USB 1.1 RNDIS,就是将下载模式设置成了USB1.1 Download,这个是在OEMPlatformInit里面的,有一个全局变量。

然后在DownloadImage里面会检测这个全局变量,判断选择了usb1.1,那么就调用usb1.1的函数来实现数据传输。

仔细看一下OEMPlatformInit函数,有选择下载模式的switch..case,然后看看这个全局变量是什么。

你自己要实现的就是用lcd显示,按键选择的方式,来将这个全局变量设置成usb1.1模式即可。


pc端的用你找到的应该就可以。
[解决办法]

探讨
如果在 Bootloader 里面更新的话可以考虑修改 DNW 的源代码,DNW 里面有完整的方案。
其实最好是在 WinCE 操作系统下面更新内核,这样你所有的烦恼都没了,不管是 USB 还是 SD 卡 甚至是网络。呵呵。

[解决办法]
最好实现一个TotalImage更新的功能,一次性可以把bootloader和Image等所有的东西更新进去
[解决办法]
探讨
是在启动代码里更新。

请教各位:想用wince上的应用程序来设置一个标志位:select_USBRNDIS=1,这个标志位应该存在flash里,reset后仍然存在. 然后reset,在eboot里的main.c里的BOOL OEMPlatformInit(void)里查这个标志位select_USBRNDIS,如果这个标志位置位则进行NK.BIN 的下载.

如何再应用程序和bootloader间来共享这个变量

热点排行