-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Preempted Task does not resume from last step #7
Comments
@kuldeepgade : Can you explain more what you mean by "This is not happening" ? When you have in your application another higher prio task than the 5ms task which became ready just after the execution of the systick interrupt, the OS will switch the context to this higher prio task instead of coming back to the 5ms (after the systick ISR execution). Is that the case in your application ? |
@Chalandi : Task execution flow is explained in this diagram |
@kuldeepgade : Could you share your OS Config file ? |
@Chalandi : Only INIT Task is AUTOSTART task. |
What about the stack sizes ? Do you terminate the task TASK_5ms for any reason in your code ? |
Example: TASK(T_1MS) |
@Chalandi : it seems like context saving is successful but context reloading / restoring is not happening for preempted task. |
@Chalandi : can you suggest something, why control doesn't return after POP instruction execution in both the handlers. |
@kuldeepgade : Could you please share more details about the issue ? maybe share a piece of code and a brief description of the issue in order to help you fixing it |
@Chalandi : in OsAsm.c, Os_Dispatcher, Line-40, |
@kuldeepgade : how did you checked that the last two instructions are never executed ? Are you running the OS on Cortex-M3 CPU ? This OS version was made for Cortex-M3 without FPU, so if you're running it on any other Cortex-M with FPU enabled you will get some lazy stacking issues as this OS doesn't support the FPU. |
@Chalandi : I checked with debugger breakpoints. |
Continue work cross GCC build but startup TODO
@Chalandi : If 5ms task is in execution, at certain step, 1ms Tick arrived. Control shall passes to 1ms.
But, while coming back to 5ms, it shall resume execuion from the point it left.
This is not happening.
Please suggets your inputs.
Thanks
The text was updated successfully, but these errors were encountered: