Design Article
C6000 vs. PowerPC, part 3: Tools, OSs, and support
Robert Sgandurra, Pentek
1/3/2008 3:00 AM EST
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
features include:
- 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.
- Linker
- 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.

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, transparent connection.
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.

Figure 15

