home | login | register | DMCA | contacts | help | donate |      

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


my bookshelf | genres | recommend | rating of books | rating of authors | reviews | new | форум | collections | читалки | авторам | add

Programming Embedded Systems in C and C++

Programming Embedded Systems in C and C++
Title: Programming Embedded Systems in C and C++
Author:
Оценка: 4.4 of 5, readers votes - 48
Genre: computers
Annotation:This book introduces embedded systems to C and C++ programmers. Topics include testing memory devices, writing and erasing Flash memory, verifying nonvolatile memory contents, controlling on-chip peripherals, device driver design and implementation, optimizing embedded code for size and speed, and making the most of C++ without a performance penalty.
Table of Contents:

hide Table of Contents

  1. Programming Embedded Systems in C and C++
  2. Preface
  3. Why I Wrote This Book
  4. Intended Audience
  5. Organization
  6. Conventions, Typographical and Otherwise
  7. Obtaining the Examples Online
  8. How to Contact Us
  9. Personal Comments and Acknowledgments
  10. Chapter 1. Introduction
  11. 1.1 What Is an Embedded System?
  12. 1.1.1 History and Future
  13. 1.1.2 Real-Time Systems
  14. 1.2 Variations on the Theme
  15. Processing power
  16. Memory
  17. Development cost
  18. Number of units
  19. Expected lifetime
  20. Reliability
  21. 1.2.1 Digital Watch
  22. 1.2.2 Video Game Player
  23. 1.2.3 Mars Explorer
  24. 1.3 C: The Least Common Denominator
  25. 1.3.1 Other Embedded Languages
  26. 1.3.2 Choosing a Language for the Book
  27. 1.4 A Few Words About Hardware
  28. Chapter 2. Your First Embedded Program
  29. 2.1 Hello, World!
  30. 2.2 Das Blinkenlights
  31. 2.2.1 toggleLed
  32. 2.2.2 delay
  33. 2.3 The Role of the Infinite Loop
  34. Chapter 3. Compiling, Linking, and Locating
  35. 3.1 The Build Process
  36. 3.2 Compiling
  37. 3.3 Linking
  38. Startup Code
  39. 3.4 Locating
  40. 3.5 Building das Blinkenlights
  41. Chapter 4. Downloading and Debugging
  42. 4.1 When in ROM …
  43. 4.2 Remote Debuggers
  44. 4.3 Emulators
  45. 4.3.1 ROM Emulators
  46. 4.4 Simulators and Other Tools
  47. Chapter 5. Getting to Know the Hardware
  48. 5.1 Understand the Big Picture
  49. 5.2 Examine the Landscape
  50. 5.2.1 Memory Map
  51. Pointers Versus Addresses
  52. 5.2.2 I/O Map
  53. 5.3 Learn How to Communicate
  54. 5.3.1 Interrupt Map
  55. 5.4 Get to Know the Processor
  56. 5.4.1 Processors in General
  57. 5.4.2 Intels 80188EB Processor
  58. 5.6 Initialize the Hardware
  59. 6.1.1 Types of RAM
  60. DRAM Controllers
  61. 6.1.2 Types of ROM
  62. 6.1.3 Hybrid Types
  63. 6.2 Memory Testing
  64. Direct Memory Access
  65. 6.2.1 Common Memory Problems
  66. 6.2.1.1 Electrical wiring problems
  67. 6.2.1.2 Missing memory chips
  68. 6.2.1.3 Improperly inserted chips
  69. 6.2.2 Developing a Test Strategy
  70. 6.2.2.1 Data bus test
  71. 6.2.2.2 Address bus test
  72. 6.2.2.3 Device test
  73. 6.2.2.4 Putting it all together
  74. 6.3 Validating Memory Contents
  75. 6.3.1 Checksums
  76. 6.3.2 Cyclic Redundancy Codes
  77. 6.4 Working with Flash Memory
  78. 6.4.1 Flash Drivers
  79. 7.1 Control and Status Registers
  80. 7.2 The Device Driver Philosophy
  81. 1. A data structure that overlays the memory-mapped control and status registers of the device
  82. 2. A set of variables to track the current state of the hardware and device driver
  83. 3. A routine to initialize the hardware to a known state
  84. 4. A set of routines that, taken together, provide an API for users of the device driver
  85. 5. One or more interrupt service routines
  86. 7.3 A Simple Timer Driver
  87. Watchdog Timers
  88. 8.2 A Decent Embedded Operating System
  89. 8.2.1 Tasks
  90. 8.2.1.1 Task states
  91. 8.2.1.2 Task mechanics
  92. Application Programming Interfaces
  93. 8.2.2 Scheduler
  94. 8.2.2.1 Scheduling points
  95. 8.2.2.2 Ready list
  96. 8.2.2.3 Idle task
  97. 8.2.2.4 Scheduler
  98. 8.2.3 Context Switch
  99. 8.2.4 Task Synchronization
  100. 8.2.4.1 Critical sections
  101. Deadlock and Priority Inversion
  102. 8.3 Real-Time Characteristics
  103. 8.4 Selection Process
  104. 9.2 Flashing the LED
  105. 9.4 Working with Serial Ports
  106. 9.5 The Zilog 85230 Serial Controller
  107. 10.1 Increasing Code Efficiency
  108. Inline functions
  109. Table lookups
  110. Hand-coded assembly
  111. Register variables
  112. Global variables
  113. Polling
  114. Fixed-point arithmetic
  115. 10.2 Decreasing Code Size
  116. Avoid standard library routines
  117. Native word size
  118. Goto statements
  119. 10.3 Reducing Memory Usage
  120. 10.4 Limiting the Impact of C++
  121. The Embedded C++ Standard
  122. Glossary
  123. A
  124. B
  125. C
  126. D
  127. E
  128. F
  129. G
  130. H
  131. I
  132. L
  133. M
  134. N
  135. O
  136. P
  137. R
  138. S
  139. T
  140. V
  141. W
  142. Bibliography
  143. 12.1 Books
  144. 12.2 Magazines and Conferences
  145. 12.3 World Wide Web
  146. Colophon
  147. Примечания


Rate this book  


Read this book now: Programming Embedded Systems in C and C++

Download (239k) in formats: fb2, epub, mobi, txt, html

close [X]

close [X]


Reviews


Enter your name:     Rate this book

Enter your comments or review:


получать комментарии о книге Programming Embedded Systems in C and C++ на e-mail

Anti-spam code Anti spam Capcha