2009年5月8日
摘要: .Net Micro Framework将开源,这对长期工作在Windows平台的嵌入式开发爱好者应该是个好消息,不仅license免费,而且所有的代码将开源。 .Net Micro Framework和其它嵌入式系统最大的优势就是应用程序开发调试简单,想想看对一个提供嵌入式产品的公司来说,一旦前期的平台定制完成,余下的应用程序的开发将是非常容易的事,想想看,对水平不高不低的嵌入式开发人员真是一个冲击,因为一个C#程序员就可以开发嵌入式应用了。 总之开源是个好事情,是微软的英明之举,目前该工作正在有条不紊的进行之中... ... 阅读全文
posted @ 2009-05-08 12:51 刘洪峰IoT 阅读(1013) 评论(5) 推荐(0) 编辑
  2009年5月7日
摘要: 以前看USB协议2.0的时候,有个认识上的误区,认为所谓的复合设备,必须是两个物理上相独立的USB设备(两个USB Device,两个USB地址,只是在同一条USB总线而已)。最近在开发.Net Micro Framewok的USB双接口功能时,才明白复合设备原来也可以是这样实现! 阅读全文
posted @ 2009-05-07 23:50 刘洪峰IoT 阅读(2387) 评论(6) 推荐(0) 编辑
  2009年5月4日
摘要: .Net Micro Framework的中断处理机制相对比较简单,不支持中断嵌套,中断优先级功能的实现由相关硬件提供支持,软件层面仅仅进行相关优先级的设定即可。下面以TI DM335开发板为例简单介绍一下相关技术细节(这里仅介绍普通中断IRQ)。 阅读全文
posted @ 2009-05-04 17:10 刘洪峰IoT 阅读(1861) 评论(1) 推荐(0) 编辑
  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 刘洪峰IoT 阅读(4086) 评论(0) 推荐(0) 编辑
  2009年3月13日
摘要: 标准的Sideshow设备连接PC后,由PC上Sideshow管理中心负责向Sideshow设备添加Gadget应用,该Gadget实例被Sideshow设备缓存到内存中。当Sideshow设备未连接PC,掉电重启后,所有原先添加的Gadget信息将全部丢失。本功能的目的就是,Sideshow设备在上述情况下重启,可以自动恢复原先的Gadget应用。 阅读全文
posted @ 2009-03-13 12:45 刘洪峰IoT 阅读(1538) 评论(0) 推荐(0) 编辑
摘要: 上次在SideShow Gadget开发[1]中介绍了本地Gadget的开发,现在介绍一下常规Gadget的开发。 阅读全文
posted @ 2009-03-13 11:29 刘洪峰IoT 阅读(1818) 评论(1) 推荐(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 刘洪峰IoT 阅读(1882) 评论(4) 推荐(0) 编辑
摘要: WireProtocol协议是上位机MFDeploy或VS2008程序在诊断、部署、调试.Net Micro Framework设备及相关应用程序时的通信协议。该协议与具体的硬件链路无关,目前支持的物理连接有串口、网口、USB等。 该协议为点对点协议,协议中没有设备地址的概念,在同一时间同一物理通道仅能调试一台设备。协议格式分两部分,帧头和负荷(Payload)(一帧命令可以不包含Payload)。了解该协议和获知通信时的数据,可以非常有效的解决上位机和下位机.Net Micro Framework设备通信问题。 阅读全文
posted @ 2009-02-15 12:15 刘洪峰IoT 阅读(1592) 评论(3) 推荐(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 刘洪峰IoT 阅读(2118) 评论(2) 推荐(0) 编辑
  2009年1月22日
摘要: SideShow的Gadget分为两类,一类是本地Gadget,一类是常规Gadget。所谓的本地Gadget就是编译SideShow工程时,直接集成到该工程的组件。如下图所示,这些组件不像常规Gadget,它无需连接PC,就天生俱有。 阅读全文
posted @ 2009-01-22 13:14 刘洪峰IoT 阅读(1814) 评论(1) 推荐(0) 编辑