在调试CLAmath.lib以及IQmath.lib等数学库的过程中,将程序写入到片上RAM的情形下调试都正常,唯一有报警的就是数学库编译环境和当前编译环境不一致的几个警告。
当更改到片上FLASH模式后,编译出错(好几个),部分报错内容如下:
error #16008-D: file "../lib/CLAmath.lib<CLAsqrt.obj>" specifies ISA revision "C2800", which is not compatible with ISA revision "C28FPU32" specified in a previous file or on the command line
error #16008-D: file "../lib/CLAmath.lib<CLAsin.obj>" specifies ISA revision "C2800", which is not compatible with ISA revision "C2700" specified in a previous file or on the command line
(另外还有关于rts2800_fpu32.lib、IQmath.lib的报错),不知道是什么原因,看不明白。
在RAM模式下设定的关于数学库的空间分配如下:
CLA1mathTables : > RAMLS3, PAGE = 1
IQmath : > RAMGS6, PAGE = 0
IQmathTables : > RAMGS6, PAGE = 0
IQmathTablesRam : > RAMGS6, PAGE = 0
FPUmathTables : > RAMGS8, PAGE = 0
在FLASH模式下设定的关于数学库的空间分配如下:
CLA1mathTables : > RAMLS3, PAGE = 1
IQmath : > RAMGS6, PAGE = 0
IQmathTables : > RAMGS6, PAGE = 0
IQmathTablesRam : > RAMGS6, PAGE = 0
FPUmathTables : > RAMGS8, PAGE = 0
具体FLASH.CMD的文件见附件,请高手帮助指点!
Seven Han:
应该是编译器设置的问题,论坛中有类似的帖子,请参考:http://www.deyisupport.com/question_answer/microcontrollers/c2000/f/56/t/124348.aspx
wiki中也有说明,看这里:http://processors.wiki.ti.com/index.php/C28x_Compiler_Error_and_Warning_Messages
在调试CLAmath.lib以及IQmath.lib等数学库的过程中,将程序写入到片上RAM的情形下调试都正常,唯一有报警的就是数学库编译环境和当前编译环境不一致的几个警告。
当更改到片上FLASH模式后,编译出错(好几个),部分报错内容如下:
error #16008-D: file "../lib/CLAmath.lib<CLAsqrt.obj>" specifies ISA revision "C2800", which is not compatible with ISA revision "C28FPU32" specified in a previous file or on the command line
error #16008-D: file "../lib/CLAmath.lib<CLAsin.obj>" specifies ISA revision "C2800", which is not compatible with ISA revision "C2700" specified in a previous file or on the command line
(另外还有关于rts2800_fpu32.lib、IQmath.lib的报错),不知道是什么原因,看不明白。
在RAM模式下设定的关于数学库的空间分配如下:
CLA1mathTables : > RAMLS3, PAGE = 1
IQmath : > RAMGS6, PAGE = 0
IQmathTables : > RAMGS6, PAGE = 0
IQmathTablesRam : > RAMGS6, PAGE = 0
FPUmathTables : > RAMGS8, PAGE = 0
在FLASH模式下设定的关于数学库的空间分配如下:
CLA1mathTables : > RAMLS3, PAGE = 1
IQmath : > RAMGS6, PAGE = 0
IQmathTables : > RAMGS6, PAGE = 0
IQmathTablesRam : > RAMGS6, PAGE = 0
FPUmathTables : > RAMGS8, PAGE = 0
具体FLASH.CMD的文件见附件,请高手帮助指点!
Brian Wang0:
这个问题的出现应该是因为工程中的一部分文件是在floating point使能的情况下编译的(rts2800_fpu32.lib),而其它的文件编译时则没有使能floating point。
如果需要使用浮点,可以在project->properties->build-.>compiler->processor Options中将-float_support改为fpu32,再进行尝试。
若不需要使用浮点,则使用rts2800_ml.lib代替,应该可以解决问题。