Loading
新闻中心库存中心价格中心PDF中心图片中心
ICGLE 电子技术支持中心,为电气人员和相关企业提供全面的信息(IC技术\IC库存\IC图片\PDF资料等)服务
总线设计PCB设计单片机DSPARM
JAVA驱动设计C/C++汇编J2EE网络协议中间件技术嵌入式系统无线通信通信网络模拟技术接口电路显示光电传感与控制EDA/PLD
气流体控制电子产品电机及工具通信设备仪器仪表电线电缆建筑电气低压电器高压电器电源工控自动化广电设备医疗器械More..
电源设计仪器仪表技术专递电路图片电子专栏储存技术汽车电子测量测试音响技术家用电器
成功方案市场分析行业标准应用前沿芯片应用综合专区
让Windows CE 6.0 R2支持.NET CF 3.5
来源:嵌入式在线博客   作者:马宁
字体大小:[大][中][小]

  .NET Compact Framework已经升级到3.5的版本了,.NET CF 3.5支持LINQ和WCF等新的特性。对于Windows Mobile的开发人员来说,只需要安装一个更新的CAB包就可以了。可是Windows CE的开发者如果想将.NET CF 3.5加入到OS Design,还是需要花一点功夫的。我们会使用革新2410D开发板作为我们的平台,关于该开发板的介绍和开发过程,大家可以参考我之前的文章——《革新2410D开发板试用手记》,链接如下:
  http://www.cnblogs.com/aawolf/archive/2008/05/29/1209854.html
 来自Mike Hall的QFE
  这篇文章的起因是Mike Hall在自己BLOG上发表的一篇文章:
http://blogs.msdn.com/mikehall/archive/2008/03/17/net-compact-framework-3-5-component-for-windows-embedded-ce-6-0-catalog-component.aspx


  这篇文章介绍了微软在2008年一月份推出的一个QFE的包,其中包括了.NET Compact Framework 3.5的组件。所谓QFE,就是Quick Fix Engineering,用于快速修复一些BUG或者增加一些新的功能,修改比SP要小,所以可以每月推出。
  好了,既然有老大级的人物给我们指明了方向,小弟们跟着干就是了,首先在微软网站上下载这个QFE包:
http://www.microsoft.com/downloads/details.aspx?FamilyID=a83124d5-7c8e-4abe-87fd-69654561be40&displaylang=en


  然后确认你的开发计算机上已经装了下面的东西:
1. Visual Studio 2005
2. Visual Studio 2005 SP1
3. Visual Studio 2005 SP1 Update for Vista (if applicable)
4. Windows Embedded CE 6.0 Platform Builder
5. Windows Embedded CE 6.0 SP1 (required if PB 6.0 Tools have been installed)
6. Windows Embedded CE 6.0 R2


  别紧张,基本上来说,只要你用的是Windows CE 6.0 R2,那么这些东西就都有了。


             

  接下来,我们确认将Visual Studio 2005关闭,然后运行QFE的安装程序就可以了。如果是在Vista下安装的话,可能会遇到安装文件出错的问题,这是由权限问题造成的。我们可以参考下面的文章解决:
http://support.microsoft.com/kb/950793/en-us
不过我在Vista下安装时没有碰到这个问题。
  创建.NET Compact Framework 3.5的应用程序


  好了,安装完成后,我们是不是需要打开Visual Studio 2005开始我们的平台定制历程了?不,首先还是让我们先换一台机器。


  换机器干嘛?因为我们遇到了一个逻辑问题——.NET CF 3.5的应用程序在哪里?.NET CF 3.5的应用程序是由Visual Studio 2008开发的,而我们的Platform Builder 6.0是运行在Visual Studio 2005之上的。您可以将VS 2005和VS 2008装在同一台机器上,但是我没有那么做,而是换了台装有VS 2008的机器,来进行下面的应用程序开发。


  需要说明的是,按照常规,我们应该先用Platform Builder 6.0构建一个CE 6.0的平台,然后导出SDK,然后再装有VS 2008的机器上安装,安装完成后再使用VS 2008开发一个针对该CE 6.0平台的应用程序。如果真这么干,拐弯就拐到爪哇国去了。


  幸好Visual Studio 2008为我们提供了另一种方式,还是来看一下:

     

  打开Visual Studio 2008后,还是首先选择File – New – Project菜单项。在New Project对话框中选择Visual C#中的Smart Device,然后选择创建Smart Device Project,名字随便定。


  接下来的对话框对于经常看我文章的朋友也会很熟悉:


    
  只是这一次我们选择的Target platform不是Pocket PC或者Smartphone,而是Windows CE,还要记得一定要选择.NET CF 3.5。


  好了,接下来就进入了IDE的窗口设计器,看起来和普通的WinForm程序没有太多区别。我们添加了三个按钮和一个ListBox,还有两个菜单项。

            


  在第一个Button“Message”里添加下面的事件处理函数:
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello,.NET CF 3.5");
}
我承认我没追求,所有程序不都是从Hello World开始的吗?为了要突出一下.NET Compact Framework 3.5的新特性,我们还要添加对于LINQ的支持:
private void button2_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();

