出版时间:2009-3 出版社:张冬泉、谭南林、 苏树强 电子工业出版社 (2009-03出版) 作者:张冬泉,谭南林,苏树强 著 页数:458
前言
嵌入式技术是21世纪最具生命力的新技术之一,经过近几年的快速发展,已经成为电子信息产业中最具增长力的一个分支。随着手机、掌上电脑、GPS、机顶盒等新兴产品的大量应用,嵌入式系统的设计正成为软硬件工程师越来越关心的话题。面对不断涌现的技术需求和发展机遇,各大嵌入式系统开发商、各科研院所的研发人员都急需一套全方位、针对性强,且具有实际指导意义的嵌入式技术类书籍;各高等院校相关专业的本科生、研究生也迫切希望了解、掌握嵌入式系统的开发技巧,以推动嵌入式技术在各领域的广泛应用和快速发展。《嵌入式技术与应用丛书》正是针对当前技术与市场需求,由国内站在IT业前沿并有实践开发经验的嵌入式系统专家,以实用技术为主线,理论联系实际,将他们在理论研究与实践工作中积累的大量经验和体会有机地融于一体,以丛书的形式奉献给广大读者!本丛书由基础理论类、硬件设计类、软件开发类、综合应用类书籍组成,立足当前嵌入式技术的发展趋势、核心技术及其主要应用领域,将技术热点与实践应用紧密结合,以实际应用为主线,融合关键性嵌入式设计技术,围绕嵌入式设计理论、开发流程、嵌入式软件验证及测试、代码可重构以及代码优化等方面进行深入浅出的讲解和论述。读者群定位于高等院校相关领域的高年级学生,科研、开发人员,嵌入式相关领域设计人员等,本丛书可作为嵌入式领域学习、开发人员的参考资料,也可作为高等院校相关专业师生的教学参考书。本丛书的出版得到了业界许多专家、学者的鼎力相助,对此表示衷心的感谢!同时,热切欢迎广大读者提出宝贵意见,或者推荐更多优秀选题(gmholife@hotmail.com),共同为嵌入式技术的发展添砖加瓦!
内容概要
《Windows CE实用开发技术(第2版)》集作者多年来从事Windows CE技术开发和认证培训方面的经验,系统总结和概括了WindowsCE的基础理论和特点,对Windows CE开发过程中所涉及到的操作系统定制开发、Bootloader开发、OAL,开发、驱动程序开发以及应用程序开发的过程与方法进行了详细论述。《Windows CE实用开发技术(第2版)》辅以大量的实用源代码,帮助读者逐步加深理解,最终达到实用开发的目的。《Windows CE实用开发技术(第2版)》以目前市场上应用最多的Windows CE 5.O开发为目标,开发工具使用Platform Builder 5.0和eMbedded Visual C++4.O+SP4以及Visual Studio-NET 2003应用程序开发工具。《Windows CE实用开发技术(第2版)》适合从事Windows CE开发的各级技术人员阅读,并可作为高等院校相关专业高年级学生及相关培训机构的参考教材。
书籍目录
第一篇 Windows CE基础第1章 Windows Embedded概述 (3)1.1 智能设备与微软嵌入式系统 (3)1.2 Windows Embedded概述 (4)1.3 深入了解Windows Embedded (7)1.3.1 Windows Embedded Standard (8)1.3.2 Windows Embedded for Point of Service (8)1.3.3 Windows Embedded Enterprise (9)1.3.4 Windows Embedded NavReady (9)1.4 Windows CE (10)1.4.1 Windows CE的设计目标 (10)1.4.2 Windows CE的特征 (12)1.4.3 Windows CE的版本 (14)1.5 Windows CE与Windows XP Embedded (16)1.6 Windows CE与Windows Mobile (18)1.7 Windows CE与Windows Automotive (19)1.8 Windows CE的源代码共享 (19)本章小结 (21)第2章 深入理解Windows CE (22)2.1 系统架构 (22)2.1.1 硬件层 (23)2.1.2 OEM层 (23)2.1.3 操作系统层 (23)2.1.4 应用层 (25)2.2 文件系统 (26)2.2.1 对象存储 (27)2.2.2 文件系统 (28)2.2.3 数据库 (30)2.2.4 注册表 (31)2.2.5 文件管理器 (32)2.3 内存管理 (33)2.3.1 ROM和RAM (33)2.3.2 虚拟内存模型 (34)2.3.3 虚拟地址映射 (35)2.3.4 用户地址空间 (38)2.4 系统调度 (39)2.4.1 模块 (40)2.4.2 进程 (41)2.4.3 线程 (43)2.4.4 纤程 (47)2.4.5 同步对象 (48)本章小结 (54)第3章 Windows CE开发平台的构建与配置 (55)3.1 开发工作站——目标设备平台 (55)3.1.1 Geode X86目标设备平台 (55)3.1.2 Samsung S3C2410/Intel xScale目标设备平台 (55)3.1.3 Pocket PC应用程序目标设备平台 (57)3.2 操作系统开发平台 (57)3.2.1 Platform Builder简介 (57)3.2.2 Platform Builder的安装与配置 (59)3.3 应用程序开发平台 (63)3.3.1 eMbedded Visual C++简介 (63)3.3.2 eMbedded Visual C++ 4.0的安装与配置 (64)3.3.3 Visual Studio .NET 2003简介 (69)3.3.4 Visual Studio .NET 2003的安装与配置 (70)3.3.5 Pocket PC应用程序开发平台的安装与配置 (73)3.3.6 Smartphone应用程序开发平台的安装与配置 (76)3.4 Windows CE嵌入式系统开发 (78)3.4.1 快速平台开发 (78)3.4.2 并行开发 (80)3.4.3 典型开发周期 (80)3.4.4 平台移植 (81)3.4.5 递归开发过程 (81)本章小结 (82)第二篇 Windows CE操作系统开发第4章 Windows CE操作系统创建 (87)4.1 创建一个操作系统映像设计 (87)4.1.1 创建操作系统平台设计 (87)4.1.2 添加必要的特征 (91)4.1.3 创建基于模拟器的操作系统映像 (93)4.1.4 模拟器目标平台的映像下载和调试 (95)4.1.5 创建Geode目标平台操作系统映像 (99)4.1.6 Geode目标平台的映像下载和调试 (100)4.2 Platform Builder的目录结构 (102)4.2.1 Platform Builder的安装目录 (103)4.2.2 WINCE500目录 (103)4.3 环境变量 (107)4.3.1 什么是环境变量 (107)4.3.2 查看环境变量 (108)4.3.3 设置环境变量 (110)4.4 Windows CE映像的创建过程 (111)4.4.1 系统编译 (111)4.4.2 系统产生 (112)4.4.3 Release复制 (113)4.4.4 映像创建 (113)4.5 使用IDE创建操作系统映像 (114)4.5.1 集成开发环境 (114)4.5.2 Catalog窗口 (114)4.5.3 Workspace (120)4.5.4 Build OS命令 (123)4.6 命令行工具 (123)4.6.1 Build.exe (125)4.6.2 Sysgen.bat (127)4.6.3 Buildrel.bat (127)4.6.4 Makimg.exe (127)4.6.5 Wince.bat (127)4.6.6 Blddemo.bat (128)4.6.7 Cebuild.bat (129)4.6.8 使用命令行工具创建运行时OS映像 (129)4.7 映像配置文件 (129)4.7.1 BIB文件 (130)4.7.2 REG文件 (133)4.7.3 DAT文件 (135)4.7.4 DB文件 (136)4.8 组件定义及应用 (137)4.8.1 CEC文件 (137)4.8.2 CEC编辑器 (140)4.8.3 添加组件定义到Catalog (141)本章小结 (142)第5章 Windows CE操作系统映像调试 (143)5.1 内核调试器 (143)5.2 断点 (144)5.3 远程调试工具 (146)5.3.1 设置平台管理器 (146)5.3.2 Remote Call Profiler (148)5.3.3 Remote File Viewer (150)5.3.4 Remote Performance Monitor (151)5.3.5 Remote Registry Editor (152)5.3.6 Remote Kernel Tracker (152)5.3.7 Remote Process Viewer (154)5.3.8 Remote System Information (155)5.3.9 Remote Zoom-in (155)5.3.10 Remote Heap Walker (155)5.3.11 Remote Spy (156)5.4 IDE调试命令 (157)5.4.1 Run Programs (157)5.4.2 CE Debug Zones (157)5.4.3 CE Target Control (162)5.4.4 CE Processes (163)5.4.5 CE Threads (163)5.4.6 CE Modules and Symbols (164)5.4.7 CE Exceptions (164)5.5 其他调试技术 (165)5.5.1 逻辑分析仪 (165)5.5.2 调试LED (166)5.5.3 JTAG (166)本章小结 (167)第三篇 Windows CE BSP开发第6章 Windows CE的Bootloader (171)6.1 什么是Bootloader (171)6.1.1 PC与嵌入式系统的引导过程 (171)6.1.2 Bootloader的概念 (172)6.2 操作系统的引导模式 (172)6.2.1 Bootloader引导模式 (172)6.2.2 非Bootloader引导模式 (173)6.3 特殊的Bootloader (174)6.3.1 X86 BIOS Bootloader (174)6.3.2 X86 Serial Bootloader (176)6.3.3 X86 ROM Bootloader (176)6.4 引导选项 (177)6.4.1 Bootloader通信 (177)6.4.2 Bootloader的功能菜单 (178)6.4.3 Bootloader的典型特征 (178)6.5 Bootloader的控制流程 (180)6.5.1 Bootloader的架构 (180)6.5.2 Bootloader的组件 (181)6.5.3 Bootloader的控制流程 (182)6.6 Bootloader开发中的几个关键技术 (186)6.6.1 Bootloader的开发调试方法 (186)6.6.2 Bootloader的BIB文件 (187)6.6.3 Bootloader的启动参数与全局缓冲区 (192)6.6.4 Bootloader对Flash存储器的支持 (196)本章小结 (202)第7章 Windows CE的OAL (203)7.1 OAL与PQOAL (203)7.1.1 OAL与PQOAL的概念 (203)7.1.2 PQOAL的目录结构 (204)7.1.3 PQOAL的配置文件 (205)7.1.4 PQOAL的架构 (206)7.1.5 PQOAL的组件 (207)7.2 Windows CE操作系统的启动顺序 (208)7.3 OAL开发概览 (210)7.3.1 必要的OAL功能 (211)7.3.2 可选的OAL功能 (234)7.4 OAL的电源管理 (245)7.4.1 电源管理器 (245)7.4.2 系统电源状态到设备电源状态的映射 (246)7.4.3 电源状态间的切换 (247)7.4.4 挂起状态的GWES控制 (248)7.4.5 OAL中的电源管理函数 (249)7.5 OAL的开发流程与实践 (249)7.5.1 创建OAL文件夹 (250)7.5.2 实现OAL的Startup函数 (250)7.5.3 创建sources和makefile文件 (250)7.5.4 编译Startup源文件 (251)7.5.5 创建Kernel文件夹 (251)7.5.6 创建CPU特定的OAL函数的框架 (251)7.5.7 创建必要的OAL函数的框架 (252)7.5.8 创建OAL电源管理函数的框架 (252)7.5.9 创建OAL中断处理函数的框架 (252)7.5.10 创建OAL实时时钟函数的框架 (252)7.5.11 创建OEMIoControl函数的框架 (253)7.5.12 创建OEMAddressTable (253)7.5.13 创建内核可执行映像 (254)7.5.14 实现OEMCacheRangeFlush函数 (254)7.5.15 创建内核配置文件 (255)7.5.16 创建Cesysgen文件夹 (255)7.5.17 创建Dirs文件 (255)7.5.18 创建Nk.bin映像 (255)7.5.19 实现串口调试函数 (255)7.5.20 再次创建Nk.bin映像 (256)7.5.21 实现OEMInit函数 (256)7.5.22 实现中断相关的函数 (256)7.5.23 实现电源管理函数 (259)7.5.24 三次创建Nk.bin映像 (266)7.5.25 为OEMInit添加KITL初始化代码 (266)7.5.26 为运行时映像添加目标控制Shell (266)7.5.27 四次创建Nk.bin映像 (266)7.5.28 实现RTC函数 (266)7.5.29 定制内存的用法 (266)7.5.30 实现OEMIoControl函数 (267)7.6 创建OAL和内核 (267)本章小结 (268)第8章 Windows CE的驱动程序 (270)8.1 驱动程序的分类 (270)8.1.1 驱动程序的概念 (270)8.1.2 内建的驱动程序与可安装的驱动程序 (270)8.1.3 分层的驱动程序与不分层的驱动程序 (271)8.1.4 本地驱动程序与流接口驱动程序 (272)8.2 驱动程序源代码 (274)8.3 设备管理器 (274)8.4 驱动程序的资源 (275)8.4.1 资源管理器 (275)8.4.2 设备驱动的中断处理和IST模型 (276)8.4.3 设备驱动程序的内存管理 (281)8.5 驱动程序的加载机制 (286)8.5.1 驱动程序的加载过程 (286)8.5.2 ActivateDeviceEx (287)8.5.3 总线枚举器 (287)8.6 总线驱动 (290)8.6.1 Bus Agnostic驱动 (291)8.6.2 PCI总线驱动 (293)8.6.3 PC Card总线驱动 (295)8.7 流接口设备驱动 (296)8.7.1 流接口设备驱动的架构 (296)8.7.2 流接口驱动的实现 (296)8.7.3 流接口函数 (297)8.8 驱动程序的电源管理 (302)8.8.1 电源管理的架构 (302)8.8.2 电源状态 (303)8.8.3 电源管理接口 (304)8.8.4 在驱动程序中添加电源管理 (305)8.9 CEDDK (306)8.9.1 地址映射函数 (306)8.9.2 总线访问函数 (307)8.9.3 DMA函数 (307)8.9.4 I/O操作函数 (308)8.10 驱动程序实例分析 (308)8.10.1 源代码分析工具 (309)8.10.2 ES1371声卡的驱动程序架构 (309)8.10.3 ES1371声卡驱动程序分析 (310)8.10.4 ES1371声卡驱动程序注册表设置 (317)8.10.5 ES1371声卡驱动程序的sources文件 (318)8.11 USB设备驱动程序 (319)8.11.1 USB系统的架构 (319)8.11.2 USB设备驱动程序的结构 (321)8.11.3 USB设备驱动程序分析 (322)8.12 USB设备驱动程序开发实例 (331)8.12.1 获取USB设备信息 (332)8.12.2 创建一个操作系统设计平台 (332)8.12.3 创建驱动程序框架 (333)8.12.4 编写驱动程序代码 (336)本章小结 (358)第四篇 Windows CE应用程序开发第9章 定制Windows CE Shell (361)9.1 可定制的Windows CE Shell (361)9.1.1 什么是Shell (361)9.1.2 Shell模块和组件 (361)9.2 Windows CE提供的Shell选项 (362)9.2.1 命令行Shell (363)9.2.2 标准Shell (363)9.2.3 Windows瘦客户端Shell (364)9.2.4 任务管理器例Shell (366)9.3 Shell定制开发的选项 (367)9.3.1 应用程序作为Shell (367)9.3.2 浏览器作为Shell (367)9.4 必要的Shell功能 (367)9.4.1 Shell应用程序 (368)9.4.2 桌面窗口 (368)9.4.3 任务条窗口 (368)9.4.4 任务相关的消息处理器 (369)9.5 Shell组件 (370)9.5.1 Shell相关的API (370)9.5.2 常用对话框和常用控件 (371)9.5.3 控制面板 (371)9.6 安装运行一个定制的Shell (372)9.7 处理用户界面的旋转 (373)9.7.1 创建一个操作系统设计 (373)9.7.2 修改注册表设置 (373)9.7.3 创建屏幕旋转应用程序 (374)9.7.4 创建并下载操作系统运行时映像 (376)9.7.5 运行屏幕旋转应用程序测试屏幕旋转 (377)9.8 定制用户界面 (377)9.8.1 创建一个皮肤 (377)9.8.2 可以被换肤的用户界面元素 (378)9.8.3 附加的用户界面定制选项 (379)9.9 Shell定制实例:IEShell (382)9.9.1 创建一个MyShell操作系统设计 (382)9.9.2 创建、下载并测试操作系统运行时映像 (382)9.9.3 创建并测试IEShell应用程序 (382)9.9.4 设置IEShell为目标设备的Shell (384)本章小结 (386)第10章 智能设备应用程序开发 (387)10.1 本地应用程序与可托管应用程序 (387)10.2 本地应用程序开发 (387)10.2.1 从Platform Builder导出SDK (387)10.2.2 安装SDK (391)10.3 Windows CE下的Win32编程 (393)10.3.1 Unicode (393)10.3.2 Unicode转换 (394)10.3.3 字符串输出 (395)10.3.4 文件I/O (396)10.4 eMbedded Visual C++应用程序开发 (396)10.4.1 探索eMbedded Visual C++ 4.0 (396)10.4.2 在模拟器上开发调试 (398)10.4.3 eVC与Platform Builder的联合开发调试 (403)10.5 .NET Compact Framework应用程序开发 (406)10.5.1 智能设备应用程序开发 (406)10.5.2 添加目标设备对.NET的支持 (408)10.5.3 创建一个C#智能设备应用程序 (409)10.5.4 在模拟器上部署Windows CE应用程序 (411)10.5.5 在目标设备上部署智能设备应用程序 (412)10.6 Pocket PC应用程序开发 (414)10.6.1 创建一个简单的Pocket PC应用程序 (414)10.6.2 在模拟器上部署Pocket PC应用程序 (416)10.6.3 在Pocket PC设备上部署Pocket PC应用程序 (416)10.7 Smartphone应用程序开发 (418)10.8 在Windows CE设备上运行Pocket PC应用程序 (420)本章小结 (421)第11章 SQL Server CE应用程序开发 (422)11.1 SQL Server CE简介 (422)11.1.1 SQL Server CE的客户端-服务器环境 (422)11.1.2 SQL Server CE的开发环境 (424)11.2 安装和配置SQL Server CE开发环境 (425)11.2.1 SQL Server CE安装概述 (425)11.2.2 安装SQL Server 2000 (426)11.2.3 安装IIS (426)11.2.4 安装SQL Server CE 2.0 (427)11.2.5 配置IIS服务对SQL Server CE 2.0的支持 (429)11.3 编制远程数据库复制应用程序 (431)11.3.1 创建SQL Server 2000数据库 (433)11.3.2 创建SQLCECF数据库复制应用程序 (441)11.3.3 部署并测试SQLCECF应用程序 (451)11.3.4 SQL Server CE的数据库查询分析器 (452)11.4 编制远程数据访问应用程序 (452)11.4.1 RDA的架构 (453)11.4.2 使用Pull方法 (454)11.4.3 使用Push方法 (455)11.4.4 使用SubmitSQL方法 (455)本章小结 (456)参考文献 (457)
章节摘录
插图:5.3.2 Remote Call ProfiIerRemote Call Profiler(远程调用评测工具)将高性能的数据收集分析工具、易于使用的图形界面与一个强大的报告引擎结合起来,使开发者能很容易地识别自己应用程序中算法的瓶颈。远程调用评测工具包含一系列接口函数,为了使用Remote Call Profiler,开发者必须编译一个含有Profiling钩子的应用程序,并在想要评测的应用程序代码中调用这些接口函数,然后将该应用程序下载到目标设备,并将Remote Call Profiler连接到目标设备,最后在目标设备上运行这个应用程序。在应用程序运行的过程中,远程调用评测工具就能够接收开发者编写的程序数据并记录这些数据,最后利用图形显示数据分析结果。在默认情况下,当包含Profiling的指定模块开始运行时,Remote Call Profiler开始收集数据并将收集的数据记录到一个.icp文件中,直到这个指定的模块卸载时,CE CallProfiler才停止收集数据。但是,开发者也可以在自己的代码中,应用Remote Call Profiler数据收集函数来启动或者停止数据的收集过程。
编辑推荐
《Windows CE实用开发技术(第2版)》:嵌入式技术与应用丛书。
图书封面
评论、评分、阅读与下载