总的来说,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. MYSQL注入天书之stacked injection

    第三部分/page-3 Stacked injection Background-8 stacked injection Stacked injections:堆叠注入.从名词的含义就可以看到应该是一 ...

  2. zend studio 快捷键收集

    Ctrl + /            单行注释 Ctrl + Shift + / 添加块注释 Ctrl + Shift + \   移除块注释 Ctrl + Shift + F 调整代码格式 Ctr ...

  3. HDU 2674 N!Again(数学思维水题)

    题目 //行开始看被吓一跳,那么大,没有头绪, //看了解题报告,发现这是一道大大大的水题,,,,,//2009 = 7 * 7 * 41//对2009分解,看它有哪些质因子,它最大的质因子是41,那 ...

  4. php接收数据

    http://lpladdyy.blog.163.com/blog/static/133999664201010264264585/ PHP默认只识别application/x-www.form-ur ...

  5. 【QT】找茬外挂制作

    找茬外挂制作 找茬游戏大家肯定都很熟悉吧,两张类似的图片,找里面的不同.在下眼神不大好,经常瞪图片半天也找不到区别.于是乎决定做个辅助工具来解放一下自己的双眼. 一.使用工具 Qt:主要是用来做界面的 ...

  6. SQl 字段中出现某一个词语的次数

    select length(f3) - length(replace(f3, 'a','')) from t1 简单的,如果,要统计 good 出现的次数,改成 select (length(f3) ...

  7. poj 2975 Nim 博弈论

    令ans=a1^a2^...^an,如果需要构造出异或值为0的数, 而且由于只能操作一堆石子,所以对于某堆石子ai,现在对于ans^ai,就是除了ai以外其他的石子 的异或值,如果ans^ai< ...

  8. UVA 10341 二分搜索

    Solve the equation:p ∗ e−x + q ∗ sin(x) + r ∗ cos(x) + s ∗ tan(x) + t ∗ x2 + u = 0where 0 ≤ x ≤ 1.In ...

  9. JS异步加载的三种方式

    js加载的缺点:加载工具方法没必要阻塞文档,过得js加载会影响页面效率,一旦网速不好,那么整个网站将等待js加载而不进行后续渲染等工作. 有些工具方法需要按需加载,用到再加载,不用不加载,. 默认正常 ...

  10. sessionID的本质

    SessionID的本质 一.客户端用cookie保存了sessionID 客户端用cookie保存了sessionID,当我们请求服务器的时候,会把这个sessionID一起发给服务器,服务器会到内 ...