In honor of Cinco de Mayo – Five revolutionary reasons why the C6678 DSP is easy to program


Welcome to third and final post of the blog series discussing the applications and innovative features of TI’s C6678 multicore DSP. We have had a lot of interest lately on how programming a TI C6678 DSP is about as easy as any other processor. So in continuing the Cinco de Mayo celebration, I will share five (and I have to admit, I had to hone the list to stick with this number) compelling reasons why software programmers and system architects have found ease in developing an efficient C6678 DSP-based implementation.

No assembly required – I mentioned this in the last blog but it bears repeating; the C6678 multicore DSP is programmed using C language. Even if you haven’t programmed a DSP before, you can leverage your C, C++ skills and easily develop an efficient solution using fixed or floating point operations, or even both within a single program.

A robust, optimized compiler – Some skeptics may say, ok, I can program with C but don’t I need assembly code to get a real optimized solution? Well, the answer is: not with the TI C6678! The C6678 is supported by the C6000 compiler, a tool that has continued to evolve the optimization performance, to expand the programmer guidance and tips, along with features like native vector operations and intrinsics support. So, C programmers don’t be concerned!

TI RTOS and Multicore Software Development Kit (MCSDK) – Ok, so we now have a common programming language with a comprehensive yet efficient compiler. By design, applications that benefit from digital signal processing functions operate in real time yet often require pre-emptive schedulers offered by operating systems. Again, the C6678 DSP delivers by support from the TI-RTOS (SYS/BIOS) along with the MCSDK offered complimentary to all C6678 DSP developers. The MCSDK includes peripheral drivers and chip support libraries pre-integrated with the TI-RTOS.

CCS IDE environment– Are you feeling a bit more comfortable about developing a solution on a C6678 DSP? I would be remiss without noting that all of these DSP tools are supported from the popular Code Composer Studio (CCS) development environment. Developers program, debug, integrate and test all from this single IDE; available for download from the TI website or now via the cloud.

OpenMP support – Alright, I know what the final question is, ok; all of this is great for a single core DSP! However, the C6678 has eight DSP cores, how do I manage and optimize my code across all cores? Have no fear, the C6x compiler and MCSDK support the standards-based OpenMP API that enables a simple yet flexible path to program partitioning across all cores. As a matter of fact, one of our C6678 DSP customers used OpenMP to migrate their previously single core application to the C6678, greatly expanding their product capability, and without degrading the performance on each core.

There it is, there are the five reasons TI’s DSPs are easy to program. I hope that you have enjoyed the series and have learned a bit more about the C6678. We anxiously await the celebration of your new revolutionary product based on this DSP! I would love to hear any feedback or ideas regarding this C6678 DSP or others. In the meantime, keep up with DSP news and innovations on our TI Dream DSP page!