总的来说,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. eclipse sdk 无法更新

    最近祖国越来越强了,强得android开发工具都没法更新了,但是祖国再怎么强也阻挡不了我开发的脚步.下面给大家分享个更新android sdk 的方法.方法原理就是利用国内镜像源. 工具/原料 电脑一 ...

  2. 《Thinking in C++》学习笔记(一)【第二章】

    第二章 对象的创建与使用 2.1语言的翻译过程 翻译器分为两类:解释器(interpreter)和编译器(compiler). 2.1.1解释器 解释器将源代码转化成一些动作(它可由许多机器指令组成) ...

  3. css系列-间隔与间距实例

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. C# 中Newtonsoft.Json的安装和使用

    官网参考:http://json.codeplex.com/ 在程序包管理控制台,键入NuGet命令  install-package Newtonsoft.Json  安装Newtonsoft.Js ...

  5. ring0 与 ring3 层之间的交互

    在进行Windows的ring0层开发时,必不可免的要与 ring3 层进行交互.进行数据间的相互传输.可用的方法有DeviceIoCntrol,ReadFile.我平常都是用的DeviceIoCon ...

  6. Tomcat SSL 设置

    1. 先用如下命令生成tomcat 证书 cls rem please set the env JAVA_HOME before run this bat file SET JAVA_HOME=C:\ ...

  7. [RM HA 1] Cloudera CDH5 RM HA功能验证

    简介: 最新的Cloudera CDH5.0.0 beta版本已经支持RM的HA, 笔者为此简单验证了RM HA的功能. 后续将继续分析其HA的原理,以及其与社区RM HA的区别. 集群部属与RM f ...

  8. Tail-chaining(末尾连锁)中断说明

    [转载]http://lxdawn.blog.163.com/blog/static/173620990201273111337204/ Tail-chaining是指一个中断退出至下一个中断进入这段 ...

  9. Java-马士兵设计模式学习笔记-观察者模式-OOD 封装Listener

    一.概述 childe类中的是关联监听者dad的,若要再增加监听者,会很不方便,且要修改代码.好的方法是封装监听者类,用addListener()方法动态添加监听者 二.代码 1.Test.java ...

  10. Struts2笔记——ONGL表达式语言

    OGNL是ObjectGraphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目. Struts 2框架使用OGNL作为默认的表达式语言. ----------- ...