总的来说,WinCE的开发是分为:

一、硬件开发:硬件设计,Boot Loader开发,OAL开发,BSP开发
二、操作系统开发:定制驱动,创建最小内核,定制操作系统组件,测试集成
三、应用程序开发:开发特定的应用程序和中间件

通常基于WinCE的开发必须完成的任务:

1.创建基于特定目标设备的BSP
2.创建基于标准的BSP或定制BSP的操作系统设计,用来创建操作系统运行映像,并将映像下载到目标设备硬件平台上
3.为目标BSP创建或定制设备驱动
4.为定制操作系统设计添加或定制子工程或操作系统组件
5.创建操作系统运行时映像,并将映像下载到标准开发板,然后应用Windows CE提供的调试工具调试操作系统运行时的映像
6.当操作系统运行后映像创建完成时,为应用程序开发者导出SDK

再上张图,然后做名词解释

首先,BSP(板级支持包,Board Support Packet)是一个支持特定标准开发板(SDB,Standed Development Board)硬件的WinCE软件集成包,主要包括Boot Loader程序,OAL程序和板载硬件驱动程序

一个目标板的BSP开发主要有以下几个大的流程:
1.建立BootLoader,用来下载映像,启动系统。
2.编写OAL程序,用来引导系统核心映像和初始化、管理硬件。
3.为新的硬件编写硬件驱动。
4.设置平台配置文件,便于Platform Builder编译系统。

其中,Boot Loader 就是在操作系统内核运行之前运行的一段小程序,大家应该都很熟悉,或许以后还会再详细说一下,不明白的同学就去百度知道一下吧,而OAL(OEM 适配层,OEM Adaptation Layer),它是BSP驱动的一部分,作用是让WinCE在OEM的硬件上运行起来,下图说明了内核和硬件的各个部分如何通过OAL组织起来的:

可以说,WinCE的硬件开发主要就是BSP开发,而此开发通常是由嵌入式主板厂商完成,通常是一个移植和局部修改的过程,而操作系统的定制开发,通常是一个选择组件和对组件进行配置的过程,一般用PB(Platform Builder)完成,在VS2005里也是类似的;而这里面有关驱动的,也暂时跳过,以后再,说至于应用程序的开发,分为本地应用程序和托管应用程序,而在其中,有个定制导出SDK(软件开发工具包,Software Development Kit)的过程。

WinCE的开发流程的更多相关文章

  1. Linux下服务器端开发流程及相关工具介绍(C++)

    去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...

  2. 小谈Scrum敏捷开发流程

    一晃眼,有两年没有写博客了,回顾前两年,各种奔波,各种忙碌,也有不少的收获.从今天开始,我要把这些收获都分享在这里. 其实这两年,对我影响最大的是开发流程.总所周知,一个好的开发流程,对于项目的进行, ...

  3. 我理解的Sitecore开发流程

    Sitecore是一个强大的支持快速开发CMS建站的平台,进入sitecore后台可以看到 它主要有3个元素: 1.Templates模板 Data template:类似于面向对象编程中的类或结构体 ...

  4. C++的性能C#的产能?! - .Net Native 系列《二》:.NET Native开发流程详解

    之前一文<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥> 获得很多朋友支持和鼓励,也更让我坚定做这项技术的推广者,希望能让更多的朋友了解这项技术,于是先从官方 ...

  5. git开发流程、常用命令及工具、TortoiseGit使用及常见问题

    根据我最近使用git的一些经历,git是基于分支的版本控制工具,分支有远程分支和本地分支. 一.开发流程 - 从远程服务器的master,clone一份项目文件到本地,然后本地master的基础上br ...

  6. 软件开发流程 Software development process

    软件开发流程(Software development process)即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法.软件的总体结构设计和模块设计.编程和调试.程序联调和测试以 ...

  7. Web开发流程

    知乎上关于Web开发流程豪情给予的回答 web前端开发流程是什么?进行操作会用到哪些便捷的小工具?是先用模板做好,然后在基础上改吗??正常大家说的改框架是不是指的用模板做的网站原文件?前端开发做的文件 ...

  8. 基于Lattice_CPLD/FPGA Diamond 开发流程

         本文主要介绍了Lattice CPLD/FPGA集成开发环境的使用方法,并通过点亮开发板(Mach XO2 Breakout Board)上位号为D2的LED这一实例来演示其开发流程. 1. ...

  9. iOS开发流程总结

    本文由社区会员umyueyue分享 以下是会员umyueue总结的iOS开发流程以及学习中的资料分享. 流程:注册.开发.真机测试.发布以及上线. iPhone iOS 4从注册到app上线开发流程 ...

随机推荐

  1. BZOJ1191: [HNOI2006]超级英雄Hero

    这题标解是改一下匈牙利算法,显然,像我这种从不用匈牙利的人,会找个办法用网络流… 具体做法是这样,二分最后的答案ans,然后对前ans个问题建图跑网络流,看最大流能不能到ans. /********* ...

  2. Linux Rsync

    一.Rsync介绍 1.什么是Rsync Rsync 即Remote Rynchronization,是一款开源的.快速的.多功能的.可实现全量或增量的本地或者远程数据镜像同步复制.备份的优秀工具. ...

  3. POJ 2480 Longge's problem (积性函数,欧拉函数)

    题意:求∑gcd(i,n),1<=i<=n思路:f(n)=∑gcd(i,n),1<=i<=n可以知道,其实f(n)=sum(p*φ(n/p)),其中p是n的因子.为什么呢?原因 ...

  4. python 安装 管理包 pip

    2.7的坑里出不来了,现在已经换到3.4了,不存在下列问题. win7下安装pip    http://blog.chinaunix.net/uid-24984661-id-4202194.html ...

  5. sparksql链接mysql

    1.在IDEA上建立一个sparksql_mysql的scala对象. 2.连接mysql的代码如下 import java.sql.{DriverManager, PreparedStatement ...

  6. NGINX轻松管理10万长连接 --- 基于2GB内存的CentOS 6.5 x86-64

    http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=190176&id=4234854 一 前言   当管理大量连接时,特别 ...

  7. linq lambda 分组后排序

    1.lamdba分组排序foodBusinessDistrict.                        GroupBy(x => new                        ...

  8. 540A: Combination Lock

    题目链接:http://codeforces.com/problemset/problem/540/A 题意: 输入的两个长度一样的数,求对应位置的某位数到下一个数需要最小的步长,每次只能先前或先后走 ...

  9. hdu 4559 涂色游戏(对SG函数的深入理解,推导打SG表)

    提议分析: 1 <= N <= 4747 很明显应该不会有规律的,打表发现真没有 按题意应该分成两种情况考虑,然后求其异或(SG函数性质) (1)找出单独的一个(一列中只有一个) (2)找 ...

  10. [转]linux CentOS 安装 Nginx

    网上找的教程,一路走下来的,原文如下: 一.安装nginx     1.在nginx官方网站下载一个包,下载地址是:http://nginx.org/en/download.html     2.Wi ...