在KEIL平台上编译UC/OS我有这样的一个困惑,我发现任务堆栈里保存的仅仅是CPU寄存器的状态和一些函数嵌套时的PC值还有就是函数嵌套时的一些传递参数的值,但是他并没有保存函数中的局部变量,这样的话,当有一个任务正在调用一个函数的时候,切换到了另外的一个任务,而这个任务也调用了这个函数,也就是说这个函数的局部变量被从新赋值改变了,那么当回到原来的任务时,这时候不就会出现了运行错误,这样的话系统不是会很不稳定。
请教一下,在KEIL编译器中有预防这种状况的机制吗?还是UC/OS本省有预防的机制,不然系统不是随时都有可能出错,请高手指教啊。。。。。。 |