Data Aborts, unexpected results, crashes!
First of all let me say that FreeRTOS is a Great project!
Problem: I was doing some USB stuff on a AT91SAM7S64 when I was getting Data Aborts (dabtvec), Prefech Aborts (pabtvec) and other unexpected results and eventual crashes (hangups).
Cause:
Lack of task stack space. I was setting the task stacks to 100 (in SAM7 it is 100×4 bytes). My estimations of local variable calculations were correct BUT the GOTCHA was the functional depth. I totally ignored the stack usage when functions are called. As you get deeper it uses more stack to store your parameters etc.
Solution:
Increased the stack size. Its working like a charm since then!
Cheers
Data Aborts, unexpected results, crashes!
Thanks for the feedback.