Dsp/Bios Features And Benefits - Texas Instruments TMS320 User Manual

Dsp/bios v5.40
Hide thumbs Also See for TMS320:
Table of Contents

Advertisement

DSP/BIOS Features and Benefits

1.1 DSP/BIOS Features and Benefits

1-2
DSP/BIOS is designed to minimize memory and CPU requirements on the
target. This design goal is accomplished in the following ways:
❏ All DSP/BIOS objects can be configured statically and bound into an
executable program image. This reduces code size and optimizes
internal data structures.
❏ Instrumentation data (such as logs and traces) are formatted on the host.
❏ The APIs are modularized so that only those APIs that are used by the
program need to be bound into the executable program.
❏ The library is optimized to require the smallest possible number of
instruction cycles, with a significant portion implemented in assembly
language.
❏ Communication between the target and DSP/BIOS analysis tools is
performed within the background idle loop. This ensures that DSP/BIOS
analysis tools do not interfere with the program's tasks. If the target CPU
is too busy to perform background tasks, the DSP/BIOS analysis tools
stop receiving information from the target until the CPU is available.
❏ Error checking that would increase memory and CPU requirements has
been kept to a minimum. Instead, the API reference documentation
specifies constraints for calling API functions. It is the responsibility of the
application developer to meet these constraints.
In addition, the DSP/BIOS API provides many options for program
development:
❏ A program can dynamically create and delete objects that are used in
special situations. The same program can use both objects created
dynamically and objects created statically.
❏ The threading model provides thread types for a variety of situations.
Hardware interrupts, software interrupts, tasks, idle functions, and
periodic functions are all supported. You can control the priorities and
blocking characteristics of threads through your choice of thread types.
❏ Structures to support communication and synchronization between
threads are provided. These include semaphores, mailboxes, and
resource locks.
❏ Two I/O models are supported for maximum flexibility and power. Pipes
are used for target/host communication and to support simple cases in
which one thread writes to the pipe and another reads from the pipe.
Streams are used for more complex I/O and to support device drivers.
❏ Low-level system primitives are provided to make it easier to handle
errors, create common data structures, and manage memory usage.

Advertisement

Table of Contents
loading

Table of Contents