今天在书店无意中看到一本书《Windows CE设备驱动及BSP开发指南》,作为一个在这方面有一点小小兴趣的人,我不小心买了下来,之所以说不小心是因为在windows embeded方面中文作者实在是没有什么建树,著述少的可怜不说,质量更是参差到惨不忍睹的地步,试图想学习windows embed的人在选择若干本教材之后,会发现一个无情的事实——它们实在教不了你什么!
在embeded方面,本身的windows系统开发才是根本,如果你有一定的经验或非常熟悉,那么基本上已经算是入门了,但是中文的教材在这方面还是很难教到你什么,你可以试着关注一些牛人的blog或者论坛,但是建议还是不买书了。
作为最新的一本书,《Windows CE设备驱动及BSP开发指南》除了书名比较吸引人,标题比较契合,还没找到其他的什么,希望阅读一段时间之后,可以有一个更好的评价,简单的罗列一下该书的前言和标题:
【作 者】周建设
【丛 书 名】 Windows CE项目开发实践丛书
【出 版 社】 中国电力出版社
【书 号】 待定
【出版日期】 预计 2009年5月
【开 本】 16开
【页 码】 预计 460页
【定 价】 预计 45元
内容简介
本书是作者从事嵌入式工作几年以来在Windows CE学习与实践过程的经验总结。系统的介绍了Windows CE设备驱动及BSP的开发流程。对Windows CE设备驱动程序的开发,调试,移植,Boot loader开发,OAL开发,BSP相关配置文件的设置等等都做了深入剖析。其实这本书就是围绕着一个BSP的实例开发为中心进行讲解的,并且还在此实例BSP基础上介绍开发家庭智能化系统的流程。本书的相关设计方法以及实例代码适合于基于Windows CE第三代内核(Windows Embedded CE 6.0是基于此内核的第一个版本)的相关版本。本书通俗易懂,深入浅出,可作为高等院校电子类、电气类、控制类、计算机类等专业本科生、研究生学习嵌入式Windows CE设备驱动及BSP开发的参考书目或自学教材,也可供广大希望转入嵌入式领域的科研和工程技术人员参考使用,还可作为嵌入式培训班的教材和教辅材料。
<<Windows CE设备驱动及BSP开发指南>> 前 言
Windows CE经过十二年的发展,现在已成为嵌入式领域的一颗巨星。Windows CE具有的组件化、可定制性、与Windows平台兼容等特性,在商业开发方面的优势早就已经表现了出来。作为世界工厂的中国已经逐渐意识到产品质量的重要性,好多从事嵌入式的厂商已经开始放弃低成本,低品质,低收益,高产量的经营策略,开始对Windows CE体系结构,服务以及技术支持产生了浓厚的兴趣,并且在他们的产品中比如智能手机,家庭自动化,信息家电,个人导航,工业控制等都开始采用Windows CE。
自从Windows CE第六个版本(Windows Embedded CE 6.0)开始,它的核心源码是100%共享的,这极大的方便了Windows CE工程师在开发过程中对疑难问题的跟踪调试,也可以参考其中的代码来开始自己的产品,但它不需要遵循GPL协议。
由于使用Windows CE开发产品具有强大的优势,因此越来越多的公司选择使用WindowsCE进行开发。但是Windows CE的设备驱动以及BSP开发对一般的用户来说还是一个难点,虽然微软提供了多种设备驱动程序以及BSP的样例,但是对许多初学者来说根本不知道如何入手学习Windows CE设备驱动及BSP开发,本书以实用简洁为宗旨给读者提供了一个纲领性的参考,希望读者能快速地掌握Windows CE设备驱动及BSP开发的相关方法,并且经过适当的训练之后就可以独立的开发出项目中需要的设备驱动或BSP。
Windows CE的内核发展
在Windows CE的十二的发展历史中,出现过三代Windows CE内核。Windows CE早期版本是专门面向PDA的,这就是Windows CE的第一代内核。到Windows CE的第三个版本(Windows CE3.0)才开始支持多种CPU架构以及在多个不同领域的应用。其实Windows CE 3.0是Windows CE第一次重写内核的版本,这就是Windows CE的第二代内核,跟以前的Windows CE 1.0,Windows CE 2.0变化很大,在任务调度,实时性方面的支持有了极大的改善。Windows CE的第四个版本,第五个版本都是在第二代内核(Windows CE 3.0内核)的基础上产生的。第五个版本(WinCE5.0)问世不久,嵌入式硬件发展相当快,使用Windows CE5.0开发出现了不少瓶颈,比如,Windows CE 5.0最多只支持32个进程,每个进程的访问空间只有32M等等,这些已经满足不了现代的嵌入式产品的要求。因此,微软对Windows CE的第六个版本(Windows Embedded CE 6.0)再次重写编写内核,在进程和线程控制等方面的架构做了重新的设计,这就是Windows CE的第三代内核,据微软对外发布的消息,Windows CE的第七个版本(Windows Embedded Conpact)仍然基于第三代内核的。
有个驱动开发经验的工程师都知道,为同一个内核的不同版本的操作系统开发设备驱动程序,其中的开发思路,结构模型都相同的,只有一些细节上存在点差别。但是,如果为不同内核的操作系统开发设备驱动,那么差别就大了,几乎是开发两套不同的驱动。当时有的操作操作系统在设计的时候就考虑到了移植的问题,在不同内核版本之间提供了兼容或类似的接口,相关的移植的问题也会变得简单,比如把Windows CE 5.0的驱动或BSP移植Windows Embedded CE 6.0不是很困难的。
为了帮助读者学习更加成熟并且实用的技术,本书采用基于Widows CE的第三代内核来编写的。
本书的编写目的:
Windows CE的设备驱动及BSP开发涉及多个领域的知识,它涵盖了微电子技术、电子信息技术、计算机软件和硬件等多项技术领域。另外,学习Windows CE最好具备相应的标准开发板(SDB)和软件(VS2005,Platform Builder ),还需要有经验的人进行指导开发。目前国内大部分高校都很难达到这种要求,这也是造成目前国内Windows CE开发人才极其缺乏局面的原因之一。很多希望学习Windows CE设备驱动或BSP的人已经具备了一定的硬件知识,并且对操作系统原理、数据结构等都很了解,但在Windows CE下进行设备驱动或BSP开发仍然没有合适的入口点。编写本书的主要目的就是对那些Windows CE设备驱动或BSP开发的初学者有个很好的指导作用,让他们少走弯路。
此外,笔者希望通过编写本书来总结这几年在工作中的研发经验,和更多的读者分享自己的技术,也是对自己掌握技术的巩固;通过编写本书,笔者更加清楚了实践与理论之间的联系,从而将自己的亲身经验和教训寄托在书中的每个章节。
本书的主要组成:
本书共由18章组成,分三大部分,第一部分是第1章—第11章,介绍Windows CE下设备驱动程序的开发过程,涉及设备驱动程序开发的基本概念、相关设备驱动实例讲解、设备驱动程序调试、移植等等内容。第二部分是第12章—第17章介绍如何开发一个BSP,涉及BSP基本概念、Boot Loader开发、OAL开发,相关文件配置等等。第三部分是在第一,二部分开发的基础上介绍一个家庭智能化系统的项目开发。以下是每章的内容概要:
* 第 1章 Windows CE 驱动简介,对基于Windows CE驱动程序的开发做大概的介绍。包括驱动概念,驱动的角色,驱动的分类,什么时候需要开发驱动,如何选择适当的驱动模型来开发自己的设备驱动等等内容。
*第 2章 Windows CE 下驱动程序的中断处理,介绍Windows CE下的中断处理,中断服务例程(ISR),中断服务线程(IST)的实现方法,并提供相关的示例代码。
* 第 3章 Windows CE 下的驱动管理,介绍Windows CE下的驱动程序如何通过设备管理器来管理的,并提供相关的演示代码进行说明。
* 第 4章 Windows CE下的驱动的访问控制,介绍了驱动开发过程的DMA访问,内存访问,总线相关驱动以及总线无关驱动的访问,设备接口等等实现方法。
* 第 5章 Windows CE下流接口驱动设计方法,介绍了流接口驱动的工作原理,流接口驱动的实现过程以及流接口函数使用方法的讲解,并演示在eBox2300SX开发套件上开发一个标准流驱动的全过程。
* 第 6章 Windows CE驱动程序的调试方法,介绍使用CETK测试一个驱动程序的必要软硬件条件,如何使用CETK调试一个驱动程序的完整过程,在介绍的过程中分为使用CETK提供的模块调试设备驱动程序和使用自定义的模块调试设备驱动程序两种情况,在介绍的过程使用相关实例进行演示。
* 第 7章 编写GPIO驱动程序,先介绍GPIO的相关概念,GPIO的特性,工作原理,然后以Vortex86SX上的GPIO为例详细介绍编写GPIO驱动的开发流程,并提供相关的流驱动演示代码,最后介绍GPIO驱动实现的另一种方法。
* 第8章 编写看门狗驱动程序,先介绍传统看门狗的工作原理,操作流程,然后介绍Vortex86SX看门狗的一些新特性,以及相应的控制方法,最后详细介绍如何编写看门狗驱动程序。
* 第 9章 编写音频驱动程序,首先介绍音频驱动开发基础知识,包括音频驱动的各种模型及工作原理,然后介绍音频驱动相关注册表的配置,音频驱动程序的移植,最后列举多种音频驱动的开发实例。
* 第 10章 编写块驱动程序,首先介绍块设备驱动开发基础,包括块驱动的架构,块设备管理器,块设备文件系统,块驱动接口,块驱动的加载、安装、侦测、访问等,然后介绍块设备驱动的相关注册表设置,最后介绍ATADISK磁盘驱动,ATAPI驱动的编写方法。
* 第11章 移植WinCE其他版本的驱动到CE6.0,介绍基于Windows CE的第二代内核的驱动移植到基于第三代内核驱动的方法以及相关注意事项。
* 第12章 板级支持包,首先介绍BSP的概念,包括BSP的由来、BSP的构成,然后对Boot Loader,OAL,配置文件、设备驱动程序进行简介,最后介绍创建一个BSP的两种方法,从零开始创建一个BSP和克隆一个已经存在的BSP。
* 第13章 Windows CE下Boot Loader的分析,首先介绍Boot Loader应该具备的功能,Boot Loader开发应该考虑的硬件因素,Windows CE镜像的引导模式,接着介绍以太网下Boot Loader的工作原理与实现方法,并提供相关的代码,最后介绍几种专用Boot Loader的制作方法。
* 第14章 开发Boot Loader,介绍Boot Loader开发的全过程,结合相关的实例代码进行讲解。
* 第15章 Windows CE下OAL的分析,介绍Windows CE第三代内核的架构,内核的调度,内核的状态,内核独立传输层(KITL)工作原理及其实现过程,可变时钟调度器的实现过程,产品质量级OAL等内容。
* 第16章 如何开发OAL,介绍Windows CE 第三代内核OAL的设计架构,OAL启动过程,开发OAL的流程,这些都是结合相关实例进行讲解。
* 第17章 创建Windows CE配置文件,介绍源代码配置文件包括Dirs文件、Makefile文件、Sources 文件的作用以及构建方法, 和Windows CE镜像配置文件,包括二进制镜像构建文件(.bib),注册表文件(.reg),文件系统文件(.dat),数据库文件(.db),字符串文件(.str)的构建方法。
* 第18章 项目实例—家庭智能化系统开发,分析如何从零开始开发一个基于Windows CE的项目。
致谢:
首先,感谢DM&P集团首席软件设计师陈志源先生,是他把我领进Windows CE的开发领域,并经常对我做技术上的点拨,使我在技术的道路上不断的成长,再感谢他在百忙之中审阅了本书,提出了宝贵的修改建议,并为本书作序。还要感谢长安大学的研究生徐波,西安电子科技大学的研究生孙海浪,解放军理工大学的研究生朱利利三位朋友在我写书期间帮我整理相关资料做了大量的工作。另外还要感谢爸爸,妈妈,哥哥,张文英,简清舟、蔡俊娜、葛成敬、贾英、温红光、李双路、周国、周庆、卢一、孔洋、陆荣展、陈克喜、庞永平、王少颖、范贤均、骆吉航、张宏军、管磊、王帮坤、梁万、陈方、高奇、马燚、孟刚、陈蕾、牛广阔、马战国、王引强、宋世光、刘一平、席文涛、杨海刚、王丽娜、苟军、田秀婷等等朋友对我的支持,在写书最困难的时候,都是他们鼓励我坚持了下来。还要特别感谢DM&P集团的戴工,邱工等前辈的大力支持,感谢ICOP所有同事的支持,最后感谢中国电力出版社编辑刘炽,在写书到出版的过程中提不少有价值的参考意见,让我不断的完善这本书。
鉴于笔者水平有限,加之时间仓促,本书一定有不少疏漏与不妥之处,希望得到广大读者的批评与建议。有兴趣的读者可以登录笔者的个人论坛来做技术上的交流: http://www.embeddedsoft.cn/bbs
<<Windows CE设备驱动及BSP开发指南>> 目 录
第1章 Windows CE 驱动简介
1.1什么是驱动
1.1.1驱动的概念
1.1.2 驱动的角色
1.2驱动的种类
1.2.1 单层驱动和分层驱动
1.2.1.1单层驱动
1.2.1.2 分层驱动
1.2.2 内置驱动和流驱动
1.2.2.1内置驱动
1.2.2.2流驱动
1.2.3用户和内核模式驱动
1.2.3.1内核模式驱动
1.2.3.2用户模式驱动
1.3何时需要驱动
1.4驱动开发的步骤
1.5 Windows CE共享的驱动代码
第2章 Windows CE 下驱动程序的中断处理
2.1 Windows CE中断的相关概念
2.2中断处理
2.2.1中断服务
2.2.2中断屏蔽
2.2.3 嵌套中断处理
2.2.4 共享中断处理
2.2.5 中断处理过程分析
2.2.6 配置,注册,并撤销一个中断处理程序
2.3 中断服务例程(ISR)
2.3.1安装ISR和设备驱动程序
2.3.2 安装一个ISR并等待中断事件的产生
2.3.3 编译一个ISR错误分析
2.3.4安装ISR和内核
2.4 中断服务线程(IST)
2.5 中断通知
第3章Windows CE 下的驱动管理
3.1设备管理器的角色
3.2设备管理器的架构
3.3设备管理器相关注册表键
3.4设备文件名称
3.5 I/O 资源管理器
3.6设备管理器相关API介绍
3.6.1设备管理器枚举类型
3.6.2设备管理器常用函数介绍
第4章Windows CE下的驱动的访问控制
4.1 DMA
4.1.1 Windows CE传统处理方法
4.1.2 Windows CE处理DMA的新方法
4.1.2.1 DMA抽象库
4.1.2.2 DMA抽象库实例
4.2 驱动的内存访问
4.2.1如何把一个物理内存块映射到执行IST的地址空间
4.2.1.1申请一个虚拟内存块
4.2.1.2 一个物理地址块与一个虚拟内存块的绑定
4.3.总线无关驱动
4.4.总线相关驱动
4.4.1总线命名
4.4.2总线驱动相关注册表键介绍
4.4.3 总线驱动电源回调
4.5.总线枚举器
4.6.设备接口类
4.7.设备接口通知
第5章 Windows CE下流接口驱动设计方法
5.1 流接口驱动简介
5.2 流接口驱动架构
5.3 流接口驱动的实现
5.3.1流接口驱动入口点
5.3.2 单通道和多通道
5.4流接口函数介绍
5.5 开发一个标准流驱动的全过程
5.5.1创建驱动STD
5.5.2 注册表中注册设备驱动
5.5.3 将设备驱动打包到Windows CE的镜像文件中
5.5.4 创建设备驱动程序的.def文件
5.5.5 编写驱动测试程序
5.6 编写串口驱动程序
5.6.1 串口工作原理分析
5.6.2 编写串口驱动程序的准备工作
5.6.3 填写相关流接口函数
5.6.4 小节
第6章 Windows CE驱动程序的调试方法
6.1使用CETK测试一个驱动程序的必要软硬件条件
6.2使用CETK测试一个驱动程序的完整过程
6.2.1使用CETK提供的模块测试设备驱动程序
6.2.1.1启动目标机
6.2.1.2 启动开发机的Windows Embedded CE 6.0 Test Kit(CETK)工具
6.2.1.3 与目标机建立连接
6.2.1.4.启动CETK对鼠标驱动的调试
6.2.1.5.鼠标驱动程序的验证
6.2.2使用自定义的模块测试设备驱动程序
6.2.2.1新建一个设备驱动的项目
6.2.2.2编写流驱动的测试程序
6.2.2.3.在目标机上启动CETK并连接到目标机
6.2.2.4.添加自定义测试模块
6.2.2.5.用自定义模块测试设备驱动程序
第7章 编写GPIO驱动程序
7.1 Vortex86SX SoC简介
7.2 GPIO相关概念介绍
7.2.1什么是GPIO
7.2.2 GPIO的特性
7.2.3 Vortex86SX的GPIO简介
7.2.4 Vortex86SX的GPIO相关寄存器介绍
7.3 GPIO驱动程序的编写
7.3.1 GPIO工作流程分析
7.3.2 编写串口驱动程序的准备工作
7.3.3 填写相关流接口函数
7.3.4 创建.def的文件
7.3.5在注册表中注册此驱动
7.3.6编写驱动的测试程序
7.4编写完标准GPIO驱动程序后的思考–GPIO驱动程序的另一种写法
7.4.2 用C#使用GPIO(调用SX_GPIO.DLL)
7.5小结
第8章 编写看门狗驱动程序
8.1 看门狗简介
8.1.1看门狗的概念
8.1.2 看门狗的工作原理
8.1.3 看门狗的操作流程
8.2 eBox2300SX看门狗介绍
8.2.1 Vortex86SX第一只内置看门狗WDT0介绍
8.2.2 Vortex86SX第二只内置看门狗WDT1介绍
8.3 编写看门狗驱动程序
8.3.1 Vortex86SX内置看门狗工作流程分析
8.3.2 创建Windows CE驱动工程
8.3.3 实现Vortex86SX内置看门狗驱动程序
8.3.3.1 编写Vortex86SX内置看门狗驱动程序的准备工作
8.3.3.2 填写Vortex86SX内置看门狗驱动程序的相关流接口函数
8.3.4 创建.def的文件
8.3.5 编写WDT_DLL驱动子工程的注册表文件
8.3.6 编写WDT_DLL驱动子工程的WDT_DLL.bib文件
8.3.7 编写WDT_DLL驱动子工程的Sources文件
8.3.8 编译WDT_DLL驱动子工程
第9章 编写音频驱动程序
9.1音频驱动开发基础
9.1.1音频压缩管理器驱动
9.1.1.1ACM驱动开发
9.1.1.2.ACM格式标签和过滤器标签
9.1.1.3 ACM驱动类型介绍
9.1.2音频驱动的MDD层和PDD层
9.1.3可插拔的编解码器的要求
9.1.3.1 标准格式
9.1.3.2 必须的入口点函数
9.1.4统一音频模型
9.1.4.1.音频混频器
9.1.4.2 波形音频驱动(Waveform Audio Driver)
9.1.4.3 WAV_IOControl 消息和参数结构体
9.1.5 Wavedev2音频驱动模型
9.2音频驱动注册表设置
9.2.1ACM驱动的注册表设置
9.2.2 软混频器注册表设置
9.3音频驱动移植
9.4音频驱动实例
9.4.1ACM驱动程序实例
9.4.2 Wavedev 驱动
9.5音频驱动相关函数,结构体,消息介绍
第10章 编写块驱动程序
10.1块设备驱动开发基础
10.1.1块驱动架构
10.1.2块驱动管理器
10.1.3块设备文件系统
10.1.4 块驱动接口
10.1.5加载块驱动
10.1.6 安装块驱动
10.1.7侦测块驱动
10.1.8 访问块驱动
10.1.9 块设备的电源循环处理
10.2 块驱动注册表设置
10.2.1自动加载块设备的名称限制
10.2.2 PC卡接口块驱动注册表设置
10.2.3内置块驱动的注册表键设置
10.2.4 ATAPI块驱动注册表键设置
10.2.5 SD卡注册表设置
10.2.6硬盘驱动的命名
10.3 块驱动实例
10.3.1 ATADISK磁盘驱动实例
10.3.2 ATAPI驱动实例
第11章 移植WinCE其他版本的驱动到CE6.0
11.1驱动移植访问权限的确认
11.2驱动移植的封送处理
11.3驱动移植的安全拷贝
11.4 驱动移植的线程访问许可
11.5 驱动移植的用户接口
11.6驱动程序的移植实例
第12章 板级支持包
12.1 BSP基本概念
12.1.1 BSP的由来
12.1.2 BSP的构成
12.2 Boot Loader
12.3 OAL
12.4运行时镜像的配置文件
12.5设备驱动程序
12.5.1 SoC 驱动程序
12.5.2 BSP驱动程序
12.5.3通用驱动程序
12.6 如何创建一个BSP
12.6.1从零开始开发自己BSP的流程
12.6.2通过克隆相似平台的BSP开发自己BSP的流程
第13章 Windows CE下Boot Loader的分析
13.1 Boot Loader应该具备的功能
13.2 Boot Loader开发时考虑的硬件因素
13.3 CE镜像的引导模式
13.3.1 Boot Loader引导模式
13.3.2 非Boot Loader引导模式
13.4 以太网下的Boot Loader
13.4.1以太网下bootloader代码的执行
13.4.2 启动和初始化代码的执行
13.4.3 构建 Boot Loader镜像相关文件
13.4.4 编译Boot Loader镜像
13.5 专用的Boot Loader
13.5.1 X86 BIOS Boot Loader
13.5.1.1 软盘制作BIOS Boot Loader
13.5.1.2 U盘制作BIOS Boot Loader
13.5.1.3 BIOS Boot Loader的限制
13.5.1.4 DiskPart 工具
13.5.1.5 Windows Embedded CE 6.0 R2下X86 BIOS Boot Loader 的新特征
13.5.2 X86 串口Boot Loader
13.5.3 X86 ROM Boot Loader
13.6 Boot Loader支持库
13.6.1 BLCOMMON代码库
13.6.2 Eboot代码库
13.6.3 Bootpart代码库
13.6.4以太网调试库
第14章 开发Boot Loader
14.1 Boot Loader 的设计
14.2设立命令行构建环境
14.3为Boot Loader的StartUp()函数创建一个文件
14.4 创建Boot Loader的Makefile文件和Sources文件
14.5.编译Boot Loader源代码
14.6.实现Boot Loader的StartUp()函数
14.7创建Boot Loader的Main()函数
14.8.为Boot Loader OEM函数创建占位程序
14.9编辑Boot Loader的Sources文件
14.10创建Boot Loader的 .bib文件
14.11重新构建Boot Loader
14.12.实现串口调试函数
14.13.创建驱动程序全局缓冲区和启动参数
14.14实现OEMPlatformInit()函数
14.15实现与以太网控制器相关的函数
14.16实现OEMPreDownload()函数
14.17 为下载CE镜像创建一个测试BIN文件并验证
14.18.实现OEMLaunch函数
14.19 Flash相关存储器函数的实现
14.19.1 OEMMapMemAddr()函数介绍
14.19.2 OEMWriteFlash()函数介绍
14.19.3 OEMIsFlashAddr()函数介绍
14.19.4 OEMShowProgress()函数介绍
14.19.5 Flash存储器擦除操作相关函数介绍
14.20添加存储器确认支持
第15章 Windows CE 下OAL的分析
15.1 内核架构分析
15.2 内核调度
15.2.1线程调度计时器
15.2.2内核全局变量调度
15.3内核状态
15.3.1 挂起状态
15.3.2 OEM断电状态
15.3.3唤醒状态
15.3.4 OEM唤醒状态
15.4内核独立传输层
15.4.1 KITL 传输通信
15.4.2中断和轮询传输
15.4.3 KITL的工作模式
15.4.4 以太网调试服务
15.5 可变时钟调度器的实现
15.6 产品质量级OAL
第16章 如何开发OAL
16.1 Windows CE的OAL设计框架
16.1.2 Kernel结构NKGLOBAL分析
16.2 OAL的启动过程分析
16.2.1初始化CPU
16.2.2 内核初始化
16.2.3初始化调试串口
16.2.4 初始化硬件平台
16.2.5第一个线程调度前重新初始化内核
16.2.6启动内核
16.2.7 第一个线程调度后重新初始化内核
16.3开发OAL的流程
16.3.1创建OAL相关目录
16.3.2添加OAL相关实现代码
16.3.3编写OAL开发的配置文件
16.3.4编译OAL源码
第17章 创建Windows CE配置文件
17.1 源代码配置文件
17.1.1 Dirs文件
17.1.2 Makefile 文件
17.1.3 Sources文件
17.2 CE镜像配置文件
17.2.1二进制镜像构建文件
17.2.2 注册表文件
17.2.3 文件系统文件
17.2.4 数据库文件
第18章 项目实例—家庭智能化系统开发
18.1定制Windows CE的操作系统
18.1.1新建一个项目工程
18.1.2 进入定制操作系统的向导
18.1.3 选择BSP
18.1.4 选择操作系统设计的模板
18.1.5 选择模板中的相关组件
18.1.6 添加Catalog组件
18.1.7 添加外部驱动
18.1.8 选择编译模式
18.1.9 选择CE镜像的默认语言支持
18.1.10 选择编译选项
18.1.11 添加环境变量
18.1.12 关闭调试窗口
18.1.13.生成CE操作系统的镜像
18.2 家庭智能化应用程序的开发
18.2.1 为家庭智能化系统的开发安装SDK
18.2.2开发家庭智能化系统的应用程序
本文链接:江湖传闻 http://www.yybeta.com/1118.html














发表评论
字体为 粗体 是必填项目,邮箱地址 永远不会 公布。
允许部分 HTML 代码:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>URLs(网站链接)必须完整有效 (比如: http://www.yybeta.com),所有标签都必须完整的关闭。
超出部分系统将会自动分段及换行。
请保证评论内容是与日志或 Blog 内容相关的,灌水、攻击性或不恰当的评论 可能 会被编辑或删除。