HI:ti 工程师你好,在是使用fpu_fast_supplement 这个库时,发现 在ccs6 上的 .map 文件里 无法包含 rts2800_fpu32_fast_supplement.lib 这个库,在controlSUITE_3_4_6 里的 Example_2806xFPU_hardware 这个例子的 .map也是 没有包含rts2800_fpu32_fast_supplement.lib 而且
atan2 的 计算结果也是错误的, 编译并没有发现什么异常,
后来将工程同步到ccs4 上 虽然在.map 里 看见了 ,但是计算结果 依然是错误的
例如 atan2(0.3,0.3) = 64.0 atan (1) = 1 ???
1:请问我该怎么样使用 rts2800_fpu32_fast_supplement.lib 这个库?
2:在fpufastrts v100 里给出了 table 和 atan_f32 的 汇编,如果我想直接用这个汇编文件 在怎么调用?
Seven Han:
应该是工程中没有添加成功该库,您可按照controlSUITE_C28x_FPU_FastRTS文档步骤操作;
C:\ti\controlSUITE\libs\math\FPUfastRTS\V100
HI:ti 工程师你好,在是使用fpu_fast_supplement 这个库时,发现 在ccs6 上的 .map 文件里 无法包含 rts2800_fpu32_fast_supplement.lib 这个库,在controlSUITE_3_4_6 里的 Example_2806xFPU_hardware 这个例子的 .map也是 没有包含rts2800_fpu32_fast_supplement.lib 而且
atan2 的 计算结果也是错误的, 编译并没有发现什么异常,
后来将工程同步到ccs4 上 虽然在.map 里 看见了 ,但是计算结果 依然是错误的
例如 atan2(0.3,0.3) = 64.0 atan (1) = 1 ???
1:请问我该怎么样使用 rts2800_fpu32_fast_supplement.lib 这个库?
2:在fpufastrts v100 里给出了 table 和 atan_f32 的 汇编,如果我想直接用这个汇编文件 在怎么调用?
guoz:
回复 Seven Han:
都说了 在 ccs4 .map 可以看见 应该添加成功了,但是 atan2 计算错误,
自己按照 atan2_f32.asm 头上的介绍 翻译成c 接口 也是计算错误啊,
float atan_tabat(float rad){ float Numerator = 1.0; float Denominator = 1.0; union{ float Ratio; long longR; }U; float angle = 0; float arctan = 0; unsigned int index = 0; unsigned int tab_index = 0; float symbol = 1.0; U.Ratio = 1.0; if(rad < 0) { rad = -rad; symbol = -1.0; } if(1.0 >= rad) { Numerator = rad; } else { Denominator = rad; } U.Ratio = Numerator/Denominator; index = (U.longR & 0xfc000000)>>26; //Use the upper 6-bits tab_index = (index)*3; arctan = ATAN_TAB[tab_index] + U.Ratio *(ATAN_TAB[tab_index+1] + ATAN_TAB[tab_index+2]*U.Ratio); if(1.0 >= rad ){ angle = arctan; } else { // 1.0 <= fabsf(rad) angle = 1.570796326794897 – arctan; } if(symbol < 0){ angle = -angle; } return angle;}
你们电话是多少, 能帮忙跟踪一下吗?
HI:ti 工程师你好,在是使用fpu_fast_supplement 这个库时,发现 在ccs6 上的 .map 文件里 无法包含 rts2800_fpu32_fast_supplement.lib 这个库,在controlSUITE_3_4_6 里的 Example_2806xFPU_hardware 这个例子的 .map也是 没有包含rts2800_fpu32_fast_supplement.lib 而且
atan2 的 计算结果也是错误的, 编译并没有发现什么异常,
后来将工程同步到ccs4 上 虽然在.map 里 看见了 ,但是计算结果 依然是错误的
例如 atan2(0.3,0.3) = 64.0 atan (1) = 1 ???
1:请问我该怎么样使用 rts2800_fpu32_fast_supplement.lib 这个库?
2:在fpufastrts v100 里给出了 table 和 atan_f32 的 汇编,如果我想直接用这个汇编文件 在怎么调用?
guoz:
回复 guoz:
; Step(3): Use the upper 6-bits of the "Ratio" value as an; index into the table to obtain the coefficients; for a second order equation:;
是取 Ratio 浮点 内存里的 高6bit 吗?
HI:ti 工程师你好,在是使用fpu_fast_supplement 这个库时,发现 在ccs6 上的 .map 文件里 无法包含 rts2800_fpu32_fast_supplement.lib 这个库,在controlSUITE_3_4_6 里的 Example_2806xFPU_hardware 这个例子的 .map也是 没有包含rts2800_fpu32_fast_supplement.lib 而且
atan2 的 计算结果也是错误的, 编译并没有发现什么异常,
后来将工程同步到ccs4 上 虽然在.map 里 看见了 ,但是计算结果 依然是错误的
例如 atan2(0.3,0.3) = 64.0 atan (1) = 1 ???
1:请问我该怎么样使用 rts2800_fpu32_fast_supplement.lib 这个库?
2:在fpufastrts v100 里给出了 table 和 atan_f32 的 汇编,如果我想直接用这个汇编文件 在怎么调用?
Linda:
您好!
可以参考以下目录下的“controlSUITE_C28x_FPU_FastRTS.pdf”文档:
C:\ti\controlSUITE\libs\math\FPUfastRTS\V100\doc
HI:ti 工程师你好,在是使用fpu_fast_supplement 这个库时,发现 在ccs6 上的 .map 文件里 无法包含 rts2800_fpu32_fast_supplement.lib 这个库,在controlSUITE_3_4_6 里的 Example_2806xFPU_hardware 这个例子的 .map也是 没有包含rts2800_fpu32_fast_supplement.lib 而且
atan2 的 计算结果也是错误的, 编译并没有发现什么异常,
后来将工程同步到ccs4 上 虽然在.map 里 看见了 ,但是计算结果 依然是错误的
例如 atan2(0.3,0.3) = 64.0 atan (1) = 1 ???
1:请问我该怎么样使用 rts2800_fpu32_fast_supplement.lib 这个库?
2:在fpufastrts v100 里给出了 table 和 atan_f32 的 汇编,如果我想直接用这个汇编文件 在怎么调用?
guoz:
回复 Linda:
你们是 TI的 研发工程师?