嵌入式系统编程(第二版,影印版)
嵌入式系统编程(第二版,影印版)
Michael Barr, Anthony Massa
出版时间:2007年07月
页数:301
如果你具有C语言编程经验并且对此较为熟悉,那么《嵌入式系统编程》第二版正是你开始学习编写嵌入式软件的入门指南。
《嵌入式系统编程》第一版将这门技术教给了成千上万的开发人员,它已成为嵌入式编程的经典书籍。在第二版中,我们更新了相关内容以涵盖最新的硬件设计和开发方法论。
本书所涉及的技巧和范例代码可直接应用于真实世界里的各种嵌入式软件项目。相关例子用到了免费的GNU软件编程工具、eCos和Linux操作系统以及一种为本书特别定制的低成本硬件平台。若你获得了《嵌入式系统编程》第二版的这些工具,你将拥有一个完整的开发环境以探寻嵌入式系统中的深邃奥秘。即便你使用不同的硬件和软件,本书所提及的原理一样适用。
无论是嵌入式系统新手,还是已在嵌入式系统上做了大量工作的专业人员,你都会从本书讨论的话题中受益,它们包括:
*基本调试技巧——在小巧的嵌入式系统上工作所需的关键技能
*中断,芯片内部与外围设备的监控
*确定是否存在实时需求以及你的操作系统和应用程序是否能满足这些需求
*在实时操作系统和嵌入式Linux中实现任务同步
*优化嵌入式软件的大小、运行速度和能耗
无论你正在编写第一个嵌入式程序、设计最新潮的手持设备,还是管理一群嵌入式开发工程师,《嵌入式系统编程》第二版都将帮助你提升相关知识和技能,直至你精熟嵌入式软件。
第一版获得的赞誉:
“这本生动而又好读的书,是为那些第一次深入嵌入式系统软件开发领域探险的人们所准备的最佳入门读物。它搜罗了程序员在嵌入式开发过程中必须了解的所有重要话题并于一本书里同时呈现。”
—— Lindsey Vereen,Editor-in-Chief,Embedded Systems Programming
  1. Foreword
  2. Preface
  3. 1. Introduction
  4. What Is an Embedded System?
  5. Variations on a Theme
  6. Embedded Design Examples
  7. Life As an Embedded Software Developer
  8. The C Language: The Lowest Common Denominator
  9. A Few Words About Hardware
  10. 2. Getting to Know the Hardware
  11. Understanding the Big Picture
  12. Hardware Basics
  13. Examine the Landscape
  14. Learn How to Communicate
  15. Getting to Know the Processor
  16. Study the External Peripherals
  17. Initialize the Hardware
  18. 3. Your First Embedded Program
  19. Hello, World!
  20. The Blinking LED Program
  21. The Role of the Infinite Loop
  22. 4. Compiling, Linking, and Locating
  23. The Build Process
  24. Building the Blinking LED Program
  25. A Quick Look at Makefiles
  26. 5. Downloading and Debugging
  27. Downloading the Blinking LED Program
  28. Remote Debuggers
  29. Emulators
  30. Other Useful Tools
  31. Dig into the Hardware
  32. 6. Memory
  33. Types of Memory
  34. Direct Memory Access
  35. Endian Issues
  36. Memory Testing
  37. Validating Memory Contents
  38. Using Flash Memory
  39. 7. Peripherals
  40. Control and Status Registers
  41. The Device Driver Philosophy
  42. Device Driver Design
  43. 8. Interrupts
  44. Overview
  45. Interrupt Map
  46. Interrupt Service Routine
  47. The Improved Blinking LED Program
  48. Summary of Interrupt Issues
  49. 9. Putting It All Together
  50. Application Overview
  51. Working with Serial Ports
  52. Command-Line Interface Processing
  53. 10. Operating Systems
  54. History and Purpose
  55. The Scheduler
  56. Tasks
  57. Task Synchronization
  58. Message Passing
  59. Other Functionality
  60. Interrupt Handling
  61. Real-Time Characteristics
  62. To Use or Not to Use an RTOS
  63. Additional Resources
  64. 11. eCos Examples
  65. Introduction
  66. Task Mechanics
  67. Mutex Task Synchronization
  68. Semaphore Task Synchronization
  69. Message Passing
  70. eCos Interrupt Handling
  71. 12. Embedded Linux Examples
  72. Introduction
  73. Accessing Hardware in Linux
  74. Task Mechanics
  75. Mutex Task Synchronization
  76. Semaphore Task Synchronization
  77. Message Passing
  78. 13. Extending Functionality
  79. Common Peripherals
  80. Networking for All Devices Great and Small
  81. 14. Optimization Techniques
  82. Increasing Code Efficiency
  83. Decreasing Code Size
  84. Problems with Optimizing Compilers
  85. Reducing Memory Usage
  86. Power-Saving Techniques
  87. Limiting the Impact of C++
  88. A. The Arcom VIPER-Lite Development Kit
  89. B. Setting Up Your Software Development Environment
  90. C. Building the GNU Software Tools
  91. D. Setting Up the eCos Development Environment
  92. E. Setting Up the Embedded Linux Development Environment
  93. Index
书名:嵌入式系统编程(第二版,影印版)
国内出版社:东南大学出版社
出版时间:2007年07月
页数:301
书号:978-7-5641-0772-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.
 
 
The insects on the cover of Programming Embedded Systems with C and GNU Development Tools, Second Edition, are ticks. There are approximately 850 species of these small to microscopic, blood-feeding parasites distributed worldwide. They are particularly abundant in tropical and subtropical regions. There are two main families of ticks: hard ticks, whose mouth parts are visible from above, and soft ticks,whose mouth parts are hidden.
In both hard and soft ticks, the mouth is made up of three major parts: the palps, the chelicerae, and the hypostome. It is the hypostome that is inserted into the host's skin while the tick is feeding. Aseries of backward-facing projections on the hypostome make it difficult to remove the tick from the skin. Most ticks also secrete a sticky substance that glues them into place. This substance dissolves when the tick is done feeding. Their external body surface expands from 200 to 600 percent to accommodate the blood that is ingested.
Ticks go through three life stages: larva, nymph, and adult. At each stage they feed on a mammal, reptile, or bird host. Ticks wait for a host by perching on leaves or other surfaces with their front two legs extended. When a host brushes up against them they latch on and attach themselves. Adult female hard ticks lay a single batch of thousands of eggs and then die. Adult male ticks also die after a single mating.
As parasites go, ticks can be very nasty. They transmit more disease than any other blood-sucking parasite, including Lyme disease, Rocky Mountain spotted fever, and relapsing fever. They can also cause excessive blood loss. Some ticks secrete nerve poisons that can potentially cause death. Atick can be removed from skin by grasping it with a tweezer or a special tick-removing device as close to the skin as possible, and pulling in one steady motion. Do not squeeze the tick. Immediately flush it down the toilet—or place it in a sealed container and hold onto it for one month, in case you develop symptoms of a disease.