We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
When I debug \Keil\ARM\RV30\RTL\Kernel\Examples\Measure\Measure.uv3,I want watch "cmdbuf[]" in Watch & Call Stack Window,when I use SARM.dll V1.5,watch data was right,but when I use SARM.dll V3.x,watch data was wrong.
Static works, thanks..
But there are other problems. I made this function:
void Main_make_sprintf_work(char * str) { static char str_local[40]; sprintf(str_local, "%f" ,2.45); memcpy(str, str_local, 10); }
It works when I call it from main() but don't work if the call come from a function further inside the program.
In what way does it "not work"?
When I call Main_make_sprintf_work(char * str) from a task, str_local don't contain the right string.
After adding 500 bytes to the stack (now 1500 bytes) it writes "2" in Str_local.
I think its strange it did not detect any stack overflow and why do it need so much stack?
The problem was that I had an RTX_Config file for V3.02 and my IRQ and USR stack size was too small.