用于Simulink的TI嵌入式编码器驱动程序存在严重错误。 我向Mathworks报告过,但他们说问题出在TI。
在Simulink中,如果您单击"GEAR (齿轮)"图标并转至"hardware implementation (硬件实施)"->" Device details (设备详细信息)",TI驱动程序会说,TI处理器上的"double (双精度)"为64位,而实际上是32位。 这适用于所有TI处理器。 问题在于某些操作需要测试最大机器精度数(例如,SIGN函数和一些复杂的数学函数)。 Simulink认为编译器支持64位数字(但实际上不支持),因此它使用4.4E308常量错误地对其进行编码,导致编译器崩溃。 如果强制该操作的代码使用单精度,则获得正确的常量1.7E38。 此变通办法已解决问题,但它存在其他问题,需要持续的双倍到单个转换才能从Simulink成功生成代码。 是否有办法将TI驱动程序中的64位双倍更改为32位,或者我们是否需要TI的更新? 谢谢你。
此致