Tool/software:
The issue was firstly found that here the variable PI_para.Ki was not valued right.
We found, in picture 1, it's because the ldr did not read the value to R0, but if we set a breakpoint at line 0x8772 and step through it, it can load value to R0 as expected.
To locate the problem, we tried:
- disable all interrupt
- disable all cache
- Use 32MHz OSC instead of 80MHz PLL
These attempts cannot help on it.
Besides, in picture 2, after we placed a nop before the ldr, it works.
picture 1:
picture 2:
How can we process such an issue?
It's not a single case, I found 3 other failures like this and my colleague also see such a case when he debug his module.