关于uCOS-II中OSISRStkPtr
我在官方下载的MSP430F5438的PORT.内核是2.86版uCOS-II.在Tick ISR中, 有个变量叫做OSISRStkPtr. 我理解这应该是独立中断堆栈的指针,但是在uCOS-II中,其他堆栈都是有大小的,或者说是有范围的,而OSISRStkPtr则没有明确构建中断堆栈.
在os_cpu.h中,有如下代码:
/*
************************************************************
* GLOBAL VARIABLES
*************************************************************/
OS_CPU_EXT OS_STK *OSISRStkPtr; /* Pointer to top-of ISR stack */
然后汇编里就直接使用这个变量了. 其他的堆栈不都是构建一个数组吗?这样使用OSISRStkPtr会不会造成堆栈溢出啊. 有没有高人指点一二:D 自回.
OSISRStkPtr只保存指向堆栈的指针,而不指向堆栈. 因为在各任务堆栈之外,IAR会自动生成一个堆栈CSTACK,用前后台方式编程时, 中断和调用使用的堆栈就是这个. OSISRStkPtr指向的就是此堆栈. 这个堆栈的大小可以在IAR项目中设置.
自己拿分走人:lol 唉,自己不能给自己分啊;P
下面回复的前4名兄弟,每人5分,来拿啊 这个堆栈是不是只在中断里使用? 中断的堆栈和任务堆栈分开好一些,能节省点RAM。等楼主送分,呵呵。 大伙都很谈定,20分都给你吧:D thank you very much.:D 1# soicer
楼主,我在网上下载的一个能运行的5438的ucos-ii 2.86的工程,可惜没有发现有中断管理的那一部分。。。哎,这个UCos感觉好怪。。。
页:
[1]