Embedded Systems Design
An Introduction to Processes, Tools, and Techniques
Paperback Engels 2002 9781578200733Samenvatting
- 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 writing and testing software in this environment. Learn how to apply your development skills to new software and hardware tools you'll need to work effectively in this cross-development environment.
Learn the design considerations unique to embedded systems, a few of which include:
- Processor selection for optimal cost, system performance, and testability
- Software failure, the need for testing, and the use of the watchdog timer
- Writing code that directly manipulates the device hardware
- Code placement and memory space limitations
- Parallel HW/SW development and the hazards of system integration
- The need for dedicated debugging circuitry
- Tool requirements and the implications of tool intrusion
You get the key methods and technologies for each phase of the development process: specification, partition, design, integration, validation, and maintenance and upgrade. With these you will be able to:
- Appreciate the consequences of early design decisions
- Anticipate the potential pitfalls you may encounter in this new environment
- Make more effective use of embedded systems tools
- Survive the challenges in the parallel development process
And you will be prepared for the challenges of integrating your untested software with untested hardware by effectively using logic analyzers and ICEs (integrated circuit emulators) in basic debugging and test coverage measurement.
Dr. Arnold Berger holds a Ph.D. in materials science from Cornell University. During his years at Hewlett-Packard, he served as project manager for the HP64700 family of PC-based emulators and worked on the Teramac, an FPGA-based reconfigurable hardware accelerator. He subsequently managed third party tool support for AMD's 29K line of embedded microprocessors and served as director of research and development at toolmaker Applied Microsystems Corporation. Most recently he has assumed a full-time teaching role at University of Washington at Bothell, where he is helping to define and establish an embedded systems curriculum.
Specificaties
Lezersrecensies
Inhoudsopgave
Introduction
Microprocessors in the Auto Industry
Microprocessors in the Air Travel Industry
Microprocessors in the Games Market
Why Embedded Systems Are Different
Summary
Chapter 1
The Embedded Design Life Cycle
Introduction
Product Specification
Hardware/Software Partitioning
Iteration and Implementation
Detailed Hardware and Software Design
Hardware/Software Integration
Product Testing and Release
Who Does the Testing?
Maintaining and Upgrading Existing Products
Summary
Work Cited
Chapter 2
The Selection Process
Packaging the Silicon
Microprocessor versus Microcontroller
Silicon Economics
Using the Core As the Basis of a Microcontroller
System-on-Silicon (SoS)
Adequate Performance
Performance-Measuring Tools
Meaningful Benchmarking
Running Benchmarks
RTOS Availability
Language/Microprocessor Support
Tool Compatibility
Performance
Device Drivers
Debugging Tools
Standards Compatibility
Technical Support
Source Code versus Object Code
Services
Tool Chain Availability
Compilers
Hardware and Software Debugging Tools
Other Issues in the Selection Process
A Prior Commitment to a Particular Processor Family
A Prior Restriction on Language
Time to Market
Additional Reading
Summary
Works Cited
Chapter 3
The Partitioning Decision
Hardware/Software Duality
Hardware Trends
'Coding' Hardware
The ASIC Revolution
ASICs and Revision Costs
Managing the Risk
Co-Verification
Additional Reading
Summary
Works Cited
Chapter 4
The Development Environment
Introduction
The Execution Environment
Memory Organization
System Space
Code Space
Data Space
Unpopulated Memory Space
I/O Space
System Startup
Interrupt Response Cycle
Function Calls and Stack Frames
Run-Time Environment
Object Placement
Additional Reading
Summary
Works Cited
Chapter 5
Special Software Techniques
Manipulating the Hardware
Inline Assembly
Memory-Mapped Access
Bitwise Operations
Using the Storage Class Modifier Volatile
Speed and Code Density
Interrupts and Interrupt Service Routines (ISRs)
From Polling Loop to Interrupt-Driven
Nested Interrupts and Reentrancy
Measuring Execution Time
Watchdog Timers
Watchdog Timer: Debugging the Target System
Flash Memory
Design Methodology
Additional Reading
Summary
Works Cited
Chapter 6
A Basic Toolset
Host-Based Debugging
Word Size
Byte Order
Remote Debuggers and Debug Kernels
ROM Emulator
Limitations
Intrusiveness and Real-Time Debugging
Logic Analyzer
Timing Mode
State Mode
Triggers
State Transitions
Limitations
Physical Connections
Logic Analyzers and Caches
Compiler Optimizations
Cost Benefit
Other Uses
Statistical Profiling
Summary
Works Cited
Chapter 7
BDM, JTAG, and Nexus
Background Debug Mode
Joint Test Action Group (JTAG)
Nexus
Summary
Chapter 8
The ICE - An Integrated Solution
Bullet-Proof Run Control
Real-Time Trace
Hardware Breakpoints
Overlay Memory
Timing Constraints
Usage Issues
Setting the Trigger
Additional Reading
Summary
Work Cited
Chapter 9
Testing
Introduction
Why Test?
To Find the Bugs
To Reduce Risk
To Reduce Costs
To Improve Performance
When to Test?
Unit Testing
Regression Testing
Which Tests?
When to Stop?
Choosing Test Cases
Functional Tests
Coverage Tests
Testing Embedded Software
Real-Time Failure Modes
Measuring Test Coverage
Performance Testing
How to Test Performance
Maintenance and Testing
Additional Reading
Summary
Works Cited
Chapter 10
The Future
Reconfigurable Hardware
Some Comments on the Tool Business
Tool/Chip Tension
Summary
Works Cited
Index
Anderen die dit boek kochten, kochten ook
Rubrieken
- advisering
- algemeen management
- coaching en trainen
- communicatie en media
- economie
- financieel management
- inkoop en logistiek
- internet en social media
- it-management / ict
- juridisch
- leiderschap
- marketing
- mens en maatschappij
- non-profit
- ondernemen
- organisatiekunde
- personal finance
- personeelsmanagement
- persoonlijke effectiviteit
- projectmanagement
- psychologie
- reclame en verkoop
- strategisch management
- verandermanagement
- werk en loopbaan