Texas Instruments
SemiconductorsDSP SolutionsFeedBackTI Home
Product InformationIn the NewsToolsLiteratureSupport

Digital Signal Processing
Blue Band
DSP Tools TMS320c3x

Ada Compiler/Assembler/Linker

Since 1990, Tartan had made the Ada language available to developers of TMS320C3x and C4x digital signal processor applications. Since the acquisition of Tartan by TI, these Ada products continue to be offered through Ada sales representatives at the TI Monroeville site.

Three major achievements of the Ada code generation tools are that they:

  • Produce compiled Ada code that approaches the performance of hand-coded assembly language.
  • Incorporate important features of the Ada 95 language upgrade
  • Provide a modular, compact runtime library and efficient linking tools

To help users produce the fastest, most compact code possible the Ada compiler provides:

  • Access to DSP capabilities: native instructions, circular addressing, and bit-reversed addressing
  • Built-in faster computations: complex arithmetic and vector arithmetic, and double-precision float type
  • Optimizations of three types:
    1. DSP-specific optimizations: repeat block instruction, repeat single instruction, auto-incrementing, delayed branches, and 24-bit multiply
    2. Ada-specific optimizations: constraint and overflow check elimination, data packing, static aggregate initialization
    3. Classical optimizations: many specifically tuned for the C3x and C4x architectures

The Ada compiler supports important features of the Ada 95 language upgrade including:

  • Selection of Ada 83 or Ada 95 compilation using a simple command line option allows the user to make a gradual transition to Ada 95 that leaves the integrity of existing Ada 83 code intact while applying optimization technology to Ada 95 development
  • A full Ada 95 parser that allows users to check existing Ada 83 code for syntactic upward compatibility
  • Support for Ada 95 protected types so users can construct most real-time paradigms and data managers; supports all protected operations, 'Count attribute, unchecked deallocation of protected objects, discriminants on protected types, and protected types as generic parameters
  • Support for Ada 95 child libraries so users can extend systems more flexibly
  • Support for the Ada 95 real-time annex queuing policy feature that allows the user to specify the queuing policy in the runtime system by using pragma Queuing_Policy with an argument of either FIFO_Queuing or Priority_Queuing

To insure that code compactness is maintained in the executable image, the Ada tool set provides:

  • A modular runtime structure: isolates individual procedures, functions and objects to allow most compact code
  • A flexible linker: includes only the required modules and defines memory layout to take maximum advantage of the hardware's memory configuration

    The Ada compiler package includes:

    The compiler provides switch-selectable Ada 95 capabilities, five optimization levels, representation specifications and support for address clauses, pragmas and unchecked programming support, and ACVC 1.11 validation.

    The Ada Librarian supports Ada 95 hierarchical libraries, layered system design, tree-structured sublibraries, concurrent user access and structured object code sharing, and automatic compilation and recompilation.

    The Ada Runtime System supports the protected type synchronization mechanism to access shared data without using an additional task, Ada 95 priority queueing or FIFO queueing, a priority-driven preemptive scheduler for real-time multi-tasking, the ARTClient package to perform time-sliced scheduling, and several interrupt handling options.

    Inter-processor Support is a C40 runtime extension that coordinates Ada programs and tasks on different processors through communication and synchronization mechanisms, providing inter-processor event and message support and local and global event flags with a timeout option.

    Several Ada Packages are provided. They are:

    • Standard Packages: predefined Ada packages including Calendar,System, and input/output functions
    • Runtime Client Interface Package (ARTClient): provides dynamic control of tasking operations callable from the application and the debugger
    • Intrinsics Package: permits direct Ada access to DSP architectural features, faster math capabilities, and IEEE format conversions
    • Machine Code Package: allows generation of assembly instructions from Ada
    • Math Package: elementary transcendental functions compliant with specifications of the SIGAda Numerics Working Group (NumWG), the Ada-Europe Numerics Working Group (A-ENWG), and the ISO-IEC/JTC1/SC22/WG9 Numerics Rapporteur Group (NRG)

    The Linker eliminates unused sections and precisely controls memory layout of code, data and constants for individual packages, modules, sections and subprograms to produce the most efficient code. The linker can generate multiple output files and partially-linked collections of modules for multiple applications, information-rich map files, and comprehensive messages concerning program build linking errors and memory layout conflicts.

    The AdaScope Debugger displays multiple windows for command execution, source code display, input/output, scoreboarding automatically updated data, disassembled machine code display, AdaList output display, and on-line help. The debugger provides full source- and machine-level symbolic debugging through a menu-driven, customizable interface with with full point-and-click access. The debugger provides full tasking and exception support and the ability to add Ada statements via a built-in Ada subset interpreter (code patching).

    Several Tools and Utilities are provided. They are:

    • AdaRef static analyzer produces four kinds of information about a program: call graph, dependency graph, cross reference, and permuted index.
    • AdaList tool generates an interspersed source and assembly listing showing both absolute and relative addresses, and provides annotations that clearly indicate the semantics of each assembly instruction.
    • Checksum utility provides checksum support, fills memory gaps, and provides memory listings.
    • Object file librarian combines object files into an object file library for faster linking and easier maintenance.
    • Utilities that convert files between object code formats and now include a new converter from Tartan's TOFF to TI's Boot Loader Format

    The Board Retargeting Kit allows the debug kernel to be customized to any board with a C30 or C31 processor and serial I/O capability

    Documentation provided includes detailed and complete manuals for all components of the system and on-line help files for the compiler, librarian, and AdaScope.

    Several optional components are available. They are:

    AdaTrak Profiler , a dynamic execution profiler that helps concentrate revision efforts on problem areas in the program and produces real-time sampling of critical sections of code to make sure deadlines are met.

    A C3x/C4x Assembler that provides unrestricted program sectioning, general expression evaluation, constructs that simplify porting, and conditional assembly.

    A Simulator allows simultaneous access by more than one user and allows early project start before hardware is available

    A SPOX-DSP Interface provides an interface to the SPOX predefined library of vector, matrix and filter math functions.

    Runtime Customization facilities include runtme source code, build scripts, assembler, detailed Runtime Modification Manual, and a modification license

    Multi-Processor Debug Support permits simultaneous debugging of multiple C40 processors under VMS and SunOS. Commands execute on a user-defined set of processors. A hardware resource manager coordinates AdaScope connections to C40 processors.

    A Link Retargeting Kit allows the user to change the communications link between the host and the target.

    A Stand-Alone AdaScope provides additional debuggers without another complete system.

  • SemiconductorsDSP SolutionsFeedBackTI Home
    © Copyright 1997 Texas Instruments Incorporated. All rights reserved.
    Trademarks, Important Notice!