Data Aborts, unexpected results, crashes!

janakas wrote on Thursday, January 12, 2006:

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 100x4 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

nobody wrote on Friday, January 13, 2006:

Thanks for the feedback.