在启动文件中,
有对各个模式的SP进行设置:
InitStack
MOV R0, LR
;Build the SVC stack
;设置管理模式堆栈
MSR CPSR_c, #0xd3
LDR SP, StackSvc
;Build the IRQ stack
;设置中断模式堆栈
MSR CPSR_c, #0xd2
LDR SP, StackIrq
。。。。。。
那么调用函数 __user_initial_stackheap所返回的参数:
r0:heap基地址;
r1:堆栈基地址;
r2:heap长度限制值(需要的话);
r3:堆栈长度限制值。
其中的堆栈基址是干什么用的?与前面的InitStack 中的SP有什么关系?
就以栈为例,前面的InitStack 中的SP有设置了,
那后边的__user_initial_stackheap返回的参数是干什么用的?
请高手再指点!先谢了!!