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/.
Add new comment