最近研究small rtos51,有点感觉了,但还是有些问题想不明白,希望哪位懂得大狭能给点建议,谢谢了.问题如下:
一。为什么一个关于堆栈的系统函数,用汇编写的,同时他也给了C的代换函数,可是他说汇编里第一句PUSH Os_Enter_Sum 不能用C代替,为什么?难道C不能对堆栈进行操作?
二。为什么把汇编用C代替后他显示警告
*** WARNING L15: MULTIPLE CALL TO SEGMENT
SEGMENT: ?PR?C_OSCTXSW?OS_CPU_C
CALLER1: ?PR?OSTICKISR?OS_CPU_C
CALLER2: ?C_C51STARTUP
我查了好像警告是关于函数重入得问题。而且我替换汇编函数后,不能正确切换回高优先级任务了。
三。全局变量,局部变量在keil51下存放在哪里?
谢谢大家了,小弟我这几天为了这些问题都睡不好觉了 |