关于ARM的启动代码中栈大小的定义的问题
在ADS中的启动码里有这么一段下面是在ADS中的一段启动代码(网上找的程序)
;堆栈分配
;SDRAM片选采用nGCS6,所以地址从0x30000000开始,BANK6和BANK7 SDRAM容量必须一致,
;BANK7的起始地址和尺寸不固定,本案中采用两片32MB的SDRAM
;地址空间从0x30000000到0x33FFFFFF,此地址域段处于nGCS6片选范围内。
SDRAM_END EQU 0x34000000 ;0x34000000
_STACK_BASEADDRESS EQU (SDRAM_END-0x8000) ;0x33ff8000
UserStack EQU (_STACK_BASEADDRESS-0x3800) ;0x33ff4800 ~
SVCStack EQU (_STACK_BASEADDRESS-0x2800) ;0x33ff5800 ~
UndefStack EQU (_STACK_BASEADDRESS-0x2400) ;0x33ff5c00 ~
AbortStack EQU (_STACK_BASEADDRESS-0x2000) ;0x33ff6000 ~
IRQStack EQU (_STACK_BASEADDRESS-0x1000) ;0x33ff7000 ~
FIQStack EQU (_STACK_BASEADDRESS-0x0) ;0x33ff8000 ~
而KEIL自动生成的代码有这么一段
下面是KEIL自动生成的一个启动代码中的一段程序
UND_Stack_SizeEQU 0x00000000
SVC_Stack_SizeEQU 0x00000008
ABT_Stack_SizeEQU 0x00000000
FIQ_Stack_SizeEQU 0x00000000
IRQ_Stack_SizeEQU 0x00000080
USR_Stack_SizeEQU 0x00000400
ISR_Stack_SizeEQU (UND_Stack_Size + SVC_Stack_Size + ABT_Stack_Size + \
FIQ_Stack_Size + IRQ_Stack_Size)
个人认为他们定义的内容应该是相同的,但怎么感觉很不一样?不知大侠们可以指点一下小弟不?
页:
[1]