Other Parts Discussed in Thread: HALCOGEN
Team,
For a lot of peripheral initialization, there have a lot of while function before the watchdog initialization, for one example, in void canInit(void) there have the while function as show below:
/*SAFETYMCUSW 28 D MR:NA <APPROVED> "Potentially infinite loop found - Hardware Status check for execution sequence" */
while ((canREG1->IF1STAT & 0x80U) ==0x80U)
{
} /* Wait */
canREG1->IF1CMD = 0x87U;
if customer are using this funtion which is generated automaticly by Halcogen, then there will have a potential risk that the code will run infinite loop in the while function, here are the question and concern from the customer:
1. how much is the probability of runing infinite loop in the while function?
2. when run infinite loop, dose it means that there have some hardware error occur? is that possilbe that have someTransient soft error that lead to run infinite loop? and after reset, it will be ok and have no issue.
3. How we usually handle these error? if customer does not use any watchdog function, is there any other possible hardware time-out feature to handle runing infinite loop?
4. As these "while" code are generated automaticly by Halcogen, Do we have plan to improve that in software also, e.g. timeout scheme?