Hi Kojto
The app uses mqx 3.8.0 on a mcf51jm128 with a USB flash drive. All I did was include the #include <stdlib.h> to access the atoi function and we got the errors I listed. I traced this through the assembler and it appears to me that the register that is returning the value from the function call is incorrect as far as the compiler is concerned. I saw the posts regarding an incorrect #pragma statement that affected the register assignment. But I did not see which #pragma was incorrect and also did not see how to change the pragma. These are generated by the IDE and I have no real control over them.
I can send you the code base if you want by a private email. We are one of FSL's alliance partners. I can't really post all the code here but I can include the code that is a problem. Here is the commented out code.
//rwl #include <stdlib.h> // july 04/2012, produces errors in register returns if enabled, hence the alternate // string functions used for itoa, atoi; some pragma is wrong somewhere
//rwl memset( ca_strng, ge_NULL, sizeof(ca_strng) ); // clear buffer, null terminate
//rwl memcpy( ca_strng, (char *)&(gu_FileName.s_file_name.ca_file_number), sizeof(gu_FileName.s_file_name.ca_file_number) );
//rwl i_file_num = atoi_tl(ca_strng);
//rwl i_file_num++;
//rwl itoa(i_file_num, ca_strng, 10);
Thanks for looking into this for us.