搜索
bottom↓
回复: 0

关于ARM的启动代码中栈大小的定义的问题

[复制链接]

出0入0汤圆

发表于 2010-9-7 09:50:44 | 显示全部楼层 |阅读模式
在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_Size  EQU     0x00000000
SVC_Stack_Size  EQU     0x00000008
ABT_Stack_Size  EQU     0x00000000
FIQ_Stack_Size  EQU     0x00000000
IRQ_Stack_Size  EQU     0x00000080
USR_Stack_Size  EQU     0x00000400

ISR_Stack_Size  EQU     (UND_Stack_Size + SVC_Stack_Size + ABT_Stack_Size + \
                         FIQ_Stack_Size + IRQ_Stack_Size)
个人认为他们定义的内容应该是相同的,但怎么感觉很不一样?不知大侠们可以指点一下小弟不?

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-13 19:41

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表