SPRINTF is causing an FIQ exception
Posted by Nobody/Anonymous on March 16, 2006
Im using the STR711 with FreeRtos and the Idealist IDE ( GCC compiler ).
Using the sprintf function causes an FIQ exception. The sprintf is performed properly, but the next instruction after the exception. I have core and user level Fiq interrupts disabled. Also have increased my stack and heap sizes.
_STACKSIZE = 2048;
_STACKSIZE_IRQ = 256;
_STACKSIZE_FIQ = 256;
_STACKSIZE_SVC = 0;
_STACKSIZE_ABT = 0;
_STACKSIZE_UND = 0;
_HEAPSIZE = 2048;
has anyone come across something like this ?
RE: SPRINTF is causing an FIQ exception
Posted by Nobody/Anonymous on March 17, 2006
You have an STR711 with 20.5K of RAM?
I think you are probably right in thinking it could be a stack problem as the GCC string handling functions are very stack hungry. One of the few problems with using GCC on ARM.
The _STACKSIE=2048 I am guessing is setting up the user/system mode stack? If so then increasing this setting will have no effect once the scheduler has been started as the stack actually allocated to each task is given by the parameter passed to the xTaskCreate() function. Have you tried increasing the stack allocated to the function that calls sprintf()? You may be surprised as to how much it needs.
Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2016 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd..
See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.