It is almost certainly a memory issue with my application, I'm just struggling to have any clue how I would track it down.
I installed the exception handling code mentioned in the thread I linked, and now I have a bit of information:
Opps, bad thing happened.
The exception [HardFault] throw by TASK 0x10003
Dump the exception frame as :
R0: 0xffffffff
R1: 0x0000000a
R2: 0x0000000b
R3: 0x0000000a
R12: 0x00000000
LR: 0x00006de5
PC: 0x00006e62
PSR: 0x61000000
Opps, bad thing happened.
The exception [HardFault] throw by TASK 0x10003
Dump the exception frame as :
R0: 0xffffffff
R1: 0x0000000a
R2: 0x00007530
R3: 0x00007530
R12: 0x00000000
LR: 0x00006de5
PC: 0x00006e62
PSR: 0x61000000
Opps, bad thing happened.
The exception [HardFault] throw by TASK 0x10003
Dump the exception frame as :
R0: 0xffffffff
R1: 0x0000000a
R2: 0x00000005
R3: 0x00000001
R12: 0x00000000
LR: 0x00006de5
PC: 0x00006e62
PSR: 0x61000000
Opps, bad thing happened.
The exception [HardFault] throw by TASK 0x10003
Dump the exception frame as :
R0: 0xffffffff
R1: 0x0000000a
R2: 0x00000002
R3: 0x00000001
R12: 0x00000000
LR: 0x00006de5
PC: 0x00006e62
PSR: 0x61000000
Opps, bad thing happened.
The exception [HardFault] throw by TASK 0x10003
Dump the exception frame as :
R0: 0xffffffff
R1: 0x0000000a
R2: 0x00000078
R3: 0x00000000
R12: 0x00000000
LR: 0x00006de5
PC: 0x00006e62
PSR: 0x61000000
Opps, bad thing happened.
The exception [HardFault] throw by TASK 0x10003
Dump the exception frame as :
R0: 0xffffffff
R1: 0x0000000a
R2: 0x000000f0
R3: 0x00000000
R12: 0x00000000
LR: 0x00006de5
PC: 0x00006e62
PSR: 0x61000000
Task 0x10003 is my main task (I'm not sure how it got bumped from 0x10001, but that's a mystery for another time), and that's the task that calls sscanf() when it throws the hard fault.
I'll read through the page you linked, but I'm also wondering where I can get the documentation on what's output above. I'm assuming they're registers relating to the interrupt?
Any idea what I should be watching to see what causes the fault? Just step through and into functions until something triggers it?
Sean