Electronic Design

  
Reprints     Printer-Friendly    Email this Article    RSS        Font Size     What's This?


[Technology Report]
Tools Matter In Mixed-Processor Software Development
CPU/DSP application software is complex, but the right development tools make the problem manageable.

William Wong  |   ED Online ID #2043  |   September 30, 2002


Mixed-processor systems are growing more common as standard system-on-a-chip (SoC) architectures, like the Texas Instruments (TI) OMAP, become available. OMAP combines a conventional ARM processor with a TI DSP.

Unfortunately, programming a DSP is much different from developing software for most general-purpose embedded processors, such as Arm's ARM, MIPS Technologies' MIPS, and the IBM/Motorola PowerPC. Developing applications for a mixed environment becomes difficult for programmers familiar with one computing platform or the other.

It's very common, though, notes Marc Brown, Rational Software's developer tech marketing manager. Developers now implement DSPs from TI and Motorola with conventional CPUs in a variety of areas, including portable devices, automotive, and communications environments.

Joseph Dubin, TI's OMAP tools product marketing manager, indicates that customers are using the standard OMAP chips (see "Standardized CPU/DSP Devices," p. 80) to add communication support to existing DSP applications, or adding more sophisticated signal processing to an existing controller application. Of course, new applications are being developed to take advantage of both parts of the OMAP chip.

Regardless of the particular CPU or DSPs involved in a project, there are a number of ways to develop software for these platforms (see the table). The first employs conventional tools, such as integrated development environments (IDEs), compilers, and operating systems that most developers are familiar with. This often means that different tool chains, languages, and OSs will be used for the CPU side and DSP side. But some products, like OSE's namesake OS, span processor architectures.

An alternative is to use an integrated solution designed for a specific CPU/DSP combination. TI's Code Composer Studio (CCS) is a notable example. These integrated solutions can take advantage of features and quirks of a specific platform, but they tend to target a limited number of platforms. For instance, CCS doesn't work with Motorola's StarCore and DSP line of processors.

The last methodology uses modeling tools, which can be divided into two categories. MatLab from Mathworks dominates the first group, while the second bunch are Universal Modeling Language (UML) tools, like I-Logix's Rhapsody, Rational's Rose, and Telelogic's Tau. Modeling tools allow problems and solutions to be abstracted, making development more independent from the target platform. This also simplifies migration to other platforms.

Normally, the modeling tools are used in conjunction with conventional or integrated tools. UML tools are often employed with MatLab because MatLab is better at modeling programmatic algorithms.

Conventional Development Tools: Give designers a challenge and they will bring all their expertise to bear. This typically includes programming expertise in a language like C or C++, OSs, and development tools. When attacking a CPU/DSP system, the language (regularly C or C++) may be the same for the two processors, while the OS and development tools usually change. These additional systems could take a significant amount of time to learn, dragging out the project.

OSE Systems and Quadros Systems offer the same OS kernel on DSP and general CPUs. Quadros Systems' RTXC Quadros actually comes in multiple configurations. Therefore, a developer can choose the level of OS complexity and functionality with the same interprocess communication features. This lets a developer pick a single-stack implementation that might be suitable for the DSP and support multiple CPUs. RTXC supports the Motorola StarCore and DSP56xxx, ARM, PowerPC, and ColdFire processors. RTXC works with many third-party tools, like Motorola/Metroworks' CodeWarrior, Green Hills Software's Multi, and Altium's Tasking EDE.

OSE has special versions of its OSE real-time OS for CPUs and DSPs. The OSE Soft Kernel for DSPs is a full-OSE kernel, significantly easing migration of some applications from one processor to another. The OSE Link Handler for DSPs matches a similar link handler for general CPUs.

Links can traverse multiple CPUs and even networks, so OSE's solution is very powerful in large systems, such as telephone switches. But this type of application can be complex to debug, making OSE Illuminator for DSPs a handy diagnostic tool. It's a set of plug-ins for debugging and monitoring, containing extensive third-party support that works with other OSE Illuminator tools.

One problem with rolling your own system is that the developer must contend with CPU/DSP interaction. Debugging environments for the two processors may be different, and there may not be any interaction between debuggers supporting each processor. That complicates the tracking down of synchronization-oriented problems.

It's great to choose your own platform and tools. Still, trading choices for a more integrated approach has advantages.


<-- prev. page     [1] 2 3     next page -->

Reprints   Printer-Friendly  Email this Article  RSS    Font Size   What's This?


  • Network-On-Chip Tools Arrive for The Masses
  • Tackling System Design Challenges Through Early Verification
  • ESL Tools Take Center Stage As Designers Move Up
  • Parasitic Extraction Tool Targets Next-Generation Custom ICs
  • Synopsys Jumps Into ESL-Synthesis Pool
  • Verify Control Systems Before Committing To Hardware
  • You're Using How Many FPGAs?
  • Tool Up For The FPGA Blitz
    1) Build A Smart Battery Charger Using A Single-Transistor Circuit
    (181 views today)
    2) Hot Hands For Some Cool Rock: Motion Sensing Meets Audio Engineering
    (168 views today)
    3) What's All This Transimpedance Amplifier Stuff, Anyhow? (Part 1)
    (88 views today)
    4) GPS-Derived Grandmaster Clock Delivers Ultra-Precise Time And Frequency Sync
    (75 views today)
    5) Downconverting Mixers Lower Power Consumption While Improving Performance
    (61 views today)
    ALL TOP 20



    POST YOUR COMMENTS HERE
    Name:

    Email:
    Your Comments:

    Enter the text from the image below


    Please refresh the page if you have trouble reading this text.

    Search Electronic Design
         
      
     
    Web Seminar
    Sponsored By:
    Title: Read Pacing: A Performance Enhancing Feature of PCI Express Gen 2 Switch Devices
    Speakers: 
    Date: 07/01/08
    Register: 

    Electronic Design Europe Electronic Design China EEPN Power Electronics Auto Electronics Microwaves & RF
    Mobile Dev & Design Schematics Find Power Products Military Electronics EE Events Related Resources