主题中讨论的其他器件:TMS570LS2124、 TMS570LS1224
大家好、
在之前的后续操作中、我被告知包含选项 --float_support=VFPv3D16 以在 R4F 上编译代码、我的完整选项是
'调用:ARM 编译器'
"e:/ti-cgt-arm_16.9.6.LTS / bin/armcl"-mv7R4 -code_state=16 -float_support=VFPv3D16 -me -include_path="E:/ti-cgt-arm_16.9.6lbs/include"-include_path="E:-exclus_exclus_exclus_exclus-rom_exion_exclus-us_exclus-us_prob_exclus_ep_ecuration=-us_ecuration="-us_ecuration=-us_ecuration="-us_ecuration="-us_ecuration_sbulation="-us_ecuration_se-us_ecuration="-us_ep_ecuration="-romage-us_ecuration="-us_econ_ecuration_s /YYY/XXXX_R4.c
现在、我在 乘法\除法等基本浮点运算中遇到问题
例如
uint64_t u40PowerInLinsum;
fRecipEnerLinsum、 dRangeOffset、 dVelocityOffset;
fRecipEnerLinsum =(float)((float) 1.0 /(float) u40PowerInLinsum;//u40PowerInLinsum 值为 1612388
dxxOffset =(float) si32xx * fRecipEnerLinsum;// si32xx -687948
dyyOffset =(float) si32yy * fRecipEnerLinsum;// si32yy640046
上述操作的结果是 fRecipEnerLinSum 为0、dxxOffset 和 dyyOffset 0x202020、我在手表和存储器中检查了这些结果、因为有时手表显示了错误的结果
所有这些结果都会导致垃圾结果。
在编译期间、我看到了使用 --float_support=VFPv3D16的含义是什么、这是否会启用浮点运算?
或者我做了一些错误
BR
Deepak Joshi