I have an old problem in a project and it keeps popping up now and then. I think the problem is related to a UART driver I wrote. On the UART I have GPS and modems. Now and then I have errors on these devices and sporadically the system goes into the watchdog.
If I try to debug when I have errors on the GPS I often get the attached error.
How can I proceed?
Hi WarenM and Iarry.
I'm still investigating, but writing my version of memcpy in C ++ and porting some code from C to C ++ things seem to get better. In my project I have avoided malloc / new functions…
This sounds like it might be related to stack overflow. Have you checked your stacks to see how much room you have in them? Can you look at the call trace to see what the program flow was prior to the exception?
Any additional information you can provide would help.
Hi Warren.I also think it's a stack overflow. The problem is that it is a large project and when it crashes I can't trace it because debug don't work.
I'm trying to convert many parts with pointers to C ++ (avoiding pointers and using std :: array etc using exceptions in debug).
The problem is that I use a lot of C arrays and pointers, it will be a long job.
Sometimes I use Ozone debugger from Segger to run the elf file. I can turn on trace. If the program crashes, I get some trace information and be able to find out which module causes it.
Hi CS Yep.
Many thanks for the information! I didn't know that software. I'll try.