马宁的嵌入式开发研究

Windows Mobile, Windows Embedded
posts - 41, comments - 215, trackbacks - 11, articles - 0

置顶随笔

在国际儿童节,接到了Windows Embedded Standard产品组施老师的邮件。当然,她不是祝我节日快乐(失败啊,今年连5.4都是最后一年了,还敢到6.1添乱?),而是告诉我Windows Embedded StandardCTP(社区预览版)发布了。

Windows Embedded Standard,原名Windows XP Embedded,籍贯:华盛顿州雷德蒙市……需要说明的是,这次Windows Embedded Standard只是CTP版本的发布,大家先拿来玩玩就好了,正式RTM可能还有一段时间,尝尝鲜就好。这次Windows Embedded Standard中包括了SilverlightIE 7Windows Media Player 11Remote Desktop Protocol 6.1.NET Framework 3.0Wi-Fi Protected Access 2等组件。实在是软件开发、居家旅行、杀人越货之必备良药……

只需要在下列地址中,使用Live ID做一个简单的注册,下载项目中选择Windows Embedded StandardISO文件即可。下载地址:

https://connect.microsoft.com/windowsembedded

另外,在美国时间的63日,还有一个Windows Embedded Standard的在线发布会,大家有兴趣也可以去听一下:

Windows Embedded Standard Launch Event

Windows Embedded产品组的BLOG是:

http://blogs.msdn.com/embedded/default.aspx

 

稍后有更多关于Windows Embedded Standard的最新消息,我将为您做后续报道。

posted @ 2008-06-02 10:44 马宁 阅读(198) | 评论 (0)编辑

2008年7月4日

 

开始创建Silverlight的组件

Silverlight在嵌入式领域发挥的作用绝对不仅仅只有增加Web的用户体验而已。很多嵌入式设备需要丰富多彩的用户交互界面,比如ATM、自动售货机、自助查询终端、老虎机(喔)……Windows Embedded Standard的主要应用领域恰好在这几个方面,所以Silverlight对于来说Windows Embedded Standard来说是如虎添翼。可能有朋友也会说,我们使用其他技术也可以实现与Silverlight类似的界面,这个肯定是没错。但是考虑到与后台数据库或Web Service的交互、部署成本、维护成本等问题,我相信Silverlight肯定会成为开发者今后开发中的首选。

好了,先不说那么多,我们下一步要做的是将Silverlight变成WES的主界面,WES启动之后直接进入到Silverlight的应用之中。我们知道SilverlightHostIE等浏览器中运行的,在WES中也是这样,而Silverlight的部署有两种方式:第一种是将Silverlight文件部署到WESImage中,随Image一起发布;另一种是让浏览器启动后访问Internet上的某个Silverlight站点。这两种方法有各自的应用场景,我们在这里不做过多分析。在这里,我们挑选比较难得一种:将Silverlight文件与WESImage一起发布。

第一步,我们要创建一个组件:这个组件应该是一个Shell组件,在系统启动后不进入我们传统意义上的“桌面”,而是直接启动这个组件中指定的应用程序。而且组件中还应该包括一些Silverlight相关的文件、一些注册表项,还有一些高级设置。稍后我们会看得到。

我们还是先打开我们创建组件的工具:Component DesignerWindows Embedded Standard没有一个完整的IDE环境,所以做什么事情的时候要分别打开不同的工具。

Component Designer的界面如下,我们要先选择File-New创建一个新的组件,然后保存这个组件,并为sld文件设置一个文件名称。

接下来,我们要创建一个Repositories,这个相当于给组件住的房子。组件是保存在数据库中的,而Repositories在数据库中可以起到隔离组件的作用,而且也比较方便我们维护和升级组件。

我们右键点击上图中Repositories节点,选择“Add Repository”来创建一个新的Repositories。首先为Repositories起个名字,写在右侧属性窗口的Name中,然后还要点击Source Path后边的Browse按钮。Source Path顾名思义,我们要为该Repositories的源文件找一个保存的位置,而我们一般也会把组件所需的文件都放到这个文件夹下。这个文件夹一般没有规定,但是最好放到C盘下,自己创建个文件夹就可以了。

接下来,我们就该添加组件了,在上图的Components节点上右键单击,在右键菜单上选择“Add Component”。

创建组件之后,第一件事是在右侧的属性窗口中修改名字。

因为我们创建的这个组件是一个Shell组件,所以我们还要规定它在组件库中的原型组件,点击Prototype后边的Browse按钮。

我们会看到下图的对话框,初始化可能会花费一些时间。选择Software | System | User Interface | Shells下的Shell Prototype Component组件,作为我们组件的原型组件。

接下来还需要点击Advanced按钮,定义启动时的自定义动作:

在上面的对话框中,点击Add按钮添加一个叫做“cmiShellPath”的扩展属性,类型为String,具体指为:

