Home > Programming > C Programming Language
Programming DSPs using C: efficiency and portability trade-offs
Sort Desciption:... is of less interest, the trend is that control code is written in C and time-critical inner loops are coded in assembly. In the microcontroller market, C gained favour over assembly-level programming ...
Content Inside:19 Embedded Systems MAY 2000 BY GERARD VINK DSP DEVELOPMENT T oday most DSP software used in hand-held consumer applications is written in assembly. In other DSP application areas where power consumption and the applications footprint is of less interest, the trend is that control code is written in C and time-critical inner loops are coded in assembly. In the microcontroller market, C gained favour over assembly-level programming for well-known reasons. It offered reduced development time, portability and reuse of application code and reduced maintenance cost. The trade-offs were a limited penalty on code size and run-time performance. As the complexity and size of DSP applications both continue to increase, the same reasons that motivated the move from assembly to C for microcontroller applications now apply to DSP. There is, however, one major problem. Standard C, as defined in C9X, is neither designed nor suited to implement DSP applications. DSPs use many hardware architectural features to optimise system performance and cost. Examples in- clude: * Support of multiple on-chip and off-chip address spaces * Special address modification types to implement circular buffers and optimise array indexing for FFT transformations * Fixed-point arithmetic * Accumulators with extended precision and saturation logic Standard C supports none of the above listed features. DSP C compiler suppliers use two fundamentally different approaches to give the C programmer access to these hardware features. One group supports an extensive set of intrinsic1functions and pragmas2. The other group introduces C-language extensions such as memory space qualifiers, array and pointer qualifiers ...
Source: www.tasking.com
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Related Files
Programming in C C++ Java
Filed under: Programming and C Programming LanguageProgramming in C C++ Java. Course Overview. Object oriented programming languages are widely used for the development of complex software systems. ...
C Programming
Filed under: Programming and C Programming LanguageThe C Programming Language ANSI C. By Brian W. C. Kernighan & Dennis M. Ritchie. K and R. "Practical C programming". By Steve ...
An Overview of the C++ Programming Language
Filed under: Programming and C Programming LanguageThe C++ programming language provides a model of memory and computation that ... 3 The C Programming Model presents the C subset of C++ and other C++ ...
C Programming Fundamentals
Filed under: Programming and C Programming Language1 C Programming Fundamentals C is a compiled language. The user creates source code (often ... exe extension). Below is typical C program called LED.C that illustrates some fundamental C ...
Essential C
Filed under: Programming and C Programming LanguageC Programming Language (below) as part of their research at AT&T. Unix and C++ ... The C Programming Language 2nd ed. by Kernighan and Ritchie. ...
