Code Generation Tools
Code Generation Tools:
Tools to develop code on the C6000 family are available primarily from one source,
Texas Instruments. While various third parties have produced code development tools
for TI DSPs over the years, the most comprehensive offerings have always been from TI.
TI's premier code development tool is Code Composer Studio. It is a complete code
development environment that runs on Windows workstations. Some of the major
- IDE – interface for accessing all of the components of Code Composer Studio.
- Optimizing C compiler / assembler – designed specifically to exploit the
parallel processing capabilities of the C6000 VelociTI architecture.
- Code Composer Debugger
- DSP/BIOS II – scalable, real-time kernel
- RTDX – a protocol for exchanging data between the host and DSP during runtime
- Numerous graphical and text based profiling tools
- Numerous optimizing tools
- Run-time libraries
TI allows users and third party vendors to extend the capabilities of Code Composer
Studio through a standardized plug-in interface. Using this interface guarantees that
additional components, created by parties other than TI will look, feel and work
consistently with Code Composer Studio. Anyone producing a plug-in can submit it for
testing by TI to confirm compliance with the defined standard.
The physical software development environment for the C6000 can usually be
represented by one of the two systems shown in Figure 14.
Code development on single board systems can be accomplished with a hardware
emulator that electrically connects a host computer to the target board. This works well
on smaller, single board systems, but larger multi-board systems require multiple
emulators, one per target board and each emulator typically required a PCI slot on the
host computer. This can quickly grow to an unmanageable solution.
A better solution for multi-target systems is SwiftNet. It supplies a software protocol for
debugging and host-to-target communication during run-time. SwiftNet supports
numerous host-to-target hardware connections including bus-to-bus adapters, embedded
hosts (VME based PCs) and systems with Ethernet as the communication link. It is
integrated with Code Composer Studio as a plug-in and it provides a seamless,
Software development tools for the PowerPC are available from a variety of vendors.
Many of these are for development of applications that will run on workstations like the
Apple G4 Power Macs. Development tools for embedded applications are not as
common. These tools must allow flexible memory map / linker configuration to match
target memory resources, control of peripherals and other features of the target hardware,
and in general must allow the software developer access to the target hardware, either by
directly addressing it, or through hardware drivers.
The most common software development tools for embedded applications on the
PowerPC are contained in Wind River's Tornado package. These include:
- Tornado IDE – provides a unified graphical interface to the Tornado tool set
- Complete integration with VxWorks operating system
- Diab C/C++ compiler – supports the AltiVec processor
- CrossWind graphical debugger
- A large variety of additional tools for system profiling, debugging, system and
project management, etc.
In addition to the tools supplied by Wind River, a board support package (BSP) is also
recommended for code development. This is usually provided by the hardware
manufacturer and includes hardware support specific to the architecture of the board. As
shown earlier, the PowerPC depends on a companion chip, the node controller, for
providing interfaces to most of the memory and all of the communication resources.
Because of the variety of available node controllers and the fact that even the same node
controller chip can be used in significantly different ways in different board architectures,
it is impractical for the BSP to be provided by anyone but the board manufacturer. This
is different from the C6000 environment where all of the peripherals are built on-chip and
the software development tools are provided by TI and are specifically designed for the
C6000 DSP target. This allows TI to provide all of the chip and peripheral support
directly in Code Composer Studio in the form of a Chip Support Library (CSL).
The physical software development environment using VxWorks usually consists of a
host workstation connected by Ethernet to one or more PowerPC targets. Figure 15
shows the typically configuration.