%16426%\Internet Explorer\iexplore.exe -k "C:\SilverlightApplication2\Default.html"

怎么样看着眼熟吧,没错就是启动一个IE浏览器的实例,-k表示全屏显示,而后边的文件路径不是一成不变的,要根据你将这个HTML文件放到哪里而决定。如果是在线的网站其实更简单一些,直接写网址就好了。

然后为组件指定Repositories,点击“Repositories…”按钮,会弹出下面的对话框。好了,直接选择咱们前边创建的,就可以了。

然后到了非常重要的一步,添加文件。这个问题也曾经困扰了我很久,我们明天再说。

    更多关于Windows Embedded开发文件,请参考:http://we.cnblogs.com/

posted @ 2008-07-04 11:23 马宁 阅读(764) | 评论 (0)编辑

2008年7月3日

 

支持SilverlightWindows Embedded Standard

好了,完成安装之后,我们就可以来做Windows Embedded Standard的第一个操作系统镜像了。在开始菜单中找到“Microsoft Windows Embedded Studio”,启动其中的Target Designer。然后再Target DesignerFile菜单中选择New,创建一个新的Configuration

输入名称后,点击OK,进入Target Designer的主界面。为了简单起见,我们选择Virtual PC作为我们的目标设备,这样就可以省去获取硬件设备信息的步骤。

首先,我们要在左侧的组件列表中找到我们要添加的组件。第一个自然是Silverlight组件了。Windows Embedded Standard中包括的是Silverlight 1.0,目前Silverlight 2.0还是beta阶段,也许等WES正式推出时就是Silverlight 2.0了,即使不是,也肯定会有QFE的。

由于不确定Silverlight被放到哪里了,所以只好Search了一把。结果是,在Software-System-System Services-Application Support中包括了Silverlight组件。除了Silverlight之外,我们还需要添加几个组件:

首先,是Design Templates下的Information Application;然后是,Software节点下的Test & Development下的Runtime Quick Start Helper MacroVirtual PC 2007 Helper Macro两个组件。

添加了这些组件之后,我们就可以进行依赖检查了,按F5,或者在Configuration菜单下的Check Dependencies项,就可以执行了。如下图:

依赖检查之后,如果没有错误,我们可以直接进行编译,选择Configuration下的Build Target Image或者按F7,构建过程如下图:

在编译完成之后,我们就可以在C\Windows Embedded Images下找到已经编译好的文件。我们将其拷贝到准备好的虚拟硬盘中就可以了。如何构建VPC的开发环境,请参考我的Webcast XP Embedded开发初体验》中的介绍。

在第一次启动时,系统会启动FBA(First boot agent)来完成一些设置,我们需要耐心等待一些时间:

接下来,我们关闭WES开发环境的VPC,记得一定要选择Shut down

然后运行XPETragetVPC,我们编译出来的Windows Embedded Standard Image其实和XP Professional非常类似,只是少了比较多的组件。不过我们仍然能够通过开始菜单来打开IE浏览器,然后再里边输入URL: http://www.silverlight.net/ 。对Silverlight比较熟悉的朋友一定会知道这个网站。而访问这个网站时,并没有提示我们需要安装Silverlight,这表明Silverlight已经被加到了Windows Embedded StandardImage之中了。

posted @ 2008-07-03 12:13 马宁 阅读(757) | 评论 (1)编辑

2008年6月25日

 

Windows Embedded Standard,微软又创造了一个新名词。与此同时,XP Embedded,成为了一个历史名词。微软在年初推出了新的Windows Embedded产品线命名规则:Windows CE改名为Windows Embedded Compact,而XP Embedded改名为Windows Embedded StandardWEPOS改名为Windows Embedded POSReady,还有新推出的针对导航产品的Windows Embedded NavReady

好了,无论Windows Embedded Standard叫什么,我们只要记得,它就是一个组件化的XP Professional SP2就好了。为了适应嵌入式产品的定制化需求,微软将XP Professional拆成了两万多个组件,允许用户根据自己的需求进行二次开发,定制尺寸更小的操作系统。而且可以完成一些特殊的要求,比如换一个桌面程序,启动时执行自定义操作,还可以更换启动的XP界面等。还有一些EWF之类的高级功能。

但是被乱刀切块的XP Embedded也是XP,所以Windows Embedded Standard也只能运行在x86架构的CPU上,而不能支持其他的CPU,比如ARM

当然Windows Embedded Standard比起之前版本的XP Embedded还是有很多进步的,最大的一个特点就是将Silverlight引入到了WES中,后边我们还会详细说到。

说到这里,相信大家会对Windows Embedded Standard有一个感性的理解。接下来,我们就要通过实践,让大家看到Windows Embedded Standard开发的流程。

安装Windows Embedded Standard

