.Net Micro Framework - USB Mass Storage功能实现
摘要:由于.Net Micro Framework的USB驱动架构中,没有为Mass Storage功能提供原生支持,所以除了要编写Mass Storage主体代码外,还需要在原有的USB驱动中添加部分枚举代码。其实从结构上来说,该部分代码应该添加在PAL层,不过考虑到这层代码为.Net Micro Framework Poring Kit Rtm 3.0标准代码,所以把这部分代码添加到我们自己编写的USB驱动之中去了。
此外,由于Mass Storage功能需要不断地检测和处理USB端口的数据,需要一个进程(或线程)去进行驱动。.Net Micro Framework在应用层仅支持一个进程(单个用户程序),所以必须在应用程序中专开一个线程去进行驱动,考虑到这样实现需要用户做额外的工作,最后摒弃了这一实现。最终的做法是,在Mass Storage驱动中添加了时钟中断处理函数,Mass Storage被初始化后,该时钟中断被激活,以一个用户可设定的间隔去监控和处理USB端口的数据。
在实现Mass Storage功能的代码中,并没有直接去读写相关Flash,而是借助PAL层的Sec
阅读全文
posted @
2009-03-18 12:33
刘洪峰IoT
阅读(4105)
推荐(0) 编辑
SideShow Gadget本地存储实现
摘要:标准的Sideshow设备连接PC后,由PC上Sideshow管理中心负责向Sideshow设备添加Gadget应用,该Gadget实例被Sideshow设备缓存到内存中。当Sideshow设备未连接PC,掉电重启后,所有原先添加的Gadget信息将全部丢失。本功能的目的就是,Sideshow设备在上述情况下重启,可以自动恢复原先的Gadget应用。
阅读全文
posted @
2009-03-13 12:45
刘洪峰IoT
阅读(1542)
推荐(0) 编辑
SideShow Gadget开发[2]
摘要:上次在SideShow Gadget开发[1]中介绍了本地Gadget的开发,现在介绍一下常规Gadget的开发。
阅读全文
posted @
2009-03-13 11:29
刘洪峰IoT
阅读(1821)
推荐(0) 编辑