主要内容

验证代码生成的假设

software-in-the-loop的开始(SIL)或processor-in-the-loop(公益诉讼)仿真软件验证一些配置参数设置参照目标硬件。

例如,在配置参数对话框,硬件实现设置指定目标行为,导致生成的隐式假设的实现代码。不正确的设置会导致:

  • 次优的代码

  • 代码执行失败,错误代码输出,和不确定的代码的行为

软件检查:

  • 设置的正确性。例如,整数位长度的比特数:int字段。

  • 设置是否优化。例如,签署了整数除法的舍入带符号整数除法轮字段。

仿真生成一个编码器假设页面代码生成报告,它提供了一个列表:

  • 检查代码生成的假设

  • 预期结果的假设检查

这个表显示时检查发生和结果代码生成的假设是不正确的。

阶段 检查是什么 结果

预处理器

的比特数/:

  • 字符(ProdBitPerChar)

  • (ProdBitPerShort)

  • int(ProdBitPerInt)

  • (ProdBitPerLong)

如果金宝app支持很久(ProdLongLongMode)被选中时,每的比特数很久很久

对于每个数据类型,预处理程序检查不是如果的比特数超过执行这些设置为目标C预处理程序:

  • 带符号整数数学,TargetPreprocMaxBitsSint

  • 为无符号整数数学,TargetPreprocMaxBitsUint

误差如果数据类型大小模型和目标硬件不匹配。

运行时

的比特数/:

  • 字符(ProdBitPerChar)

  • (ProdBitPerShort)

  • int(ProdBitPerInt)

  • (ProdBitPerLong)

误差如果数据类型大小模型和目标硬件不匹配。

如果金宝app支持很久(ProdLongLongMode)被选中时,每的比特数很久很久

错误,如果:

  • 目标硬件不支持金宝app很久很久

  • 数据类型大小模型和目标硬件不匹配。

大小:

  • 浮动

你不能配置这些数据类型的大小硬件实现窗格。只有在执行检查金宝app支持:浮点数被选中。

警告如果数据类型大小模型和目标硬件不匹配。

生成,并警告如果目标硬件数据类型的大小不是32或64位。

的比特数/:

  • 指针(ProdBitPerPointer)

  • size_t(ProdBitPerSizeT)

  • ptrdiff(ProdBitPerPtrDiffT)

误差如果数据类型大小模型和目标硬件不匹配。

带符号整数除法轮(ProdIntDivRoundTo)设置

警告如果模型参数设置未定义的

如果目标硬件错误行为是未定义的模型参数设置并不是未定义的

如果目标硬件错误行为定义但设置模型和目标硬件不匹配。

字节次序(ProdEndianess)设置

警告如果设置未指明的。否则,错误如果设置模型和目标硬件不匹配。

转变对一个带符号整数算术的转变(ProdShiftRightIntArith)设置

错误如果设置模型和目标硬件不匹配。

删除根水平I / O零初始化(ZeroExternalMemoryAtStartup)设置

警告如果ZeroExternalMemoryAtStartup“关闭”和目标应用程序的全局变量的初始值不为零。

删除内部数据零初始化(ZeroInternalMemoryAtStartup)设置

警告如果ZeroInternalMemoryAtStartup“关闭”和目标应用程序的全局变量的初始值不为零。

使用动态内存分配模型初始化(GenerateAllocFcn)设置

警告如果GenerateAllocFcn“上”和目标应用程序动态分配的内存的初始值不为零。

模拟行为denormal数字(DenormalBehavior)设置

如果行为模型误差和目标硬件不匹配。

另请参阅

相关的话题