目前Windows Embedded Standard还没有正式发布,现在的CTP(社区预览版)相当于征求意见稿,可以免费从微软网站上下载的到。只需要在下列地址中,使用Live ID做一个简单的注册,下载项目中选择Windows Embedded StandardISO文件即可。下载地址:

https://connect.microsoft.com/windowsembedded

下载过程会安装微软的File Transfer Manager,文件有4G左右,下载过程会根据网速有所不同,请大家耐心等待。

下载完成后,我们可以刻盘或者使用Daemon虚拟ISO文件,然后自动运行。运行会为我们启动一个Windows Embedded Standard的安装向导。

首先在Prepare中需要首先安装SQL Server 2005 Express版本,可以从Web或者DVD安装。我选择从Web安装,30M,不算太大。SQL Server Express主要是为了存储WES的组件数据库。

接下来直接进入WES的安装向导:

省略欢迎界面和License界面,反正所有软件都有这两个界面。下面是选择快速安装还是高级安装的界面。我选择了“Advanced:

在高级安装模式中,果然有我们需要的东西。在“Windows Embedded Standard-Database”中选择“Chinese(PRC) Language Pack”和“Chinese(Taiwan) Language Pack”,简体中文和繁体中文不是默认安装,所以我们要选:

下面这一步非常重要:我在这里被困扰了两个小时……。安装过程需要输入SQL Server Express的名称。我在这里犯了错误(之前一直在用SQL Server),我们要填写计算机名+实例名称,而SQL Server Express安装时,我没有填写实例名称,然后就想当然的认为没有实例名称。不过经过试验,我知道SQL Server Express的数据库名是:计算机名+SQLEXPRESS

然后点击旁边的Test按钮,如果数据库连接成功,则显示下图的对话框。需要说明的是,如果数据库连接不成功,也可以完成安装过程,不过在打开Target Designer时,会告诉你数据库初始化失败。(知道我为什么被困扰两个小时了吧?)

如果显示下面的界面则说明数据库连接没有问题,放心安装就好了。

后边的安装过程没有需要介绍的了,安装完成即可。

posted @ 2008-06-25 15:16 马宁 阅读(1210) | 评论 (11)编辑

2008年6月24日

 

上篇文章:

http://www.cnblogs.com/aawolf/archive/2008/06/23/1228203.html

 


下载
Image


下载
Image的过程与Digi开发板类似,在Image编译成功后,我们打开Platform BuilderTarget菜单,选择Connectivity Options

 

我们可以使用CE Device作为下载的Target Device,为了之后的部署方便,我们还是创建一个革新的Device,作为下载目标设备。在Target Device Connectivity Options对话框中,我们选择Add Device,在New target device name中填写“Gexin2410D”:

然后选择Kernel Service MapDownloadTransport都选择以太网:“Ethernet”。点击Download后的Settings按钮。

点击Settings按钮后,Ethernet Download Settings对话框会弹出。等待Eboot发送BOOTME的消息后,我们会在Active target devices中看到新的开发板名称出现。如果Eboot已经开始发送BOOTME的消息,而这边接收不到时,我们应该首先查看PC机和开发板的IP地址设置,看是否处于同一个网段内,子网掩码是否正确。

在设置完成后,我们点击OK返回Target Device Connectivity Options对话框。点击Apply,然后Close该对话框,大家记得一定要Apply,我第一次因为忘记了所以造成Download不成功。

返回到IDE环境后,选择Target菜单中的Attach Device项,启动下载Image的操作。

如果网络连接正常,我们会看到Download下载对话框的出现。下载的速度与Eboot和网卡驱动相关。因为我们编译的是Debug版本,Windows CE 6.0Debug版大概在50M左右,所以下载需要4分钟左右的时间。

下载完成后,等待一段时间,如果正常运行,我们会看到LCD屏显示我们OS Design的界面:

我们能在OS Design的桌面上看到Windows Embedded CE 6.0 R2的版本号。这样的话,我们的Windows CE 6.0 R2平台在革新2410D的开发板上了。(完)

 

预告:稍后我们还将有如何在CE 6.0 R2上开发.NET CF 3.5程序的文章,不过前提条件是我把程序调通……如果想看的兄弟,就替我祈祷一下吧,我RP值一直不高……

posted @ 2008-06-24 11:09 马宁 阅读(1135) | 评论 (4)编辑

2008年6月23日

 

设置Boot-loader

上篇文章:

http://www.cnblogs.com/aawolf/archive/2008/06/05/1214281.html

 

编译成功后,我们就要将NK.bin文件下载到开发板上了。下载镜像文件需要boot-loaderEBoot的支持,与Digi开发板相同,革新开发板也将boot-loaderEboot烧写到了NAND Flash中,我们只需要通过超级终端来完成boot-loader的设置和Eboot的启动即可。

首先,需要将我们的开发板和PC机通过串口线连接起来,确定你连接的是哪个串口。然后打开超级终端(Vista