IQmath : > FLASHCD, PAGE = 0 /* Math Code */
IQmathTables : > BOOTROM, PAGE = 0, TYPE = NOLOAD /* Math Tables In BOOTROM */
IQmathTablesRam : LOAD = FLASHGH, PAGE = 1
RUN = RAML1H0, PAGE = 1
LOAD_START(_IQmathTablesRamLoadStart),
LOAD_END(_IQmathTablesRamLoadEnd),
RUN_START(_IQmathTablesRamRunStart)
请问:
1.
IQmath 、IQmathTables和 IQmathTablesRam三个段是在哪里定义的?是C自带段吗?
2.
IQmathTablesRam : LOAD = FLASHGH, PAGE = 1
RUN = RAML1H0, PAGE = 1
LOAD_START(_IQmathTablesRamLoadStart),
LOAD_END(_IQmathTablesRamLoadEnd),
RUN_START(_IQmathTablesRamRunStart)
其中:我在DSP280x_GlobalPrototypes.h中定义了
extern Uint16 RamfuncsLoadStart;
extern Uint16 RamfuncsLoadEnd;
extern Uint16 RamfuncsRunStart;
extern Uint16 IQmathTablesRamLoadStart;
extern Uint16 IQmathTablesRamLoadEnd;
extern Uint16 IQmathTablesRamRunStart;
正确否?
3.
在IQmath_Quickstart.pdf文档中有说:
Add the boot ROM symbol library (for example: 2802x_IQmath_BootROMSymbols.lib) and the standard IQmath.lib library to the project using Project->Add Files to Project.
请问2802x_IQmath_BootROMSymbols.lib是做什么的?我的是2809.我在工程的library里面只添加了 IQmath.lib和rts2800_ml.lib,正确否?
4.
在IQmathLib.h里面有下面定义:
typedef long _iq;
为什么用_iq定义一个IQ格式的变量,会默认为GLOBAL_Q的IQ格式?_iq与GLOBAL_Q是怎样衔接的?
5.
IQ小数提取函数:
_iqN _IQNfrac( _iqN A) ,它在IQmathLib.h中声明的时候用的是extern long _IQNint(long A); 为什么不用_iqN?
或者说它在定义时 long _IQNint(long A);为什么不用long?