嵌入式学习小组
直播中

徐波

7年用户
私信 关注

uC/OS-III为什么单独定义主堆栈?

最近在学习uC/OS-III,有些疑问,向大家请教:
     在系统启动时,MCU的主堆栈指针MSP默认指向“系统堆栈”,大小也就是“Startup_STM32f40_41xxx.s文件中Stack_Size      EQU     0x00000400决定”,但是uC/OS-III启动时,
为什么单独定义主堆栈,而不采用默认的系统堆栈,在开始多任务函数OSStartHighRdy()函数中,将OS_CPU_ExceptStkBase赋值给MSP:
     LDR R0, =OS_CPU_ExceptStkBase
                         ; Initialize the MSP to the OS_CPU_ExceptStkBase
    LDR     R1, [R0]
    MSR     MSP, R1  
    问题:为什么单独定义异常中断堆栈,而不采用默认的系统堆栈?

回帖(1)

张龙

2020-3-12 11:14:48
帮顶
举报

更多回帖

发帖
×
20
完善资料,
赚取积分