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.
Hi,
we have configured our main task to activate at every 10ms as shown below
Number of concurrent tasks running 13 Timer tick interval: 10ms
void task1(void) { os_itv_set(1);
for(;;) { os_itv_wait();
} }
Some times the Os_itv_wait is getting corrupted. We are able to see this in RTX Kernal window which we are able to see in debug it was showing delay as 10045.
Could you please help us in fixing the problem
Thank you for your support Harish
Isn't one thread enough? What was wrong with this thread? http://www.keil.com/forum/docs/thread15436.asp
Thank you for your reply, There was no problem with that thread,
I was not able to blink the led since i dont have leds on my board,
but we were able detect that OS_ITV_Wait function itself is getting corrupted, by inspecting the RTX Kernal window, The OS_ITV_SET function is set to 100045 so the task is wiating for 10045 * 10ms and starting, By this time we have watchdog timer which is restarting the system,
I want to know like when this OS_ITV_Wait function can be corrupted, I dont have any leds to blink on my board, i have 13 tasks running parallely.
I have noticed that the Kernel awareness of uv3 is not too great. it tends to display "stack overload" for tasks (while task stack checking is enabled!), display wrong timing from time to time etc. trust your eyes or better - a LED. can't you solder one?
Thank you for your reply,
I am verifying the time by displaying taskid on the LCD screen. It is getting strucked for almost 5 minutes and it is start executing after 5 minutes.
if i use os_dly_wait in place of Os_itv_set and Os_itv_wait the code is working fine,
I dont know wat is the problem in using the os_itv_wait()and os_itv_set