DSP Software Development Techniques for Embedded and Real-Time Systems (Paperback)
暫譯: 嵌入式與即時系統的DSP軟體開發技術 (平裝本)

Robert Oshana

買這商品的人也買了...

商品描述

Description 

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 cost of DSPs has made these sophisticated chips very attractive for a number of embedded and real-time applications, including automotive, telecommunications, medical imaging, and many others—including even some games and home appliances. However, developing embedded and real-time DSP applications is a complex task influenced by many parameters and issues.

This introduction to DSP software development for embedded and real-time developers shows how to use digital signal processors efficiently in embedded and real-time systems. It covers software and firmware design principles, from processor architectures and basic theory to the selection of appropriate languages and basic algorithms. The reader will find practical guidelines, diagrammed techniques, tool descriptions, and code templates for developing and optimizing DSP software and firmware. The book also covers integrating and testing DSP systems as well as managing the DSP development effort. The accompanying CDROM contains the code from the design examples as well as design tools and product demos.

 

Table of Contents

Introduction to Digital Signal Processing: What is Digital Signal Processing?, History of Digital Signal Processing, Advantages of DSP, DSP Systems, Applications for DSP, Low cost applications, Power Efficient applications,High Performance applications; Embedded Systems and Real-Time systems: Overview of embedded systems, Characteristics of embedded systems, Requirements for embedded systems, Examples of embedded systems, Embedded processor alternatives, Trends in embedded systems, Overview of real-time systems, Characteristics of real-time systems, Hard real-time and soft real-time systems; Introduction to DSP Algorithms: FFT Algorithms, FIR and IIR Filters, Adaptive algorithms, Noise reduction algorithms,Echo cancellation algorithms; Digital Signal Processor Architectures: Processor architecture fundamentals, DSP instruction sets, Selecting a processor architecture, DSP versus General Purpose Processors, Architecture styles, Superscalar, Very Long Instruction Word (VLIW, Advanced architectures); Optimizing DSP Software: What is optimization?, Optimizing compilers, Compiler optimization methods, Constant arithmetic, Constant propogation, Common subexpression elimination, Loop invariant code motion, Strength reduction, Memory disambiguation, Optimizing your application by knowing the DSP architecture, Optimizing your application by knowing the compiler, Optimizing your application by knowing the algorithm, Optimization techniques, Using Direct Memory Access, Software Pipelining, Loop Unrolling, Algorithmic transformation, Other optimization techniques, Optimization guidelines, Optimizing for Power, Optimizing for speed, Optimizing for memory, Portability issues, "Out of the box" code, "Tuned" code, Optimized code, Intrinsics and other hints to the compiler, The performance versus memory tradeoff; Real-time operating systems for DSP: Real-time system demands, Real-time programming environments, Real Time Operating Systems, Scheduling algorithms, Problem-domain characteristics that drive the scheduling model, Thread support, Interrupts, Rate Monotonic Analysis, Alternatives to RTOS; Integrating and Testing DSP systems: Challenges for the embedded system developer, Basic emulation capabilities, DSP debug methods, Profiling the application, Integrating and testing DSP systems, JTAG, Trace functions, Special considerations for system on a chip; Managing the DSP Development Effort: Software development life-cycle approaches, Hardware/Software co-design issues, DSP development flow, DSP development tools, Case study; DSP Components and Frameworks: What is a component?, DSP components, Software development using components, What is a Framework?, DSP Frameworks, Developing DSP systems using Frameworks, Example DSP framework, Putting it all together -Programming in the Large; Future of DSP: DSP systems, Multiprocessor systems, Heterogeneous systems, Multicore systems; Appendix A: Case study of Software Performance Engineering.

商品描述(中文翻譯)

**描述**

今天的嵌入式和即時系統包含多種處理器類型的混合:現成的微控制器、數位信號處理器(DSP)和自訂處理器。DSP 的成本逐漸降低,使這些複雜的晶片在許多嵌入式和即時應用中變得非常有吸引力,包括汽車、電信、醫療影像等,甚至還包括一些遊戲和家用電器。然而,開發嵌入式和即時 DSP 應用是一項複雜的任務,受到許多參數和問題的影響。

這本針對嵌入式和即時開發者的 DSP 軟體開發入門書,展示了如何在嵌入式和即時系統中有效使用數位信號處理器。它涵蓋了從處理器架構和基本理論到選擇適當語言和基本演算法的軟體和韌體設計原則。讀者將找到實用的指導方針、圖示技術、工具描述和開發及優化 DSP 軟體和韌體的程式碼範本。這本書還涵蓋了 DSP 系統的整合和測試,以及管理 DSP 開發工作的相關內容。隨書附贈的 CD-ROM 包含設計範例中的程式碼,以及設計工具和產品示範。

**目錄**

數位信號處理簡介:什麼是數位信號處理?、數位信號處理的歷史、DSP 的優勢、DSP 系統、DSP 的應用、低成本應用、功率效率應用、高性能應用;嵌入式系統和即時系統:嵌入式系統概述、嵌入式系統的特徵、嵌入式系統的要求、嵌入式系統的範例、嵌入式處理器選擇、嵌入式系統的趨勢、即時系統概述、即時系統的特徵、硬即時和軟即時系統;DSP 演算法簡介:FFT 演算法、FIR 和 IIR 濾波器、自適應演算法、噪音減少演算法、回音消除演算法;數位信號處理器架構:處理器架構基礎、DSP 指令集、選擇處理器架構、DSP 與通用處理器的比較、架構風格、超標量、非常長指令字(VLIW)、先進架構;優化 DSP 軟體:什麼是優化?、優化編譯器、編譯器優化方法、常數運算、常數傳播、公共子表達式消除、迴圈不變代碼移動、強度減少、記憶體消歧義、通過了解 DSP 架構來優化應用、通過了解編譯器來優化應用、通過了解演算法來優化應用、優化技術、使用直接記憶體存取、軟體管線化、迴圈展開、演算法轉換、其他優化技術、優化指導方針、為功率優化、為速度優化、為記憶體優化、可攜性問題、「開箱即用」的程式碼、「調整過」的程式碼、優化過的程式碼、內建函數及其他編譯器提示、性能與記憶體的權衡;DSP 的即時作業系統:即時系統需求、即時程式設計環境、即時作業系統、排程演算法、驅動排程模型的問題領域特徵、執行緒支援、中斷、速率單調分析、RTOS 的替代方案;整合和測試 DSP 系統:嵌入式系統開發者面臨的挑戰、基本模擬能力、DSP 除錯方法、應用程式分析、整合和測試 DSP 系統、JTAG、追蹤功能、系統單晶片的特殊考量;管理 DSP 開發工作:軟體開發生命週期方法、硬體/軟體共同設計問題、DSP 開發流程、DSP 開發工具、案例研究;DSP 元件和框架:什麼是元件?、DSP 元件、使用元件的軟體開發、什麼是框架?、DSP 框架、使用框架開發 DSP 系統、範例 DSP 框架、整合所有內容 - 大型程式設計;DSP 的未來:DSP 系統、多處理器系統、異構系統、多核心系統;附錄 A:軟體性能工程案例研究。