我正在尝试用Simulink编码器在MatLab 2020b上为一个带有S函数的模型生成C代码。S函数包含一个int64输入和一个int64输出。更新图和SIMULINK仿真运行良好,因此我的s-函数是有效的。但是,使用Simulink编码器生成C代码时,会出现一个错误,指出代码生成块支持的最大值是32位,并且在我的TLC文件中,我的函数原型中有正确的类型。在我的S函数中,我还注册了64位数据类型,因为SS_UINT64和SS_INT64不存在。
错误代码:无法为此模型生成代码,因为块‘uint64_ummy_mdl/S-Function’使用的数据类型为‘int64’,需要64位,但该块支持的代码生成的最大值为32
我遗漏了什么?如何使用64位数据类型生成代码?
1条答案
按热度按时间evrscar21#
让我们尝试为您的模型配置64位目标平台体系结构(配置参数>硬件实现>设备类型),我猜在配置参数中配置了32位目标可能会将uint限制为32位表示。