Limited Offer
DSP Software Development Techniques for Embedded and Real-Time Systems
- 1st Edition - December 28, 2005
- Author: Robert Oshana
- Language: English
- Paperback ISBN:9 7 8 - 0 - 7 5 0 6 - 7 7 5 9 - 2
- eBook ISBN:9 7 8 - 0 - 0 8 - 0 4 9 1 1 9 - 6
Today's embedded and real-time systems contain a mix of processor types: off-the-shelf microcontrollers, digital signal processors (DSPs), and custom processors. The decreasing… Read more
Purchase options
Institutional subscription on ScienceDirect
Request a sales quote- Digital signal processors (DSPs) are the future of microchips!
- Includes practical guidelines, diagrammed techniques, tool descriptions, and code templates to aid in the development and optimization of DSP software and firmware
Dedication
Acknowledgments
Introduction: Why Use a DSP?
Chapter 1: Introduction to Digital Signal Processing
What is Digital Signal Processing
A Brief History of Digital Signal Processing
Advantages of DSP
DSP Systems
Analog-to-Digital Conversion
Digital-to-Analog Conversion
Applications for DSPs
Power Efficient DSP Applications
High Performance DSP Applications
Conclusion
Chapter 2: Overview of Embedded Systems and Real-Time Systems
Introduction
Real-Time Systems
Hard Real-Time and Soft Real-Time Systems
DSP Systems are Hard Real-Time
Efficient Execution and the Execution Environment
Challenges in Real-Time System Design
Embedded Systems
Summary
Chapter 3: Overview of Embedded Systems Development Life Cycle Using DSP
Embedded Systems
The Embedded System Life Cycle Using DSP
Chapter 4: Overview of Digital Signal Processing Algorithms
Definition of an Algorithm
DSP Systems
Analog-to-Digital Conversion
An Audio Example
The Nyquist Criteria
Aliasing
Anti-Aliasing Filter
Sample Rate and Processor Speed
A to D Converters
Digital-to-Analog Conversion
Multirate Applications
Summary of Sampling
Introduction to Filters
Summary of Filter Types
Finite Impulse Response (FIR) Filters
Basic FIR Optimizations for DSP Devices
Summary of FIR Filters
Infinite Impulse Response Filters
IIR As a Difference Equation
IIR As a Transfer Function
IIR Filter Design
IIR Trade-Offs
DSP Architecture Optimization for Filter Implementation
Fast Fourier Transforms
Time vs. Frequency
Forms of the FFT Algorithm
FFT Implementation Issues
Chapter 5: DSP Architectures
Fast, Specialized Arithmetic
High Bandwidth Memory Architectures
Pipelined Processing
Specialized Instructions and Address Modes
Examples of DSP Architectures
Chapter 6: Optimizing DSP Software
Introduction
What Is Optimization?
The Process
Make The Common Case Fast
Make the Common Case Fast—DSP Architectures
Make the Common Case Fast—DSP Algorithms
Make the Common Case Fast—DSP Compilers
An In-Depth Discussion of DSP Optimization
Direct Memory Access
Managing Internal Memory
Loop Unrolling
Software Pipelining
More on DSP Compilers and Optimization
Programmer Helping Out the Compiler
Profile-Based Compilation
Chapter 7: Power Optimization Techniques Using DSP
Introduction
Power Optimization Techniques in DSP Devices
Power Optimization for DSP Operating Systems
Power Optimization Techniques for DSP Applications
Using Idle Modes
Top Ten Power Optimizations
Power Optimization Life Cycle
Power Optimization Summary
Chapter 8: Real-Time Operating Systems for DSP
What Makes an OS an RTOS?
Concepts of RTOS
Chip Support Software for DSP RTOS
DSP RTOS Application Example
Summary
Deadlock
Shared Resource Integrity
Synchronizing Tasks for Mutual Exclusion
Mutual Exclusion Through Sharable Resources
Pseudocode for Telecommunication System Tasks
Other Kinds of Synchronization
Summary
Schedulability and Response Times
Scheduling Policies in Real-Time Systems
Analyzing Scheduling Behavior in Preemptive Systems
Analyzing More Complex Systems
Summary
Chapter 9: Testing and Debugging DSP Systems
On-Chip Emulation Capability
Emulation Capabilities
High-Speed Data Collection and Visualization
Compiler and Linker Dependencies
Real-Time Embedded Software Testing Techniques
Task Synchronization and Interrupt Bugs
Chapter 10: Managing the DSP Software Development Effort
Overview
Challenges in DSP Application Development
The DSP Design Process
Design Challenges for DSP Systems
High Level Design Tools for DSP
DSP Toolboxes
Host Development Tools for DSP Development
A Generic Data Flow Example
Code Tuning and Optimization
Putting it all Together
Chapter 11: Embedded DSP Software Design Using Multicore System-on-a-Chip (SoC) Architectures
Multicore System-on-a-Chip
Software Architecture for SoC
SoC System Boot Sequence
Tools Support for SoC
A Video Processing Example of SoC
Chapter 12: The Future of DSP Software Technology
Changes in DSP Technology—Hardware and Software
Foundations for Software Components
From Closed to Open Embedded Systems
Away From Undifferentiated Hacking
Conclusion
A: Software Performance Engineering of an Embedded DSP System Application
B: More Tips and Tricks for DSP Optimization
C: Cache Optimization in DSP and Embedded Systems
D: Specifying Behavior of Embedded DSP Systems
E: Analysis Techniques for Real-Time DSP Systems
F: DSP Algorithmic Development—Rules and Guidelines
About the Author
Index
- No. of pages: 608
- Language: English
- Edition: 1
- Published: December 28, 2005
- Imprint: Newnes
- Paperback ISBN: 9780750677592
- eBook ISBN: 9780080491196
RO