Chassing random crashes

Last night I stopped trying to add more functionality and get to the bottom of these random crashes. If I have lots of GPS data flowing through the system the system will crash in various ways. One way includes a Data Abort exception. This usually means a bad point or corrupted data. Overrun stacks is a great way to corrupt data.

So I spent some time looking at the various stacks. There is one per┬ábasic ARM modes (IRQ, FIQ, ABT, …). These are used during exception processing. The other stacks are those of each task.

The task stacks have a method to call to test the usage. These seem ok. But I think I found that the various AMR exception stacks are way to small. Some are a tiny 16 bytes long. Time to write a stack probe routine for these stacks!

This entry was posted in ARM, AVC. Bookmark the permalink.