EasyManua.ls Logo

Texas Instruments TMS320 DSP User Manual

Texas Instruments TMS320 DSP
88 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #82 background image
www.ti.com
B.1 TI C-Language Run-Time Support Library
B.2 DSP/BIOS Run-time Support Library
TI C-Language Run-Time Support Library
Recall that only a subset of the DSP/BIOS and the TI C run-time support library functions are allowed to
be referenced from an eXpressDSP-compliant algorithm.
In the future, this list of allowable APIs will grow to include a rich set of DSP math function calls; e.g.,
functions for computing a DCT, FFT, dot product, etc.
The following table summarizes the TI C-Language Run-time Support Library functions that may be
referenced by eXpressDSP-compliant algorithms.
Allowed or
Disallowed Category Typical Functions in Category Notes
allowed String functions strcpy, strchr, etc
(1)
allowed Memory-moving functions memcpy, memmove, memset, etc.
(2)
allowed Integer math support _divi, _divu, _remi, _remu, etc.
(2)
allowed Floating point support _addf, _subf, _mpyf, _divf, _addd, _subd, _mpyd, _divd,
(2) (3)
log10, cosh, etc.
allowed Conversion functions atoi, ftoi, itof, etc.
(2)
disallowed Heap management functions malloc, free, realloc, alloc,
(4)
disallowed I/O functions printf, open, read, write, etc
(5)
disallowed misc. non-reentrant functions printf, sprintf, ctime, etc.
(4) (6)
(1)
Exceptions: strtok is not reentrant, and strdup allocates memory with malloc.
(2)
Some of these are issued by the compiler automatically for certain C operators.
(3)
The errno paradigm is not reentrant. Thus, errno must not be used by eXpressDSP-compliant algorithms.
(4)
Algorithms must not allocate memory.
(5)
Algorithms are not allowed to perform I/O.
(6)
Algorithms must be reentrant and must, therefore, only reference reentrant functions.
The HWI module's HWI disable, HWI enable, and HWI restore are the only allowed DSP/BIOS functions.
These operations can be used to create critical sections within an algorithm and provide a
processor-independent way of controlling preemption when used in a DSP/BIOS framework.
82 Core Run-Time APIs SPRU352G June 2005 Revised February 2007
Submit Documentation Feedback

Table of Contents

Question and Answer IconNeed help?

Do you have a question about the Texas Instruments TMS320 DSP and is the answer not in the manual?

Texas Instruments TMS320 DSP Specifications

General IconGeneral
CategoryDigital Signal Processor
ManufacturerTexas Instruments
Data Bus WidthVaries by model (e.g., 16-bit, 32-bit)
ArchitectureHarvard architecture
Address Bus WidthVaries by model
MemoryVaries by model
On-Chip RAMVaries by model
On-Chip ROMVaries by model
ApplicationsAudio processing, telecommunications
Operating TemperatureVaries by model
Package TypeVaries by model (e.g., QFP, BGA)

Summary

Preface

Read This First

Provides introductory information and context for the document.

Overview

Scope of the Standard

Defines the levels of guidelines for the TMS320 DSP Algorithm Standard.

Requirements of the Standard

Lists key elements and objectives for the TMS320 DSP Algorithm Standard.

Goals of the Standard

Outlines the objectives for creating and adhering to the TMS320 DSP Algorithm Standard.

Intentional Omissions

Lists aspects intentionally omitted from the current version of the standard.

System Architecture

Describes the common partitioning of modern DSP system architectures.

General Programming Guidelines

Use of C Language

Specifies adherence to C language run-time conventions for algorithm interoperability.

Threads and Reentrancy

Defines threads and discusses reentrancy requirements for algorithms.

Data Memory

Discusses memory allocation, types, and management for algorithms.

Program Memory

Covers requirements for code relocation and alignment in program memory.

ROM-ability

Addresses the ability of algorithm code to be placed in ROM.

Use of Peripherals

Prohibits direct peripheral access and outlines how algorithms can use DMA.

Algorithm Component Model

Interfaces and Modules

Describes modules as the basic software component and their interfaces.

Algorithms

Defines algorithms as modules implementing the IALG interface.

Packaging

Details how to bundle modules into a deliverable form for development systems.

Algorithm Performance Characterization

Data Memory

Characterizes algorithm data memory requirements (heap, stack, static).

Program Memory

Details requirements for characterizing algorithm program memory usage.

Interrupt Latency

Specifies how to characterize and limit worst-case interrupt latency.

Execution Time

Explains how to characterize typical and worst-case execution times for algorithms.

DSP-Specific Guidelines

CPU Register Types

Categorizes CPU registers and provides guidelines for their use.

Use of Floating Point

Advises against the use of floating-point data types to reduce library dependencies.

TMS320C6xxx Rules and Guidelines

Provides specific rules and guidelines for TMS320C6000 family DSPs.

TMS320C54xx Rules and Guidelines

Provides specific rules and guidelines for TMS320C5400 family DSPs.

TMS320C55x Rules and Guidelines

Provides specific rules and guidelines for TMS320C5500 family DSPs.

TMS320C24xx Guidelines

Provides specific rules and guidelines for TMS320C24xx family DSPs.

TMS320C28x Rules and Guidelines

Provides specific rules and guidelines for TMS320C28x family DSPs.

Use of the DMA Resource

Overview

Introduces rules and guidelines for algorithms utilizing DMA resources.

Algorithm and Framework

Defines the relationship between algorithms and frameworks for DMA resource management.

Requirements for the Use of the DMA Resource

Lists requirements for DMA usage in eXpressDSP-compliant algorithms.

Logical Channel

Explains the concept of logical DMA channels for algorithm use.

Data Transfer Properties

Defines parameters for DMA transfer blocks (frames, elements).

Data Transfer Synchronization

Discusses methods to ensure DMA transfers complete before CPU access.

Abstract Interface

Describes the IDMA2/IDMA3 interfaces for declaring DMA resource requirements.

Resource Characterization

Details how to characterize DMA resource usage (concurrency, size, frequency).

Runtime APIs

Lists allowed runtime APIs for configuring and managing DMA transfers.

Strong Ordering of DMA Transfer Requests

Explains FIFO ordering and queue ID properties for DMA transfers.

Submitting DMA Transfer Requests

Describes functions for submitting DMA transfer requests and their alignment requirements.

Device Independent DMA Optimization Guideline

Provides a guideline to minimize DMA channel reconfiguration overhead.

C6xxx Specific DMA Rules and Guidelines

Covers DMA rules and guidelines specific to C6000 series DSPs.

C55x Specific DMA Rules and Guidelines

Covers DMA rules and guidelines specific to C55x series DSPs.

Inter-Algorithm Synchronization

Discusses sharing physical DMA channels between algorithms.

Rules and Guidelines

General Rules

Enforces rules for eXpressDSP-compliant software and identifies guideline types.

Performance Characterization Rules

Lists rules related to characterizing algorithm performance metrics.

DMA Rules

Lists rules specifically for algorithms utilizing the DMA resource.

General Guidelines

Lists general recommendations for algorithm development.

DMA Guidelines

Lists guidelines related to DMA usage by algorithms.

Core Run-Time APIs

TI C-Language Run-Time Support Library

Lists allowable TI C-language run-time support library functions for algorithms.

DSP/BIOS Run-time Support Library

Lists allowable DSP/BIOS run-time support functions for algorithms.

Bibliography

Glossary

Glossary of Terms

Defines key terms used throughout the TMS320 DSP Algorithm Standard document.

Related product manuals