Texas Instruments TMS320 DSP User Manual Page 29

  • Download
  • Add to my manuals
  • Print
  • Page
    / 88
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 28
www.ti.com
FIR_Config FIR;
FIR_init();
FIR_exit();
FIR_create();
FIR
firObject
Creates firObject
FIR
FIR_create();
Creates
firObject
Int length;
Int coeff[];
Int delay[];
Read-only
coefficient array
Filter input
history buffer
3.1.5 Design-Time Object Creation
3.1.6 Run-Time Object Creation and Deletion
Interfaces and Modules
Figure 3-2. Module Object Creation
Figure 3-3 illustrates an object appropriate for a finite impulse response filter implemented by a module
named FIR.
Figure 3-3. Example Module Object
Many embedded systems are very static in nature; memory, MIPS, and I/O peripherals are statically
partitioned among a fixed set of functions that operate continuously until power is removed. Static systems
admit a number of performance optimizations that simply are not possible in dynamic systems. For
example, there is no need for a memory manager in a static system and general data structures, such as
linked lists, can be often replaced with much simpler and more efficient structures, such as fixed length
arrays. These optimizations not only reduce the system's Code size requirements; they may also have a
significant effect on the execution performance of the system.
When designing a system that is very cost sensitive, must operate with limited power, or has limited MIPS,
designers look for portions of the system that can be fixed at design time (i.e., made static). Even if the
entire system cannot be static, often certain sub-systems can be fixed at design time. It is important,
therefore, that all modules efficiently support static system designs.
Guideline 3
All modules that support object creation should support design-time object creation.
In practice, this simply means that all functions that are only required for run-time object creation be
placed either in separate compilation units or separate COFF output sections that can be manipulated by
the linker. Ideally, every function should be in a separate compilation unit. This allows the system
integrator to eliminate run-time support that is unnecessary for a static system.
Modules may optionally support run-time object creation and deletion. In some applications, run-time
creation and deletion is a requirement. For example, without the ability to remove unneeded objects and
reuse memory, the physical constraints of the system make it impossible to create rich multi-function
applications.
Run-time creation of objects is valuable even in systems that do not support or require run-time deletion of
these objects. The precise nature of the objects, the number of objects, and even the type of objects
created may be a function of parameters that are only available at run-time. For example, you may want to
create a single program that works in a variety of hardware platforms that differ in the amount of memory
available and this amount is determinable at run-time.
SPRU352G June 2005 Revised February 2007 Algorithm Component Model 29
Submit Documentation Feedback
Page view 28
1 2 ... 24 25 26 27 28 29 30 31 32 33 34 ... 87 88

Comments to this Manuals

No comments