Yagarto tool chain standard I\O issues

antoniodefina wrote on Wednesday, May 22, 2013:

I all,

My name is Antonio. I have a problem with standard I\O functions, in particular with sscanf function. I use Free RTOS on SAM7X micro controller compiled with yagarto tool chain (version 4.7.2). The problem is that sometimes the sscanf does not provide in output the values. For example:

char message;
int returnScanf;
int getValue;

strcpy(message,“2”);

getValue = 5;
returnScanf = sscanf(message,"%d",&getValue);

//returnScanf is equal to 1 (correct), but getValue is equal to 0

It is very strange, because sometimes, if I try to compile again the same source code, it sometimes works properly (without changing any header\compiler option, etc.).

I use this compiler options:

COMPILER_GENERAL_OPTIONS= \
-mthumb-interwork \
-mcpu=arm7tdmi  \
-T$(LDSCRIPT) \
-Wall \
-g  \
-O1\
-fomit-frame-pointer \
-fno-dwarf2-cfi-asm

and linker options:

LINKER_FLAGS=-nostartfiles -Xlinker -o$(PROJECTNAME).$(ARMEXT)  -lm -Xlinker -M -Xlinker -Map=$(PROJECTNAME).$(MAPEXT)

Could you please help me to find the possible mistake?

Thanks in advance

rtel wrote on Wednesday, May 22, 2013:

Is your question FreeRTOS related?  Is the behaviour the same when executed from main() before the scheduler has started as from a task after the scheduler has started?

Regards.

antoniodefina wrote on Friday, May 31, 2013:

Hi,

the source code example is inserted inside a FreeRTOS task.