CCS5.3关于IQ的库arm调用栈 编译选项编译后有警告,这个警告怎样能消去

DSP28335—IQmath数学库的使用
文章来自:
官方下载IQmath数学库文件,默认目录安装,安装完成后的文档结构如下:
install directory is C:tidcsc28xIQmathv15a
doc Contains this file
include The IQmath header files
&&&&&&&&&&
C code uses IQmathLib.h
&&&&&&&&&&
C++ code uses IQmathLib.h and IQmathCPP.h
lib&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
The IQmath library files. These are used by both C and C++
gel&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Legacy GEL file for debug
examplescmd&&&&&&&&&&&&&&
Linker command files used by the examples
examplesC&&&&&&&&&&&&&&&&&
C example: Refer to ReadMe_SampleC.txt
examplesCprojects&&&&&
CCS projects for the C example
examplesCsource&&&&&&&
Source code for the C example
examplesCpp&&&&&&&&&&&&&&
C++ code example: Refer to ReadMe_SampleCpp.txt
examplesCppprojects&&
CCS projects for the C++ example
examplesCppsource&&&&
Source code for the C++ example
包含IQmathLib.h头文件
将用户代码与IQmath链接,通常是添加IQmath.lib文件,如果用户使用浮点DSP,想混合使用IQmath与芯片本身的浮点功能,则添加IQmath_fpu32.lib
修改.cmd文件,可以参考TI提供的例程,或者在原有cmd文件基础上修改
按照头文件中定义的Q格式定义变量,调用函数,调试的话,可以添加gel文件
按照上面的步骤,使用Q格式只是熟练度的问题了。我在使用过程中的问题出现在cmd文件上,对照普通的cmd文件,使用IQmath的cmd文件需要添加如下语句:
IQTABLES&& : origin
= 0x3FF000, length = 0x000b50
RAMH0&&&&&
: origin = 0x3F8002, length = 0x001FFE
RAML0L1& : origin = 0x008000, length =
IQmath&&&&&&&&&&
RAMH0,&&&&&&
IQmathTables&&&&
IQTABLES,&&&
PAGE = 0, type = NOLOAD
IQmathTablesRam& : &
RAML0L1,&&&&
从注释中可以发现,IQmath段是IQmath库中汇编程序的映射,IQmathTables段是IQsin, IQcos,
IQatan, IQatan2等使用的查找表的映射,对于F2812来讲,这个查找表被固化在了Boot rom中,使用Boot
rom中的查找表可以节约Ram空间,但是Rom的访问需要额外的1个等待周期,所以用户可以自己权衡时间(1
wait)和空间(Ram)哪个对自己是最重要的。另外,如果选择直接调用Boot
rom中的查找表,重映射时,必须使用NOLOAD关键字。IQmathTablesRam段是IQasin, IQacos, and
IQexp等使用的查找表的映射,如果不使用这些功能,可以直接删除该段,节约Ram或Flash资源。
还有一点需要注意,IQmath中编译代码的大小是动态的,它是根据用户代码中调用的IQmath库函数来条件编译的,所以初始时,可以将IQmath段的大小定义的稍微大一些,最后根据map文件适当增减段的大小,节约宝贵的Ram资源。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 c 编译dll给c 调用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信