Lab 8: IQmath FIR Filter
Main_8.c Labcfg.cmd
Lab.cdb DSP281x_Headers_BIOS.cmd
User_8_9.cmd CodeStartBranch.asm
SysCtrl.c Gpio.c
DSP281x_GlobalVariableDefs.c PieCtrl_5_6_7_8_9.c
DefaultIsr_8.c Adc.c
Ev_7_8_9_10.c Filter.c
Project Build Options
2. Setup the include search path to include the IQmath header file. Open the Build
Options and select the Compiler tab. In the Preprocessor Category, find the Include
Search Path (-i) box and add to the end of the line (preceeded with a semicolon to
append this directory to the existing search path):
;c:\tidcs\c28\IQmath\cIQmath\include
3. Setup the library search path to include the IQmath library. Open the Build Options
and select the linker tab.
a. In the Basic Category, find the Library Search Path (-i) box and enter:
c:\tidcs\c28\IQmath\cIQmath\lib
b. In the Include Libraries (-l) box enter: IQmath.lib
Then select OK to save the Build Options.
Include IQmathLib.h
4. Open Lab.h and uncomment the line that includes the IQmathLib.h header file.
Next, in the Function Prototypes section, uncomment the function prototype for IQssfir(),
the IQ math single-sample FIR filter function.
Inspect User_8_9.cmd
5. Open and inspect User_8_9.cmd. First, notice that a section called “IQmath” is
being linked to H0SARAM. The IQmath section contains the IQmath library functions
(code). Second, notice that a section called “IqmathTables” is being linked to the
BOOTROM with a TYPE = NOLOAD modifier after its allocation. The IQmath tables are
used by the IQmath library functions. The NOLOAD modifier allows the linker to
resolve all addresses in the section, but the section is not actually placed into the .out
file. This is done because the section is already present in the device ROM (you cannot
load data into ROM after the device is manufactured!). The tables were put in the ROM
by TI when the device was manufactured. All we need to do is link the section to the
addresses where it is known to already reside (the tables are the very first thing in the
BOOT ROM, starting at address 0x3FF000).
C28x - Numerical Concepts & IQmath 8 - 37