高级会员

- 积分
- 558
- 金钱
- 558
- 注册时间
- 2016-12-24
- 在线时间
- 68 小时
|
1金钱
最近在学习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
问题:为什么单独定义异常中断堆栈,而不采用默认的系统堆栈?
|
|