请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS570LS1224 主题中讨论的其他器件:HALCOGEN
团队、
对于 很多 外设初始化、 在看门狗初始化之前有很多 while 函数、 例如、在 void canInit (void)中有 while 函数、如下所示:
/*SAFETYMCUSW 28 D MR:NA "找到可能无限的循环-执行序列的硬件状态检查"*/
while ((canREG1->IF1STAT & 0x80U)=0x80U)
{
}/*等待*/
CANREG1->IF1CMD = 0x87U;
如果客户使用由 Halcogen 自动生成的此功能、则 可能存在代码在 while 函数中运行无限循环的风险、以下是客户提出的问题和问题:
1. while 函数中运行无限循环的概率是多少?
2.当运行无限循环时,剂量意味着 发生了一些硬件错误? 是否存在会 导致 运行无限循环的瞬态软错误? 复位后、它将正常、没有问题。
我们通常如何处理这些误差? 如果客户不使用任何看门狗功能、是否有其他可能的硬件超时功能来处理无限循环运行?
4.由于这些"while"代码是由 Halcogen 自动生成的, 我们是否计划在软件中改进这一点,例如超时方案?