2009年3月18日
摘要:
由于.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
刘洪峰AIoT
阅读(4153)
推荐(0)
2009年3月13日
摘要:
标准的Sideshow设备连接PC后,由PC上Sideshow管理中心负责向Sideshow设备添加Gadget应用,该Gadget实例被Sideshow设备缓存到内存中。当Sideshow设备未连接PC,掉电重启后,所有原先添加的Gadget信息将全部丢失。本功能的目的就是,Sideshow设备在上述情况下重启,可以自动恢复原先的Gadget应用。
阅读全文
posted @ 2009-03-13 12:45
刘洪峰AIoT
阅读(1563)
推荐(0)
摘要:
上次在SideShow Gadget开发[1]中介绍了本地Gadget的开发,现在介绍一下常规Gadget的开发。
阅读全文
posted @ 2009-03-13 11:29
刘洪峰AIoT
阅读(1837)
推荐(0)
2009年2月15日
摘要:
目前.Net Micro Framework仅支持C#语言开发应用程序,由于是托管代码,垃圾回收随时都可能发生,其实时性很难得到保证,所以有windows开发经验的用户就会有这种想法:.Net Micro Framework能否支持非托管代码,也就是所谓的P/Invoke平台调用功能。从V3.0开始,.Net Micro Framework就已经支持这一个功能了,其实现的接口机制和其自有的Microsoft.SPOT.Hardware.dll、Microsoft.SPOT.IO.dll等等程序集完全一样。不过很可惜的是,这个功能普通应用级别的用户可能无法实现,它需要在硬件Porting的时候,把相关代码集成到TinyCLR中去。
阅读全文
posted @ 2009-02-15 14:13
刘洪峰AIoT
阅读(1898)
推荐(0)
摘要:
WireProtocol协议是上位机MFDeploy或VS2008程序在诊断、部署、调试.Net Micro Framework设备及相关应用程序时的通信协议。该协议与具体的硬件链路无关,目前支持的物理连接有串口、网口、USB等。
该协议为点对点协议,协议中没有设备地址的概念,在同一时间同一物理通道仅能调试一台设备。协议格式分两部分,帧头和负荷(Payload)(一帧命令可以不包含Payload)。了解该协议和获知通信时的数据,可以非常有效的解决上位机和下位机.Net Micro Framework设备通信问题。
阅读全文
posted @ 2009-02-15 12:15
刘洪峰AIoT
阅读(1608)
推荐(0)
2009年1月31日
摘要:
Micro Framework 3.0的SDK去年十月份就已经发布了,本打算在该SDK发布之后就把我以前开发的,可支持GPIO、I2C、SPI测试的模拟器同步升级为3.0版,以便早点支持VS2008(Micro Framework v2.x仅支持VS2005,Micro Framework v3.0仅支持VS2008)。不过前段时间太忙了,现在趁着年假,花了一两天的工夫,终于达成了心愿。
阅读全文
posted @ 2009-01-31 17:56
刘洪峰AIoT
阅读(2148)
推荐(0)
2009年1月22日
摘要:
SideShow的Gadget分为两类,一类是本地Gadget,一类是常规Gadget。所谓的本地Gadget就是编译SideShow工程时,直接集成到该工程的组件。如下图所示,这些组件不像常规Gadget,它无需连接PC,就天生俱有。
阅读全文
posted @ 2009-01-22 13:14
刘洪峰AIoT
阅读(1832)
推荐(0)
2009年1月21日
摘要:
为Micro Framework开发USB驱动也有一段时间了,随着开发的深入,对USB理解也渐渐清晰起来。从系统架构上来说为Micro Framework开发USB驱动有三个层面的工作。一是针对USB芯片的驱动移植(很多ARM CPU都集成了USB功能),实现MF的HAL层要求的USB接口;二是开发PC平台上针对MF设备的USB驱动;三是编写应用程序(非Micro Framework应用程序),通过USB接口直接和MF设备通信(这个工作是我加的,其实完成前两步工作,就已经使MFDeploy和VS2008和设备正常通信了)。
阅读全文
posted @ 2009-01-21 17:03
刘洪峰AIoT
阅读(4398)
推荐(0)
2009年1月4日
摘要:
花费了近三个礼拜的时间,终于完成了TI开发板的USB驱动开发,现在回头想一想,其实也没有什么,具体硬件方面的通信由DM355实现了,软件层面的数据交互由MF Porting实现了,所做的也就是熟悉了解USB通信协议和DM355 USB相关的寄存器。
阅读全文
posted @ 2009-01-04 00:26
刘洪峰AIoT
阅读(703)
推荐(0)
2008年12月5日
摘要:
去年的WinHEC大会无缘参加,没有想到今年的WinHEC的大会,却有幸目睹了这场盛会的台前幕后。
阅读全文
posted @ 2008-12-05 00:16
刘洪峰AIoT
阅读(479)
推荐(0)