var numbers = new List<int>() { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

var evenNumbers =
from p in numbers
where (p % 2) == 0
select p;

foreach (var number in evenNumbers)
listBox1.Items.Add(string.Format("{0} ", number));
}
关于LINQ我就不多作解释了,记得添加System.Linq的引用,还有:
using System.Linq;
在添加完Linq后,我们还有一个更直接的办法,就是版本号:
private void button3_Click(object sender, EventArgs e)
{
MessageBox.Show(Environment.Version.ToString());
}
System.Environment中的Version属性可以很直接的告诉我们当前运行的.NET CLR的版本号。具体细节看MSDN帮助吧。


  好了,程序编写好了,接下来就要运行它了。但是我们的Visual Studio 2008里并没有Windows CE的模拟器。没办法,只好选择Windows Mobile 6 Professional的模拟器来跑了。


           

  事实证明,在应用程序开发方面,Windows CE和Windows Mobile的差距的确不大。程序不但跑起来了,而且菜单还按照Windows Mobile的方式显示到了窗体下方。

              


  上面就是点击Version按钮后的运行结果,可以看到我们的.NET CLR是3.5的。
  创建支持.NET CF 3.5的OS Design
  OK,终于可以回到我们的Platform Builder里创建包含.NET CF 3.5的OS Design了。我们可以创建一个新的OS Design,或者利用已有的OS Design。
  具体方法请参考:
革新2410D开发板试用手记(三)
http://www.cnblogs.com/aawolf/archive/2008/06/03/1212696.html
Windows Embedded CE 6.0开发初体验(五)构建CE平台
http://www.cnblogs.com/aawolf/archive/2008/01/15/1040306.html

  当我们打开OS Design的Catalog Item View页面。在Core OS - CEBASE – Application and Services Development下,我们可以看到.NET Compact Framework 2.0和.NET Compact Framework 3.5两个选项。选择.NET CF 3.5的选项和简体中文资源,以及OS Dependencies for .NET Compact Framework 3.5的选项。
   



  当然,我们也可以在OS Design的创建向导里选择.NET CF 3.5的组件。
  为了验证我们的.NET CF 3.5 CLR可以良好运行,我们还需要添加一个.NET CF 3.5的应用程序。怎么添加呢?


  第一步,呃,从另外一台机器上把应用程序拷过来……
  第二步,在Solution Explorer里选择OS Design下的Parameter Files下的Project.bib文件。在《Windows Embedded CE 6.0开发初体验(六)平台定制》中我们详细讨论过bib文件,请参考:
http://www.cnblogs.com/aawolf/archive/2008/02/03/1063444.html
  第三步,将.NET CF 3.5的应用程序加入到OS Design中:

  

  就一句话,简单吧?然后就是OS Design的编译、下载、运行和调试了。需要说明一点的是,可能由于Debug版的NK.bin太大,我一直没有成功运行起来。不过Release版的一切正常。
         



  关于编译和下载的话题,可以参考下面的文章:
革新2410D开发板试用手记(六)
http://www.cnblogs.com/aawolf/archive/2008/06/24/1228752.html
Windows Embedded CE 6.0开发初体验(七) 编译和调试平台
http://we.cnblogs.com/article.aspx?id=20

  好了,最后来看一下运行结果:我们点击了Version按钮,显示当前的.NET CF CLR确实是.NET CF 3.5版本。

    


  最后让大家看看开发板的裸照吧(开发板本来就……)



