
| 本书重点突出,语言简练,内容丰富,实用性强,适合具备一定C、C++和Java应用知识并且想要从事嵌入式软件开发工作的软件专业人士使用,对于想要了解嵌入式系统的读者也具有启迪作用。
|
|
|
| 目 录 前 言 1 第1章 嵌入式软件概述 7 1.1 什么是嵌入式系统 7 1.2 嵌入式系统分类 8 1.2.1 单机嵌入式系统 8 1.2.2 实时嵌入式系统 8 1.2.3 网络设备 9 1.2.4 移动设备 9 1.3 嵌入式系统的要求 10 1.3.1 可靠性 10 1.3.2 合理的成本 10 1.3.3 耗电低 10 1.3.4 有效利用处理能力 10 1.3.5 有效利用存储器 11 1.3.6 适当的执行时间 11 1.4 嵌入式软件开发中的挑战和问题 11 1.4.1 协同设计 12 1.4.2 嵌入操作系统 12 1.4.3 代码优化 13 1.4.4 高效输入/输出 13 1.4.5 测试和调试 13 1.5 嵌入式软件开发的趋势 14 1.5.1 处理器 14 1.5.2 存储器 14 1.5.3 操作系统 14 1.5.4 编程语言 15 1.5.5 开发工具 15 1.6 小结 15 第2章 嵌入式系统的应用 17 2.1 应用市场领域 17 2.1.1 消费类电子产品 18 2.1.2 控制系统和工业自动化 19 2.1.3 生物医学系统 21 2.1.4 现场仪器 21 2.1.5 手持式电脑 23 2.1.6 数据通信 24 2.1.7 网络信息设备 29 2.1.8 电信 31 2.1.9 无线通信 35 2.2 差异中的共性 36 2.3 小结 37 第3章 嵌入式系统的硬件体系结构 39 3.1 硬件体系结构 39 3.1.1 处理器 40 3.1.2 存储器 42 3.1.3 锁存器和缓冲器 44 3.1.4 晶体 45 3.1.5 复位电路 45 3.1.6 芯片选择逻辑电路 45 3.1.7 ADC和DAC 45 3.1.8 应用专用控制电路 46 3.1.9 显示单元 46 3.1.10 小键盘 47 3.1.11 通信接口 47 3.1.12 可编程逻辑设备 48 3.2 示例:一个基于8031的控制系统 48 3.3 示例:智能卡 50 3.3.1 集成所有部件 50 3.4 示例研究:一种微控制器体系结构 51 3.5 8051的体系结构 52 3.5.1 简化的电源模式 52 3.5.2 存储器组织 53 3.6 16位和32位处理器 56 3.6.1 示例:基于32位处理器的手持式电脑 57 3.7 DSP体系结构 58 3.7.1 示例:使用DSP的语音识别系统 59 3.7.2 选择DSP 61 3.8 通信接口标准 61 3.8.1 串行接口/UART 61 3.8.2 IEEE 1394 63 3.8.3 通用串行总线 64 3.8.4 IrDA 66 3.8.5 以太网 67 3.8.6 蓝牙 67 3.8.7 PCI总线 68 3.9 开发工具 69 3.9.1 EPROM编程器 69 3.9.2 EPROM擦除器 70 3.9.3 符号差验证器 70 3.10 软硬件交互 70 3.10.1 自测 71 3.10.2 程序CRC32.cpp的源代码列表 71 3.10.3 执行CRC计算程序 74 3.11 小结 75 第4章 开发嵌入式系统 77 4.1 嵌入式系统开发过程 77 4.1.1 确定要求 78 4.1.2 设计系统体系结构 79 4.1.3 选择操作系统 80 4.1.4 选择处理器 82 4.1.5 选择开发平台 83 4.1.6 编码问题 84 4.1.7 在主机系统上验证软件 86 4.1.8 在嵌入式系统上验证软件 86 4.2 小结 86 第5章 嵌入式软件开发环境 87 5.1 操作系统 87 5.1.1 内核体系结构 88 5.1.2 嵌入式操作系统 90 5.1.3 嵌入式系统中的任务调度 91 5.1.4 上下文切换 93 5.1.5 任务的同步 93 5.1.6 定时器 94 5.1.7 嵌入式操作系统的类型 95 5.1.8 实时操作系统 98 5.1.9 移动/手持式操作系统 100 5.2 编程语言 102 5.2.1 汇编语言 103 5.2.2 高级语言 103 5.2.3 C编译器的结构 104 5.2.4 Java编程语言 109 5.2.5 信息设备 113 5.2.6 动态分布式系统 115 5.3 目标处理器的开发工具 118 5.3.1 仿真程序 118 5.3.2 设备驱动程序的开发 119 5.3.3 lcd.ASM的源代码列表 119 5.3.4 执行程序 127 5.3.5 用于嵌入式驱动程序的工具 128 5.3.6 设备驱动程序的开发 128 5.4 实现嵌入式系统:使用本书中介绍的方法 130 5.5 小结 131 第6章 串行通信编程 133 6.1 开发环境 133 6.2 串行通信 133 6.2.1 通信参数 134 6.3 空调制解调器电缆连接 134 6.4 PC机之间的通信项目 135 6.4.1 CserialCommDlg.h的源代码清单 135 6.4.2 运行程序 144 6.5 与8051系列微控制器的串行通信项目 145 6.5.1 Serial.c的源代码清单 146 6.5.2 执行程序 149 6.6 小结 152 第7章 导航系统的开发 153 7.1 开发环境 153 7.2 项目概况 153 7.2.1 Serial.h的源代码清单 154 7.2.2 Serial.cpp的源代码清单 155 7.2.3 GPSDlg.h的源代码清单 159 7.2.4 GPSDlg.cpp的源代码清单 160 7.3 执行程序 169 7.4 将软件移植到嵌入式NT平台 170 7.5 小结 173 第8章 嵌入式通信系统 175 8.1 开发环境 175 8.2 协议转换器项目 176 8.2.1 Test.h的源代码清单 177 8.2.2 Test.c的源代码清单 178 8.2.3 GlobalVar.h的源代码清单 185 8.2.4 Buffers.c的源代码清单 186 8.2.5 PTFunction.c的源代码清单 188 8.2.6 执行程序 189 8.2.7 嵌入软件 190 8.3 基于网际协议(IP)的语音传输项目 193 8.3.1 serverDlg.h的源代码清单 194 8.3.2 serverDlg.cpp的源代码清单 196 8.3.3 clientDlg.h的源代码清单 214 8.3.4 clientDlg.cpp的源代码清单 216 8.3.5 执行程序 236 8.3.6 嵌入软件 237 8.4 小结 240 第9章 基于移动网络的嵌入式应用 241 9.1 开发环境 241 9.2 MP3 声音播放器项目 242 9.2.1 sound.c的源代码清单 242 9.2.2 执行程序 248 9.3 薪水调查项目 250 9.3.1 idbusage.c的源代码清单 251 9.3.2 执行程序 266 9.3.3 输出 268 9.4 嵌入BREW应用程序 270 9.5 小结 270 第10章 实时嵌入式软件开发 271 10.1 开发环境 271 10.2 RTLinux模块 272 10.2.1 在RTLinux中编译模块 272 10.2.2 执行RTLinux模块 272 10.2.3 创建RTLinux POSIX线程 274 10.3 编译并执行示例程序 275 10.3.1 RTLinux的核心API 276 10.4 每隔10秒打印一条消息项目 279 10.4.1 hello.c的源代码清单 280 10.4.2 在RTLinux系统上编译文件 281 10.4.3 执行模块 282 10.5 通过串行连接发送消息项目 282 10.5.1 blink.c的源代码清单 283 10.5.2 执行程序 285 10.5.3 输出 287 10.6 过程控制系统的仿真项目 288 10.6.1 SerialCommDlg.cpp的源代码清单 289 10.6.2 temperature.c的源代码清单 292 10.6.3 执行程序 295 10.7 从RTLinux系统控制设备项目 298 10.7.1 play.c的源代码清单 299 10.7.2 stop.c的源代码清单 301 10.7.3 repeat.c的源代码清单 302 10.7.4 AudioPlayerDlg.cpp的源代码清单 304 10.7.5 执行步骤 306 10.7.6 输出 309 10.8 小结 310 第11章 嵌入式数据库应用 311 11.1 开发环境 311 11.2 薪水调查项目 311 11.2.1 有关数据库的一些问题 312 11.2.2 SalarySurvey.ebf文件的源代码清单 312 11.2.3 执行程序 325 11.2.4 输出 330 11.3 能量计读数项目 331 11.3.1 EnergyConsumption.ebf的源代码清单 332 11.3.2 执行程序 347 11.3.3 输出 351 11.4 桌面机和Pocket PC之间的数据同步 352 11.5 小结 352 第12章 具备Java功能的网络信息设备 353 12.1 开发环境 353 12.2 客户关系管理软件项目 354 12.2.1 项目文件 354 12.2.2 源代码清单 356 12.2.3 嵌入应用程序 377 12.3 开发基于位置的服务项目 377 12.3.1 项目文件 377 12.3.2 源代码清单 378 12.3.3 测试应用程序 386 12.4 嵌入式过程控制系统项目 388 12.4.1 项目文件 388 12.4.2 数据库细节内容 389 12.4.3 源代码清单 389 12.4.4 测试应用程序 399 12.5 小结 400 第13章 移动Java设备 401 13.1 电子城市导游项目 401 13.1.1 开发环境 401 13.1.2 数据库细节内容 402 13.1.3 CityGuide.java的源代码清单 402 13.1.4 Cities.jsp的源代码清单 415 13.1.5 Categories.jsp的源代码清单 416 13.1.6 CityDetails.jsp的源代码清单 418 13.1.7 NameCategory.jsp的源代码清单 419 13.1.8 执行该程序 421 13.2 使用Jini的设备控制项目 426 13.2.1 Jini的安装及类路径设置 427 13.2.2 启动Jini服务 427 13.2.3 ACRemote应用程序 433 13.2.4 项目文件 434 13.2.5 源代码清单 434 13.2.6 测试应用程序 448 13.3 小结 451 第14章 嵌入式Windows XP中的软件开发 453 14.1 开发环境 453 14.2 项目概况 454 14.3 空调的远程控制项目 454 14.3.1 项目概况 455 14.3.2 Serial.h的源代码清单 455 14.3.3 Serial.cpp的源代码清单 456 14.3.4 ACRemoteDlg.h的源代码清单 460 14.3.5 ACRemoteDlg.cpp的源代码清单 461 14.3.6 ACSimulator.cpp的源代码清单 468 14.3.7 执行程序 470 14.3.8 将软件移植到Embedded XP平台上 471 14.4 远程控制音频播放器项目 475 14.4.1 项目概况 476 14.4.2 MP3RemoteDlg.h的源代码清单 476 14.4.3 MP3RemoteDlg.cpp的源代码清单 477 14.4.4 执行程序 483 14.4.5 将软件移植到Embedded XP平台 484 14.5 打字速度指示器项目 484 14.5.1 frmmain.frm的源代码清单 484 14.5.2 frmtest.frm的源代码清单 485 14.5.3 frmfallingletters.frm的源代码清单 489 14.5.4 执行程序 492 14.5.5 输出 496 14.5.6 将软件移植到Embedded XP平台 497 14.6 嵌入式数据库应用项目 498 14.6.1 数据库定义 498 14.6.2 Productivity.frm的源代码 498 14.6.3 执行程序 508 14.6.4 输出 517 14.6.5 安装数据库应用程序 518 14.6.6 将软件移植到Embedded XP平台 520 14.7 电子表决项目 520 14.7.1 数据库细节内容 521 14.7.2 项目文件 521 14.7.3 vote.asp的源代码清单 521 14.7.4 insertvote.asp的源代码清单 524 14.7.5 checkvote.asp的源代码清单 527 14.7.6 thanks.html的源代码清单 529 14.7.7 display.asp的源代码清单 530 14.7.8 执行程序 532 14.7.9 嵌入应用程序 534 14.8 小结 534 第15章 嵌入式系统的发展趋势 535 15.1 芯片上的系统 535 15.2 智能卡和无现金社会 536 15.3 嵌入式系统的安全性 537 15.4 小结 539 附录A CD-ROM上的内容 541 附录B 嵌入式软件资源 549 |
商品评论(0条)