I am using cortex m4 along with gcc. I have create 4 threads in freeRTOS, 3 of which are periodic with periods of 10ms, 100ms and 1000 ms. My application runs all 4 threads for 1 instance and then experiences a hardfault.
Here is a log report generated with respective register values
HARDFAULT:ERROR:START OF FULL LOG
HARDFAULT:ERROR:R0 R1 R2 R3 R12 : 0x0 0x20001950 0x10000 0x200020c8 0xa5a5a5a5
HARDFAULT:ERROR:LR PC PSR BFSR : 0x8 0x8 0x6000000b 0x200
HARDFAULT:ERROR:CFSR HFSR DFSR AFSR MMAR BFAR : 0x20000 0x40000000 0x0 0x0 0xe000ed34 0xe000ed38
HARDFAULT:ERROR:END OF FULL LOG
I have tried changing the stack size for threads but that hasnt helped in anyway. Here is a link to freeRTOS config file : https://drive.google.com/open?id=0B5lr6ikuuOsxWnBTNjgyNmRZeWc
And this is the main.c that I am using https://drive.google.com/open?id=0B5lr6ikuuOsxb01PbkZDNWkwcEE
Kindly help me out.