Upload by 小刘(2008-8-12)
IC
·基于PIC16F639的可低频唤醒的..
·灵活的MCU架构实现产品的轻松升级
·基于TMS320VC54X的USB2..
·嵌入式微型投影显示技术前景广阔
·UCOS II多任务切换例程
·嵌入式分布模块控制系统与网络的互连研..
·华恒HHS3C6400-Integr..
·Windows Embedded C..
·评论:在Web开发领域编程语言PHP..
·基于Intel CE 2110媒体处..
·嵌入式4G技术将迎来大发展
·电子垃圾处理中存在隐患
·市场报:让电子垃圾走向绿色
·Atmel推出最新触摸控制器
·摇摆在串行/并行模式间的I/O接口
·扩展x86并行编程技术AMD再次挑战..
·IBM呼吁Linux开发者勿模仿Wi..
·2008中国热水器产业国标年
·动画制作成为法国发展最快的行业
·富士通:责任感让绿色IT触手可及
·利用CAN收发器提高CAN网络的安全..
·高性能T比特路由器高可用性的研究与实..
·从以太网供电中获取更多的电力
·串行ATA总线应用技术
·基于USB2.0与FPGA技术的高速..
·基于嵌入式Linux的便携式RFID..
·滑动相关法伪码捕获的FPGA实现
·基于嵌入式Linux的智能手机系统设..
·电源应用中场效应晶体管的崩溃效应
·基于AD7888的高稳定度激光器多路..
·一种高速低压低静态功耗欠压锁定电路
·MAX2140内部ESD二极管的保护..
·电流测量的原理和产品
·利用PCI1510实现PCI板卡的热..
·基于VC的USB接口通信程序设计
·基于I2C总线技术的USB接口设计
·LCD控制器驱动的24位TFT真彩屏..
·GPS99808模块在汽车防盗系统中..
·热插拔可靠性的新标准
·基于LT1641的双路热插拔电路设计
IC
推荐技术文章:
·四通道I2C多路复用器提供了地址扩展....
·基于PCI总线和DSP芯片的图像处理....
·Linux 2.6 内核中的最新电源....
·高功率以太网供电不再困难..
·采用UCC28051的100W通用线....
·电压不足期间支持电信电源的小电容..
·负载管理与负载开关的设计与实现..
·交叉耦合门防止推挽驱动器交叠..
·台式电源测试的革命..
·锂电池组的主动电荷平衡..
·绿色动力新潮流——燃料电池..
·输出电容器的等效串联电阻对滞环控制功....
·动态电源路径管理简化了太阳能板对电池....
·今天的绿色 POL DC/DC 转换....
·使用LXI加强汽车电子测试..
·针对无线宽带相位噪声的测试方案..
·在低成本测试夹具上实现对表面贴装射频....
·基于CC1100的无线手持终端的设计..
·核磁共振系统中微波射频开关的设计与应....
·基于无线传感器网络的电机运行状态监测....
·Zigbee无线传感器网络平台的设计..
·利用红外技术解决音频无线传输难题
·温度传感器TMP275在家庭环境监控..
·CF+插槽宿主的供电及热插拔控制设计
·一种新型的高压变频分布式控制系统
·固定翼飞机竖直飞行控制系统的设计
·霍尔效应技术提供紧凑型电流测量传感器
·语音控制的智能小车设计
·高精度超声波测距系统的设计与实现
·基于PLC的玩具整体燃烧自动测试仪的..
·用于各类摄像应用的高速CMOS图像传..
·设计下一代自动化测试系统
·基本电能质量测量方法和常见问题原因
·基于FPGA的通用开关电源控制器硬件..
·FPGA器件的设计实现、设计优化与模..
·ARM的位置无关程序设计在Bootl..
·基于OV6630图像传感器和DSP的..
·基于DSP和CPLD的软开关电源数字..
·解决DSP设计面临的终极挑战
·基于P89C52RD2和FPGA的可..
IC
IC

©2007 版权归ICGLE所有   页面执行时间:62.500毫秒