Hi,
I am facing a strange behavior of my code. If I write new code or add code to existing classes etc. the programm may cause an B-Trap IR. The TFR then says ILLOPA or UNDOPC. If I then add more code, the error disappears but it pops up again if I add even more and so on. If tried to identify the code line where the error happen, but the stack doesn't contain any valid flash address when I break the programm inside the Trap-IF function. The CSP is 0 and IP is something like 0x06 or 0x0A. Flashcode starts at 0xC00000.
I tried to debug the code to find the place where the error happens. Disassembly shows an write operation to the PSW register. The purpose is to do a IR-lock. But what is strange again, if I set some breapoints around this place of code, the B-Trap won't trigger! I have to run the code from the start or set the breakpoint far away to trigger the error.
I also checked the user stack by filling the stack with a pattern so see how much of the stack is used. But there is plenty of space left.
Does someone have an idea or hint about this?
View all questions in Keil forum