WINCE学习经验总结二(希望给初学者一些建议,尽快入门)

 

7、           WINCE系统的定制

在学习这一章之前,我们需要做些准备工作,第一,检查我们的环境是否搭建完成,WINCE6.0是否正确的安装到开发所用到的电脑上。第二,对一些涉及到的知识点再做一次回顾。

1、  VS2005是否搭建完整。Visual Studio 2005 专业版将包括一个被称为Platform Builder 的功能强大的插件,它是一个专门为嵌入式平台提供的“ 集成开发环境” 。这个集成开发环境使得整个开发链融为一体, 并提供了一个从设备到应用都易于使用的工具, 极大地加速了设备开发的上市。

2、  安装好WINCE6.0,2006 年11 月,微软公司其最新的嵌入式平台Windows Embedded CE 6.0 正式上市。作为业内领先的软件工具,Windows Embedded CE 6.0 将为多种设备构建实时操作系统。

3、安装BSP源码包,BSP 板级支持包(board support package),是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件主板。在嵌入式系统软件的组成中,就有BSP。BSP 是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks 的BSP 和Linux的BSP 相对于某一CPU 来说尽管实现的功能一样,可是写法和接口定义是完全不同的,所以写BSP 一定要按照该系统BSP 的定义形式来写(BSP 的编程过程大多数是在某一个成型的BSP 模板上进行修改)。这样才能与上层OS 保持正确的接口,良好的支持上层OS。

 

那么,我们现在开始讲解这一章的主要内容。

WINCE并不是一个通用的安装版操作系统,行行色色的嵌入式硬件设备的世界里,一款WINCE系统通常只会针对某一种硬件平台生成。所以,作为原始的设备生产商,必须根据自己的硬件平台和应用场合定制WINCE,其中最主要的工作之一就是编写适合于自己的板级支持包(BSP)。在BSP中,包含了一个非常重要的组成部分,就是bootloader,前面我们已经降到了bootloader,这里,我们对它的功能再做一次探讨,因为创建一个完善bootloader是开发WINCE系统极为关键的一步。

Bootloader是一段单独的程序代码,它存放于目标平台的非易失存储介质中,如ROM或Flash。在开发Windows CE的过程中,主要用于启动硬件和下载映像文件nk.bin到目标板上,并有一定的监控作用。

1、  bootloader的启动部分

首先要实现硬件的初始化,在开发板的bootloader目录下,会发现一些.s文件,可能会是init.s或者是reset.s等,这样的文件是CPU加电后最先执行的代码。由于此处是用汇编语言编写的,所以与CPU的关系紧密。一般参考版的CPU与开发平台的CPU会是相同或者同一个架构的。对于属于同一种CPU的情况,对寄存器的定义和初始化流程一般都可以不加以改动。接着就是对于平台配置的分析,包括平台存储空间的分配、外围设备的工作设定等。这里的区别就很大了,这部分工作需要CPU提供商方面的帮助。

这部分的工作可以说直接可以重开一门选修课了,所以不可能再做进一步的详细叙述。

2、  bootloader的主控部分

这一部分开始,可以使用C语言的方式编写了,为了增加对bootloader对平台的控制,一般bootloader都会设计成支持命令输入的方式,通过串口来接收用户的命令。这种机制中,如开发板有支持的话,那么可以自己添加有使用价值的命令,完成一些需要的功能。

3、  bootloader的下载部分

在前面的章节中我们稍微提到过这个部分。这里不再讨论。

4、  对DOC的支持

对于WinCE操作系统而言,丰富的多媒体功能是其一大特点,使其成为当前消费类电子产品操作系统中的一个不错选择。但是随之而来的问题是,系统的容易已经大大超过出了传统嵌入式系统上百KB的数量级。一般来说,如果选择了图形界面和汉语支持,容量一般会超过16MB。DOC(Disk On Chip)则提供了一种相对廉价的大存储容量的解决方案。

DOC本质上是一种加以软件控制的NAND格式的Flash,通过TFFS这一软件层提供对WinCE的支持。

由于DOC不能像内存一样被直接访问,所以其加载WinCE的过程有些特殊,必须要在BootLoader中加入专门的代码,才能使用DOC来存放WinCE映像文件。

  为了说明怎样在Loader文件中提供对DOC的支持,先看一下如何采用DOC系统启动CE,当采用DOC作为存储体的时候,实际上是在启动的时候把映像文件拷贝到内存中执行。为了实现这一启动过程,就必须涉及到DOC的读写操作。首先要从M-SYSTEM的网站上获取DOC的BOOT软件开发包。在这个开发包里,提供了一系列DOC的操作函数。将此开发包嵌入到CE的BootLoader中去。对于开发包中相关函数的说明,就不具体介绍了,可以参考开发包的说明文档。

下面,我将简单演示一下用VS2005重新创建一个自己的WINCE系统(基于飞凌OK6410)。参考资料:OK6410开发板WINCE用户手册第五章。

创建一个WINCE工程:

1、  打开VS2005选择新建项目

 

 

2、  选择项目类型及输入项目名称

3、  选择BSP包

 

4、选择设备

5、  选择mobile handheld

6、选择加入的应用程序

 

7、  选择网络后点击完成

8、选择acknowledge

 

 

下面,我们已经建好了一个系统的工程。接下来的工作就是需要添加自己需要的模块了。这一部分操作起来比较简单,但是要理解里面的内容却是一门很深的学问,微软相当于做好的模块放在你的电脑里,你可以直接选择你所需要的模块拼接起来,然后生成,就成为了一个系统,大白话就是这么简单。操作是一方面,要想做好,还需要深入的理解。以下,我们对一些操作进行一下演示。

9、选择“catalog items view”,添加需要的模块

10、选择“release”

 

11、File Systems……的配置

 

12、Graphics Media…配置

13、USB Host…配置

 

 

14、简体中文配置

15、选择OBEX

 

16、Device drivers… 配置

17、对工程进行配置

18、选择语言

 

19、取消“KITL”

 

20、编译生成工程

 

到了这一步,已经完成了一个定制一个系统的大概的过程,之后,在工程生成的文件里面,找到我们之前讲到烧写用到的文件,重新烧录到我们的开发板中,成功后,开发板运行的就是我们自己定制的系统了。

这一章其实涉及到的问题有很多,我们只是粗略的讲了,并且演示了定制系统的操作过程,要想定制自己个性,特有的,或是要对UI界面修改的等内容,还需要很长的路要走。

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值