Computer Hardware Algorithm Standard User's Guide
Table Of Contents
- Table of Contents
- Preface
- 1 Overview
- 2 General Programming Guidelines
- 3 Algorithm Component Model
- 3.1 Interfaces and Modules
- 3.1.1 External Identifiers
- 3.1.2 Naming Conventions
- 3.1.3 Module Initialization and Finalization
- 3.1.4 Module Instance Objects
- 3.1.5 Design-Time Object Creation
- 3.1.6 Run-Time Object Creation and Deletion
- 3.1.7 Module Configuration
- 3.1.8 Example Module
- 3.1.9 Multiple Interface Support
- 3.1.10 Interface Inheritance
- 3.1.11 Summary
- 3.2 Algorithms
- 3.3 Packaging
- 3.1 Interfaces and Modules
- 4 Algorithm Performance Characterization
- 5 DSP-Specific Guidelines
- 6 Use of the DMA Resource
- 6.1 Overview
- 6.2 Algorithm and Framework
- 6.3 Requirements for the Use of the DMA Resource
- 6.4 Logical Channel
- 6.5 Data Transfer Properties
- 6.6 Data Transfer Synchronization
- 6.7 Abstract Interface
- 6.8 Resource Characterization
- 6.9 Runtime APIs
- 6.10 Strong Ordering of DMA Transfer Requests
- 6.11 Submitting DMA Transfer Requests
- 6.12 Device Independent DMA Optimization Guideline
- 6.13 C6xxx Specific DMA Rules and Guidelines
- 6.14 C55x Specific DMA Rules and Guidelines
- 6.15 Inter-Algorithm Synchronization
- A Rules and Guidelines
- B Core Run-Time APIs
- C Bibliography
- D Glossary
Contents
Preface ............................................................................................................................... 7
1 Overview ................................................................................................................... 9
1.1 Scope of the Standard ............................................................................................ 10
1.1.1 Rules and Guidelines .................................................................................... 11
1.2 Requirements of the Standard .................................................................................. 11
1.3 Goals of the Standard ............................................................................................ 12
1.4 Intentional Omissions ............................................................................................ 12
1.5 System Architecture ............................................................................................... 13
1.5.1 Frameworks ............................................................................................... 13
1.5.2 Algorithms ................................................................................................. 14
1.5.3 Core Run-Time Support ................................................................................. 14
2 General Programming Guidelines ............................................................................... 15
2.1 Use of C Language ............................................................................................... 16
2.2 Threads and Reentrancy ......................................................................................... 16
2.2.1 Threads .................................................................................................... 16
2.2.2 Preemptive vs. Non-Preemptive Multitasking......................................................... 17
2.2.3 Reentrancy ................................................................................................ 17
2.2.4 Example ................................................................................................... 18
2.3 Data Memory....................................................................................................... 19
2.3.1 Memory Spaces .......................................................................................... 20
2.3.2 Scratch versus Persistent ............................................................................... 20
2.3.3 Algorithm versus Application ............................................................................ 22
2.4 Program Memory ................................................................................................. 23
2.5 ROM-ability ........................................................................................................ 23
2.6 Use of Peripherals ................................................................................................ 24
3 Algorithm Component Model ..................................................................................... 25
3.1 Interfaces and Modules ........................................................................................... 26
3.1.1 External Identifiers ....................................................................................... 27
3.1.2 Naming Conventions ..................................................................................... 28
3.1.3 Module Initialization and Finalization .................................................................. 28
3.1.4 Module Instance Objects ................................................................................ 28
3.1.5 Design-Time Object Creation ........................................................................... 29
3.1.6 Run-Time Object Creation and Deletion .............................................................. 29
3.1.7 Module Configuration .................................................................................... 30
3.1.8 Example Module .......................................................................................... 30
3.1.9 Multiple Interface Support ............................................................................... 31
3.1.10 Interface Inheritance .................................................................................... 32
3.1.11 Summary ................................................................................................. 32
3.2 Algorithms .......................................................................................................... 33
3.3 Packaging .......................................................................................................... 34
3.3.1 Object Code ............................................................................................... 34
3.3.2 Header Files .............................................................................................. 35
3.3.3 Debug Verses Release .................................................................................. 35
SPRU352G – June 2005 – Revised February 2007 Contents 3
Submit Documentation Feedback