Muutke küpsiste eelistusi

Embedded Multitasking [Pehme köide]

(Principal Applications Engineer, Microchip, Chandler, AZ, USA.)
  • Formaat: Paperback / softback, 416 pages, kõrgus x laius: 235x191 mm, kaal: 880 g
  • Sari: Embedded Technology
  • Ilmumisaeg: 09-Mar-2006
  • Kirjastus: Newnes (an imprint of Butterworth-Heinemann Ltd )
  • ISBN-10: 0750679182
  • ISBN-13: 9780750679183
Teised raamatud teemal:
  • Formaat: Paperback / softback, 416 pages, kõrgus x laius: 235x191 mm, kaal: 880 g
  • Sari: Embedded Technology
  • Ilmumisaeg: 09-Mar-2006
  • Kirjastus: Newnes (an imprint of Butterworth-Heinemann Ltd )
  • ISBN-10: 0750679182
  • ISBN-13: 9780750679183
Teised raamatud teemal:
In an embedded system, firmware is the software that directly interfaces with the microcontroller, controlling the system's function. The major forces driving the embedded firmware development process today are reduced development times, increased complexity, and the need to handle multiple tasks simultaneously. These forces translate into strenuous design requirements for embedded engineers and programmers. Many low-level embedded microcontroller designs have insufficient memory and/or architectural limitations that make the use of a real-time operating system impractical. The techniques presented in this book allow the design of robust multitasking firmware through the use of interleaved state machines. This book presents a complete overview of multitasking terminology and basic concepts. Practical criteria for task selection and state machine design are also discussed.
Designing multitasking firmware is arduous, complex and fraught with potential for errors, and there is no one, standard way to do it. This book will present a complete and well-organized design approach with examples and sample source code that designers can follow.

* Covers every aspect of design from the system level to the component level, including system timing, communicating with the hardware, integration and testing.
* Accompanying CD-ROM contains the source code for the text examples and other useful design tools.

Muu info

Let the operating system be the boss with this well-organized design approach to multitasking software!
About the Author xi
What's on the CD-ROM? xiii
1 What's In This Book, and Why Should I Read It? 1(18)
Engineering and Profits
4(15)
2 Basic Embedded Programming Concepts 19(92)
Numbering Systems
20(13)
Binary Numbers
22(1)
Signed Binary Numbers
23(2)
Fixed-Point Binary Numbers
25(2)
Floating-Point Binary Numbers
27(1)
Alternate Numbering Systems
28(1)
Binary-Coded Decimal
29(1)
ASCII
30(2)
Error Detection
32(1)
Data Structures
33(18)
Simple Data Types
34(9)
Complex Data Types
43(8)
Communications Protocols
51(10)
Simple Data Broadcast
51(3)
Event-Driven Single Transfer
54(2)
Event-Driven Multielement Transfers
56(5)
Mathematics
61(8)
Binary Addition and Subtraction
61(3)
Binary Multiplication
64(2)
Binary Division
66(3)
Numeric Comparison
69(14)
Conditional Statements
71(7)
Loops
78(3)
Other Flow Control Statements
81(2)
State Machines
83(16)
Data-Indexed State Machines
89(3)
Execution-Indexed State Machines
92(5)
Hybrid State Machines
97(2)
Multitasking
99(12)
Four Basic Requirements of Multitasking
101(1)
Context Switching
101(1)
Communications
102(1)
Managing Priorities
102(1)
Timing Control
103(1)
Operating Systems
103(5)
State Machine Multitasking
108(3)
3 System-Level Design 111(92)
Dissecting the Requirements Document
113(44)
Function List
114(1)
Function List Questions
115(5)
The User Interface
120(9)
Communications
129(10)
Timing Requirements
139(7)
System Priorities
146(8)
Error Handling
154(3)
System-Level Design
157(46)
Task Definition
158(3)
Criteria for Compatible Software Functions
161(3)
Criteria for Incompatible Software Functions
164(7)
Communications
171(11)
Timing Analysis
182(7)
Priority Handler
189(3)
Error Recovery
192(6)
System-Level Design Documentation
198(5)
4 Component-Level Design 203(86)
Task State Machines
203(20)
Communications
223(17)
System Timing
240(12)
Priority Handler
252(19)
Error Recovery System
271(18)
5 Implementation and Testing 289(90)
Building a Testing Driver Routine
307(72)
6 Does It Do the Job? 379(4)
Index 383


Keith E. Curtis earned a BSEE from Montana State University. Following graduation, he was employed by Tele-Tech Corporation as a design and project engineer, and also began consulting part-time as an embedded engineer. He was then employed by Bally Gaming in Las Vegas as an engineer and later the electronics engineering manager, working for various Nevada gaming companies in both design and management. In 2000 he began work as a Principal Application Engineer for Microchip, where he is still employed.He has written a number of articles and regularly gives a popular course on multitasking firmware design at the Embedded Systems Conference.