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.
I am programming a simple full pre-emptive RTOS. It needs context switch. For saving contexts, is it enough to save all registers and CPSR? if tasks have local variables, and the complier uses memories to store them. If just saving registers, it seems not enough. What should I do?
thank you for your help!!!
Local variables stay on the stack unless you defined them as static. Therefore you should not have any static variables in a function.
The stack and the registors are saved by the OS and restored by the OS.
Get a copy of the book and read it. Code is written in 'c' You can also (at least you use to be able to) download the source from there web. They have ports for difference uP's. You should be able to use the source as a starting point.
Look at the license agreement.