嵌入式系统编程 —— 使用C和GNU开发工具(第二版)
嵌入式系统编程 —— 使用C和GNU开发工具(第二版)
Michael Barr, Anthony Massa
王映辉, 王琼芳, 李军怀等 译
出版时间:2009年04月
页数:272
如果你有程序设计经验,并且熟悉C语言,那么《嵌入式系统编程》(第二版)正是你开始编写嵌入式软件所需要的。

《嵌入式系统编程》(第一版)向数万人讲述了这一编程内容,并且现在已经成为嵌入式设计的经典著作。经过改进的第二版包含了最近的软件设计和开发方法。

本书中的技术和所列举的代码例子对现实世界的各种嵌入式软件都是可直接使用的。例子使用了免费的GNU软件设计工具,eCos和Linux操作系统,还有就是专门针对本书而开发的一种价格低廉的硬件平台。如果你在学习《嵌入式系统编程》(第二版)的同时也掌握了这些工具,那么你将具有深入研究嵌入式系统的能力。尽管你会与不同的硬件和软件打交道,但在本书中所涵盖的原理仍然适用。
不管你对嵌入式是一点也不了解,还是以前做过这方面的工作,你都将从本书的内容中有所收益,本书内容包括:

* 基本的调试技术——当开发超低成本嵌入式系统时,必须用到的一种关键技术。
* 中断、监视、控制片上外设和外部的外围设备。
* 判断系统是否有实时性要求,判断你的操作系统和应用程序是否能达到这些要求。
* 实时操作系统中的任务同步问题和嵌入式Linux。
* 在编码量、运行速度和耗电量等方面对系统进行优化处理。

所以,不管你是在编写你的第一个嵌入式程序、或是在设计最新一代的手持产品,还是管理员工去设计,《嵌入式系统编程》(第二版)都将帮你学到知识和技术,这些知识和技术将有助于你精通编写嵌入式软件。

对第一版的称赞:

对于那些第一次冒险进入嵌入式系统软件开发领域的人来说,这本生动易读的书是一个很好的入门读物。本书向程序员讲述了关于嵌入式开发过程的重要内容。
——Lindsey Vereen,《嵌入式系统编程》主编
  1. 前言
  2. 第1章 简介
  3. 什么是嵌入式系统?
  4. 设计模式的多样性
  5. 嵌入式设计实例
  6. 一位嵌入式软件开发者的生活
  7. C语言:最基本的必需品
  8. 硬件简介
  9. 第2章 了解硬件
  10. 了解概况
  11. 硬件基础
  12. 审视
  13. 学会怎么通信
  14. 开始了解处理器
  15. 学习外部外围设备
  16. 初始化硬件
  17. 第3章 第一个嵌入式程序
  18. “Hello,World!”
  19. 闪灯程序
  20. 无限循环的作用
  21. 第4章 编译、链接和定位
  22. 构建过程
  23. 构建闪灯程序
  24. 快速浏览makefiles文件
  25. 第5章 下载和调试
  26. 下载闪灯程序
  27. 远程调试器
  28. 仿真器
  29. 其他有用的工具
  30. 深入理解硬件
  31. 第6章 内存
  32. 存储类型
  33. 直接存储器存取
  34. 字节序问题
  35. 存储检测
  36. 确认存储内容
  37. 闪存的使用
  38. 第7章 外围设备
  39. 控制寄存器和状态寄存器
  40. 设备驱动思想
  41. 设备驱动设计
  42. 第8章 中断
  43. 总述
  44. 中断映射
  45. 中断服务程序
  46. 改进的闪灯程序
  47. 中断问题总结
  48. 第9章 整体理解
  49. 应用总述
  50. 使用串行端口
  51. 命令行接口处理
  52. 第10章 操作系统
  53. 历史和目的
  54. 调度程序
  55. 任务
  56. 任务同步
  57. 消息传递
  58. 其他功能
  59. 中断处理
  60. 实时特性
  61. 使用或不使用RTOS
  62. 更多资源
  63. 第11章 eCos实例
  64. 简介
  65. 任务机制
  66. 互斥量任务同步
  67. 信号量任务同步
  68. 消息传递
  69. eCos中断处理
  70. 第12章 嵌入式Linux实例
  71. 简介
  72. 在Linux中访问硬件
  73. 任务机制
  74. 互斥量任务同步
  75. 信号量同步任务
  76. 消息传递
  77. 第13章 扩充功能
  78. 通用外围设备
  79. 适用于大型和小型设备的网络
  80. 第14章 优化技术
  81. 提高代码效率
  82. 减少代码量
  83. 最优编译器问题
  84. 减少存储使用
  85. 节省能源的技术
  86. 限制C++的影响
  87. 附录A Arcom VIPER-Lite开发工具包
  88. 附录B 安装你的软件开发环境
  89. 附录C 实现GNU软件工具
  90. 附录D 安装eCos开发环境
  91. 附录E 安装嵌入式Linux开发环境
书名:嵌入式系统编程 —— 使用C和GNU开发工具(第二版)
译者:王映辉, 王琼芳, 李军怀等 译
国内出版社:中国电力出版社
出版时间:2009年04月
页数:272
书号:978-7-5083-8376-7
原版书出版商:O'Reilly Media
Michael Barr
 
Michael Barr是Netrino公司(一个嵌入式系统共享软件和软件工程服务提供商)的创始人兼总裁。Netrino公司鼓励所有职员通过为杂志撰稿和在业界会议演讲来分享自己的专业知识。这些资料可以在公司的网站http://www.netrino.com找到。

Michael拥有马里兰大学的电机工程学士和硕士学位。他的大部分时间都用在嵌入式软件、设备驱动和实时操作系统的开发上了。他还喜欢写作、教书,并期待着开始下一部著作的创作。目前他有好几个计划,其中包括一部小说。


Michael Barr是电子设备软件设计的权威专家。他在美国的某区法庭提供了与这方面相关的专家证词,出现在PBS节目“American Business Review”上,并且被报纸文章所转载。Michael是40多篇科技文章的作者,同时还是《嵌入式系统字典》这本书的共同执笔者。他还担任过“嵌入式系统编程”杂志三年半的主编工作。
由Michael在其职业生涯早期设计和编写的嵌入式软件已经在数以百万计的系统(从消费电子设备到医疗设备)中得到应用。现在Michael开始为商业构建嵌入式系统,而不是再针对个人了。他是Quantum Leaps公司的CEO,还是Netrino公司的创始人。这两个公司在不同的方面帮助嵌入式开发人员编写出更好的嵌入式软件。
Michael Barr is a leading authority on the design of software for electronic devices.
Related to this he has provided expert testimony in U.S. District Court,appeared on the PBS show "American Business Review" and been quoted in newspaper articles.
Michael is also the author of more than 40 technical articles and coauthor of the Embedded Systems Dictionary. For three and a half years he served as editor-in-chief of Embedded Systems Programming magazine.
Embedded software designed or written by Michael early in his career runs millions of systems worldwide, from consumer electronics to medical devices. However, today Michael builds businesses instead of individual products. He is CEO of Quantum Leaps, Inc. and founder of Netrino, LLC. In different ways, these two firms help engineers write better embedded software.
 
 
Anthony Massa
 
Anthony Massa在嵌入式软件开发方面已经拥有了超过10年的开发经验。现在使用的几款软件的体系结构和开发环境都凝聚了他的心血,其中包括卫星和光缆调制解调器、无线设备、机顶盒和顶端传输设备。
Anthony在顶级的软件开发杂志中已经写了几篇有关嵌入式软件开发方面的文章,同时也是《用eCos进行嵌入式软件开发》这本书的作者。Anthony是Elintrix的奠基人之一(http://www.elintrix.com),同时也是它的主要软件工程师,Elintrix是无线网络和信号处理产品的提供者。Anthony拥有圣迭戈大学电子工程文学士和理学士的双学士学位。
Anthony Massa has over a decade of experience in embedded software development.
He has worked on the architecture and development of software for several products in use today, including satellite and cable modems, wireless radios, set-top boxes, and head-end transmission equipment.
Anthony has written several articles in leading software development magazines focusing on embedded software development and is author of the book Embedded Software Development with eCos. Anthony is cofounder and Chief Engineer of Software at Elintrix (http://www.elintrix.com), a provider of wireless networked and signal processing products. He holds a dual B.S./B.A. degree in electrical engineering from the University of San Diego.
 
 
本书封面上的昆虫是壁虱。全世界各地分布着大约有850多种这样的吸血微观寄生生物,它们尤其生存在那些热带和亚热带地区。有两种主要的壁虱种类:硬壁虱,它们的嘴可以看得到;还有一种是软壁虱,它们的嘴部是隐藏着的。
无论是硬壁虱还是软壁虱,它们的嘴部都是由三个主要部分构成:唇须、前肢,还有垂唇。在壁虱吸血的时候,正是垂唇这部分深入到宿主的皮肤里。垂唇上一系列的反向投射性质的东西使得壁虱在吸血时很难从皮肤上滑落下来。壁虱还会分泌一些分泌物将它们粘贴在固定的位置,这种物质在壁虱吸完血之后就会失去吸附的作用。它们可以吸相当于自己体表2~6倍面积内所含的血液。
壁虱的一生经历三个阶段:幼虫、若虫和成虫。每个阶段它们分别以哺乳动物、爬行动物和鸟类宿主为食。壁虱靠前端的两个向外扩张的脚栖息在树叶上或是其他物体的表面等待宿主的出现。当宿主出现以后,它们便行动,吸附在宿主的身上。成年的雌性硬壁虱会在产一批数以千计的卵之后死去。成年的雄性壁虱也会在一次交配之后死去。
正像其它寄生生物一样,壁虱非常讨厌。它们与其他的吸血寄生生物相比,能传播更多的疾病,包括:莱姆病、洛基山斑疹热和回归热,它们也可以导致失血过多。一些根本无毒的壁虱也可能导致死亡。可以通过使用镊子或是尽可能靠近皮肤的清除设备将其处理掉。不要挤压壁虱,马上将它们用马桶冲掉。或者将其放入密封的容器内放上一个月,以防引发疾病。