By BDTI, 4/12/2004
Last month the ISO officially adopted Embedded C, an extension to the
C programming language that will ease signal processing software
development. The ISO will publish the Embedded C specification as a
“technical report.” An ISO technical report is similar to a standard,
but carries somewhat less authority.
Two features of the Embedded C specification are particularly relevant
for signal processing applications. First, the specification supports
fixed-point data types, which are often used by signal processing
software. Second, the specification supports memory space qualifiers,
which allow programmers to make effective use of the multiple memory
spaces found on most DSP processors. (See the September 2003 of BDTI's DSP
Insider for details on these features.)
Numerous companies have offered proprietary variants of C with these
and related features for many years. However, these proprietary
solutions take varying—and incompatible—approaches to supporting
signal processing applications. In contrast, Embedded C has the
potential to enable code portability across processors and to promote
a consistent programming style for signal processing applications.
One company offering a proprietary solution, ACE Associated Compiler
Experts bv, initiated the ISO Embedded C effort in 1998 when it
proposed that its DSP-C language be adopted as an extension to the C
programming language. ACE recently announced that the ISO adopted
DSP-C as part of the Embedded C specification. While Embedded C does
include features found in DSP-C, the ISO specification differs from
ACE’s original proposal in important ways. In addition, Embedded C
includes several sets of features that were not in the original DSP-C
proposal. These changes and additions to ACE’s original proposal
reflect the contributions of numerous individuals and companies.
The Embedded C specification has been adopted at a time when
signal processing software development has largely migrated to C. It
will be interesting to see whether compiler developers will fully
comply with the Embedded C specification, or if incompatible
variations called “Embedded C” will proliferate.
The Embedded C technical report is available online at
http://std.dkuug.dk/JTC1/SC22/WG14/.
|