foreword to the first edition
preface to the first edition
preface to the second edition
preface to the third edition
chapter 1 embedded computing
1.1 introduction
1.2 complex systems and microprocessors
1.3 the embedded system design process
1.4 design example: model train controller
1.5 a guided tour of this book
1.6 summary
what we learned
further reading
questions
lab exercises
chapter 2 instruction sets
2.1 introduction
2.2 preliminaries
2.3 arm processor
2.4 picmicro mid-range family
2.5 ti c55x dsp
2.6 ti c64x
2.7 summary
what we learned
further reading
questions
lab exercises
chapter 3 cpus
3.1 introduction
3.2 programming input and output
3.3 supervisor mode, exceptions, and traps
3.4 co-processors
3.5 memory system mechanisms
3.6 cpu performance
3.7 cpu power consumption
3.8 design example: data compressor
3.9 summary
what we learned
further reading
questions
lab exercises
chapter4 computing platforms
4.1 introduction
4.2 basic computing platforms
4.3 the cpu bus
4.4 memory devices and systems
4.5 designing with computing platforms
4.6 consumer electronics architecture
4.7 platform-level performance analysis
4.8 design example: alarm clock
4.9 design example: audio player
4.10 summary.
what we learned
further reading
questions
lab exercises
chapter 5 program design and analysis
5.1 introduction
5.2 components for embedded programs
5.3 models of programs
5.4 assembly, linking, and loading,
5.5 compilation techniques
5.6 program-level performance analysis
5.7 software performance optimization
5.8 program-level energy and power analysis and optimization
5.9 analysis and optimization of program size
5.10 program validation and testing
5.11 design example: software modem
5.12 design example: digital still camera
5.13 summary
what we learned
further reading
questions
lab exercises
chapter 6 processes and operating systems
6.1 introduction
6.2 multiple tasks and multiple processes
6.3 multirate systems
6.4 preemptive real-time operating systems
6.5 priority-based scheduling
6.6 interprocess communication mechanisms
6.7 evaluating operating system performance
6.8 power optimization strategies for processes
6.9 example real-time operating systems
6.10 design example: telephone answering machine
6.11 design example: engine control unit
6.12 summary
what we learned
further reading
questions
lab exercises
chapter 7 system design techniques
7.1 introduction
7.2 design methodologies
7.3 requirements analysis
7.4 specifications
7.5 system analysis and architecture design
7.6 quality assurance
7.7 summary
what we learned
further reading
questions
lab exercises
chapter 8 networks and multiprocessors
8.1 introduction
8.2 why networks and multiprocessors?
8.3 categories of multiprocessors
8.4 distributed embedded systems
8.5 mpsocs and shared memory multiprocessors
8.6 design example: video accelerator
8.7 application example: compact disc
8.8 summary
what we leamed
further reading
questions
lab exercises
glossary
references
index