Tool/software:
I'm experiencing an issue that only occurs in low-temperature(-40°C) conditions.
During the execution of the Cache_all
function, the cacheReg
variable remains set to 1
, causing the while(*cacheReg)
loop to run continuously. Could you provide any insights or solutions for this issue?
We found that even if we use a debugger to draw a function called roadsymbol and run,
the *cacheReg value is still set to 1, so we cannot exit the while statement.
We are using a gel file, but we do not know where to modify it. need help
I Search
===========================================================================
Void Cache_all(volatile UInt32 *cacheReg)
{
UInt mask;
/* disable interrupts */
mask = Hwi_disable();
/* wait for any previous cache operation to complete */
while (*L2WWC != 0) {
/* open a window for interrupts */
Hwi_restore(mask);
/* disable interrupts */
mask = Hwi_disable();
}
/* perform global write back of cache */
*cacheReg = 1;
/* restore interrupts */
Hwi_restore(mask);
/* wait until cache operation completes */
while (*cacheReg) {
;
}
}