Embedded Systems Design: An Introduction to Processes, Tools, and Techniques / Edition 1

Embedded Systems Design: An Introduction to Processes, Tools, and Techniques / Edition 1

by Arnold S. Berger, Berger
     
 

* Hardware/Software Partitioning
• Cross-Platform Development
• Firmware Debugging
• Performance Analysis
• Testing & Integration Get into embedded systems programming with a clear understanding of the development cycle and the specialized aspects of

Understand the embedded systems development cycle and the specialized aspects

See more details below

Overview

* Hardware/Software Partitioning
• Cross-Platform Development
• Firmware Debugging
• Performance Analysis
• Testing & Integration Get into embedded systems programming with a clear understanding of the development cycle and the specialized aspects of

Understand the embedded systems development cycle and the specialized aspects of writing software in this environment. You get clear explanations of how cross-development environments work, software/hardware integration techniques, and the key methods and technologies for each phase of the development process.

Product Details

ISBN-13:
9781578200733
Publisher:
Taylor & Francis
Publication date:
12/15/2001
Edition description:
New Edition
Pages:
272
Product dimensions:
7.40(w) x 9.18(h) x 0.68(d)

Table of Contents

Preface ..... vii
Introduction ..... ix
Microprocessors in the Auto Industry ..... ix
Microprocessors in the Air Travel Industry ..... x
Microprocessors in the Games Market ..... x
Why Embedded Systems Are Different ..... x
Summary ..... xix

Chapter 1: The Embedded Design Life Cycle ..... 1
Introduction ..... 1
Product Specification ..... 4
Hardware/Software Partitioning ..... 7
Iteration and Implementation ..... 10
Detailed Hardware and Software Design ..... 11
Hardware/Software Integration ..... 12
Product Testing and Release ..... 15
Who Does the Testing? ..... 17
Maintaining and Upgrading Existing Products ..... 17
Summary ..... 19
Work Cited ..... 19

Chapter 2: The Selection Process ..... 21
Packaging the Silicon ..... 23
Microprocessor versus Microcontroller ..... 24
Silicon Economics ..... 25
Using the Core As the Basis of a Microcontroller ..... 25
System-on-Silicon (SoS) ..... 26
Adequate Performance ..... 26
Performance-Measuring Tools ..... 26
Meaningful Benchmarking ..... 28
Running Benchmarks ..... 31
RTOS Availability ..... 32
Language/Microprocessor Support ..... 32
Tool Compatibility ..... 34
Performance ..... 35
Device Drivers ..... 35
Debugging Tools ..... 36
Standards Compatibility ..... 36
Technical Support ..... 36
Source Code versus Object Code ..... 37
Services ..... 37
Tool Chain Availability ..... 38
Compilers ..... 39
Hardware and Software Debugging Tools ..... 40
Other Issues in the Selection Process ..... 41
A Prior Commitment to a Particular Processor Family ..... 41
A Prior Restriction on Language ..... 42
Time to Market ..... 42
Additional Reading ..... 44
Summary ..... 45
Works Cited ..... 45

Chapter 3: The Partitioning Decision ..... 47
Hardware/Software Duality ..... 48
Hardware Trends ..... 50
"Coding" Hardware ..... 52
The ASIC Revolution ..... 55
ASICs and Revision Costs ..... 57
Managing the Risk ..... 59
Co-Verification ..... 61
Additional Reading ..... 66
Summary ..... 66
Works Cited ..... 67

Chapter 4: The Development Environment ..... 69
Introduction ..... 69
The Execution Environment ..... 70
Memory Organization ..... 70
System Space ..... 71
Code Space ..... 71
Data Space ..... 71
Unpopulated Memory Space ..... 72
I/O Space ..... 73
System Startup ..... 73
Interrupt Response Cycle ..... 74
Function Calls and Stack Frames ..... 75
Run-Time Environment ..... 78
Object Placement ..... 82
Additional Reading ..... 86
Summary ..... 87
Works Cited ..... 88

Chapter 5: Special Software Techniques ..... 89
Manipulating the Hardware ..... 89
Inline Assembly ..... 90
Memory-Mapped Access ..... 91
Bitwise Operations ..... 92
Using the Storage Class Modifier Volatile ..... 93
Speed and Code Density ..... 94
Interrupts and Interrupt Service Routines (ISRs) ..... 96
From Polling Loop to Interrupt-Driven ..... 96
Nested Interrupts and Reentrancy ..... 97
Measuring Execution Time ..... 99
Watchdog Timers ..... 101
Watchdog Timer: Debugging the Target System ..... 102
Flash Memory ..... 102
Design Methodology ..... 104
Additional Reading ..... 107
Summary ..... 108
Works Cited ..... 108

Chapter 6: A Basic Toolset ..... 111
Host-Based Debugging ..... 112
Word Size ..... 112
Byte Order ..... 112
Remote Debuggers and Debug Kernels ..... 116
ROM Emulator ..... 122
Limitations ..... 124
Intrusiveness and Real-Time Debugging ..... 125
Logic Analyzer ..... 130
Timing Mode ..... 130
State Mode ..... 132
Triggers ..... 133
State Transitions ..... 137
Limitations ..... 139
Physical Connections ..... 139
Logic Analyzers and Caches ..... 140
Compiler Optimizations ..... 143
Cost Benefit ..... 143
Other Uses ..... 143
Statistical Profiling ..... 144
Summary ..... 147
Works Cited ..... 148

Chapter 7: BDM, JTAG, and Nexus ..... 149
Background Debug Mode ..... 150
Joint Test Action Group (JTAG) ..... 155
Nexus ..... 160
Summary ..... 165

Chapter 8: The ICE - An Integrated Solution ..... 167
Bullet-Proof Run Control ..... 168
Real-Time Trace ..... 170
Hardware Breakpoints ..... 174
Overlay Memory ..... 176
Timing Constraints ..... 179
Usage Issues ..... 182
Setting the Trigger ..... 183
Additional Reading ..... 184
Summary ..... 184
Work Cited ..... 185

Chapter 9: Testing ..... 187
Introduction ..... 187
Why Test? ..... 187
To Find the Bugs ..... 188
To Reduce Risk ..... 188
To Reduce Costs ..... 189
To Improve Performance ..... 190
When to Test? ..... 190
Unit Testing ..... 190
Regression Testing ..... .190
Which Tests? ..... 191
When to Stop? ..... 192
Choosing Test Cases ..... 193
Functional Tests ..... 193
Coverage Tests ..... 194
Testing Embedded Software.....196
Real-Time Failure Modes.....198
Measuring Test Coverage.....199
Performance Testing.....205
How to Test Performance.....206
Maintenance and Testing.....210
Additional Reading.....211
Summary.....211
Works Cited.....212

Chapter 10: The Future ..... 213
Reconfigurable Hardware ..... 213
Some Comments on the Tool Business ..... 218
Tool/Chip Tension ..... 224
Summary ..... 228
Works Cited ..... 229

Index

Read More

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >