关于CE上的升级程序或驱动的编写

lxjlan 2009-12-20 06:14:06
由于,我们的产品没有使用wince的图形界面,也为了保护知识产权的需要,需要屏蔽用户对程序名,程序路径的可见性,由于软件又是需要不断更新的,因此需要制作一个nk层上的, 更新程序, 该程序与pc端的升级程序通过usb连接, 通过pc端的升级程序传递升级文件到目标设备,设备上的升级程序更新传递过来的更新程序,更新设备上的应用程序。
请问大家,这样的程序, 在设备端需要如何入手? 需要使用怎么样的usb驱动方式? 
...全文
118 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
博说医械研发 2009-12-21
  • 打赏
  • 举报
回复
由于你的AP路径对于最终用户来讲是不可见的,所以不能采取Mass Storage方式,是采取与EBOOT同种协议还是其它协议你可以自己考量一下,EBOOT的那个协议是需要安装驱动的,你也可以尝试使用HID模式,自定义一个HID设备,然后通过中断、bulkout等方式向你的WINCE设备传输数据,当WINCE获取数据后再存储到一定的位置,好处是不需要安装驱动,但是PC上的AP和WINCE上的驱动要协作得很好,比如说bulkout的前50字节描述AP的文件名、数据长度等一系列信息。
另外,由于WINCE的Device驱动不包含这样的内容,所以要另外写一个USB的驱动,如果你的设备本身还需要具有Mass Storage或者Serial等功能就需要有与你这个驱动有切换的功能。
博说医械研发 2009-12-21
  • 打赏
  • 举报
回复
你可以单独加一个USB的驱动,这个驱动与EBOOT的USB下载NK功能类似,接收DNW或者你们自己开发的PC端USB程序,并把接收到的文件存放到固定的位置,如果有能力的话还是你们自己开发PC端的AP比较好
91program 2009-12-21
  • 打赏
  • 举报
回复
就是通过USB将文件(系统或应用的文件)传输到设备上,然后再由设备上的升级程序进行升级。

A4平台上,有通过USB升级系统的功能,LZ可以找来参考一下,要eboot支持升级这个功能。
lxjlan 2009-12-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kyzf 的回复:]
如果仅仅是实现OS的更新,采用vs2005下载即可,当然前提是软件的DEBUG支持,以及串口和USB通信都没问题。

如91program所言,最好采用有SD卡和T卡,用来做升级比较适合。
我们的产品都是采用TF升级的。更新eBOOT和OS都很方便。

[/Quote]

我做的是 最终交付给用户使用的升级程序,而不是开发过程中的使用的。 如果开发使用的话,我直接用EBOOT的菜单就成了。
lxjlan 2009-12-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 91program 的回复:]
就是通过USB将文件(系统或应用的文件)传输到设备上,然后再由设备上的升级程序进行升级。

A4平台上,有通过USB升级系统的功能,LZ可以找来参考一下,要eboot支持升级这个功能。
[/Quote]

啥是A4 平台?目前EBOOT上的刷机程序我们已经弄好了, 修改的是EBOOT的USB下载功能和DNW的下载数据。
在NK层的更新程序, 我们的想法是不刷机的,其实也就是从PC端传一个东西到设备上,然后设备上更新到指定的目录,只是需要这个过程对用户要透明的。
lxjlan 2009-12-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 veabol 的回复:]
由于你的AP路径对于最终用户来讲是不可见的,所以不能采取Mass Storage方式,是采取与EBOOT同种协议还是其它协议你可以自己考量一下,EBOOT的那个协议是需要安装驱动的,你也可以尝试使用HID模式,自定义一个HID设备,然后通过中断、bulkout等方式向你的WINCE设备传输数据,当WINCE获取数据后再存储到一定的位置,好处是不需要安装驱动,但是PC上的AP和WINCE上的驱动要协作得很好,比如说bulkout的前50字节描述AP的文件名、数据长度等一系列信息。
另外,由于WINCE的Device驱动不包含这样的内容,所以要另外写一个USB的驱动,如果你的设备本身还需要具有Mass Storage或者Serial等功能就需要有与你这个驱动有切换的功能。
[/Quote]

HID是一个协议是不? 我不懂实现上的难度如何。 发现USB的驱动的东西好像很复杂, 我可能会尝试下,将
EBOOT层的USB驱动弄到NK上来用。 这个时候NK上的USB就会有两个驱动了, 一个是正常模式的时候用mass storage驱动把用户区的分区挂载成U盘连接到PC,一种是更新模式的,适用EBOOT上类似的USB驱动。
kyzf 2009-12-20
  • 打赏
  • 举报
回复
如果仅仅是实现OS的更新,采用vs2005下载即可,当然前提是软件的DEBUG支持,以及串口和USB通信都没问题。

如91program所言,最好采用有SD卡和T卡,用来做升级比较适合。
我们的产品都是采用TF升级的。更新eBOOT和OS都很方便。
lxjlan 2009-12-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 91program 的回复:]
屏蔽用户对程序名,程序路径的可见性,但是程序通过SD卡或T卡还是可以升级的。

如果一定要通过USB,主要是将文件传输路径搞通
[/Quote]

在使用USB的同时也要支持SD卡升级的,作为升级的后备。 你所说的传输路径是啥意思?
我想知道usb的操作是如何的。
91program 2009-12-20
  • 打赏
  • 举报
回复
屏蔽用户对程序名,程序路径的可见性,但是程序通过SD卡或T卡还是可以升级的。

如果一定要通过USB,主要是将文件传输路径搞通
91program 2009-12-20
  • 打赏
  • 举报
回复
如果设置上有SD卡和T卡,用来做升级比较适合。

通过USB升级,实现比较复杂。

19,504

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