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

 

学习嵌入式系统的经验总结及教学大纲。 (一些参考资料,请初学者自行查找)没有链接的,请大家见谅 

1、  认识什么是嵌入式操作系统

2、  Wince的介绍及了解

3、  Wince6.0的初体验及烧写演示(包括实验板的介绍)

4、  深入理解Wince

5、  Wince开发平台的搭建与配置

6、  Wince应用软件的开发

7、  Wince系统的定制

8、  Wince驱动开发介绍与实践

9、  系统的移植

 

 

推荐用书:

通用版:Windows CE实用开发技术 (第二版)

应用软件开发:Windows CE嵌入式高级编程及其实例详解

驱动开发:Windows CE工程实践完全解析

 

每一章的细化介绍及参考出处

 

1、             认识什么是嵌入式操作系统

参考课件第一章的第一、二节。

2、             Wince的初步介绍及了解

参考课件中第一章的第三节。

主要参考飞凌OK6410-A开发板WINCE用户手册第一章及视频讲解WinCE-01wince概述

我的经验是在这个阶段中不适合去深入学习WINCE系统的结构等深度的知识。只是简单的对WINCE有个认知,有个浅度的认识即可。对其历史和现在的应用和未来的展望和定位做出详细的了解。

3、             Wince的初体验及烧写演示

这一部分首先需要生产arm11芯片的厂商,及做开发板的厂商,目前有几个主流的做ARM11嵌入式开发板的厂商有哪些。这些资料主要参考(http://blog.csdn.net/qihuanfengyun/article/details/6270308,)。介绍我们使用的飞凌OK6410的开发板的特点及其资源,还有这款ARM11的特点及现代产品中的应用等。主要参考资料为OK6410的开发板硬件手册。

了解了硬件资源后,进行的是WINCE的用户体验,运行一些软件及安装一些软件来更一层的了解系统,感受系统,学会使用系统。(主要参考资料为OK6410开发板WINCE用户手册第二章)。

     用户体验后进行的就是对WINCE进行烧写了。烧写时会遇到一些知识的补充。烧写的方式共有几种方式,参考资料主要为OK6410开发板WINCE用户手册第三章及视频讲解OK6410 Wince6烧写方法。学会烧写的过程步骤,以及对烧写的这些镜像文件的认识。

烧写镜像文件的认识。

Bootloader(又为EBOOT,UBOOT等):(参考资料有Windows CE实用开发技术 第2版)。http://tech.ddvip.com/2008-10/122386574977161.html

Bootloader的概念就是一个用于引导的loader,在系统上电的时候最先被运行,然后对硬件平台做最基本的初始化,最后把操作系统加载起来。不同的嵌入式操作系统都有自己的Bootloader,但是本质功能都是一样的。

  在WinCE中用的最多的就是EBOOT,是一个基于网络的Bootloader,而且可以根据需要带有命令行菜单功能,网络调试功能以及文件系统的相关功能。在这里我只谈ARM平台的引导,因为其他架构的CPU我没用过,就不吹牛了。一般基于不同的硬件设计,会有不同的引导方式:

  NORFlash Boot:

  一般ARM处理器的片选0都会接有NORFlash,这样在ARM上电以后,会从0地址开始执行程序,也就是从NORFlash的0地址开始执行。所以把EBOOT烧到NORFlash的0地址开始的地方,这样在上电以后,EBOOT开始执行,可以在NORFlash里面执行,也可以自拷贝到SDRAM中执行。最后加载WinCE image并运行。

  NANDFlash Boot with EBOOT:

  由于NORFlash容量小,价格贵,现在很多ARM处理器支持NandFlash引导。不同厂家的处理器对Nandflash的引导略有区别,具体要看datasheet。但是本质就是先从Nandflash中读出一个小的Loader来运行,这个Loader再从Nandflash中加载EBOOT到SDRAM中运行,最后EBOOT加载WinCE image,就是NK.bin。

  NANDFlash Boot without EBOOT:

  如果在NandFlash引导的时候不需要EBOOT,也可以不用EBOOT。这样就是系统启动后从Nandflash中加载一个小的Loader,小的Loader对硬件系统作基本的初始化,然后直接加载WinCE image,一般应该是NK.nb0,然后运行。

  这里来说一下NK.bin与NK.nb0,两个不同的WinCE image。

  NK.nb0:就是一个可以直接运行的WinCE映像文件,直接拷贝到SDRAM中就可以运行。

  NK.bin:被称为Windows CE binary image data format文件格式,是一种包含了多个独立纪录(Section)的二进制文件。在加载的时候,需要分别加载,不同的Section加载到不同的地方。所以NK.bin需要Bootloader进行解释性加载。但是他的Size会比NK.nb0小。可以使用viewbin命令查询NK.bin中的纪录信息。

  viewbin –rec nk.bin 

前面已经讲过了一般系统会使用到的引导方式,下面介绍一下EBOOT。在WinCE中EBOOT一个作用可以加载WinCE image,还可以通过网络配合Platform Builder下载WinCE image进行调试。在开发一个新的BSP的时候,首先会基于一个相似的平台的BSP进行克隆,然后要做的就是要开发和调试EBOOT了,EBOOT的架构如图:

 

 

WINCE6.0学习经验总结----未完版(彬彬童鞋曾经总结过一些内容,现在借此为老师整理教学大纲的机会也进

 

 

  BLCOMMON:相当于EBOOT的一个基本框架,主要完成bootloader相关内存的分配,解析NK.bin文件并进行效验,初始化平台,通过网络下载image等功能。

  OEM Code:主要是基于硬件平台,为BLCOMMON提供相应的接口函数,帮助完成相应的功能。

  Eboot:一个小的网络协议栈,为网络下载image提供DHCP,TFTP,UDP等网络服务功能。

  Network Driver:硬件平台的网络驱动部分,支持上层的网络功能。

  Bootpart:为Flash设备提供分区功能,bootloader可以创建一个BinFS分区和一个文件系统分区。还可以用它来创建一个引导分区用来存放引导参数。

Flash Memory:硬件平台的Flash驱动。

先说下.bin和nb0(x)文件的差别:
两个都是CE的镜像,通过串口直接下载用nb0,pb下载用bin,nb0文件要大一些。

.nb0是可以直接烧到FLASH/ROM中的,是代码镜像,可以直接跳转到其入口执行。
nb0是非压缩的数据,里面的数据是实际的NK展开以后在内存里面的数

.bin是Microsoft binary image格式的文件,必须按其格式定义解开到其指定的地址空间的位置才能执行。
bin是有压缩的数据,里面的数据是压缩以后类似于成块形的数据,被loader拷贝到内存以后没有区别。

常见的Windows CE运行时映像有以bin和nb0为扩展名的两种格式。
BIN文件是默认的Windows CE运行时映像格式。它按照Section组织文件的内容,每个Section都有自己的起始地址,长度和校验和。BIN文件不能直接被执行,必须被按照一定的格式解开到内存里才能执行。

NBx(有可能是NB0,NB1……根据配置而定)文件是可以被烧进Flash ROM中的按

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值