主题 : 求助关于堆栈设置 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 56164
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
贡献值: 0 点
综合积分: 12 分
注册时间: 2011-09-30
最后登录: 2011-12-19
楼主  发表于: 2011-10-27 16:19

 求助关于堆栈设置

;===========================================
; NAME: OPTION.A
; DESC: Configuration options for .S files
;===========================================

;Start address of each stacks,
_STACK_BASEADDRESS    EQU 0x33ff8000
_MMUTT_STARTADDRESS    EQU 0x33ff8000
_ISR_STARTADDRESS    EQU 0x33ffff00



;The location of stacks
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 ~

为什么堆栈要用0x33ff4800这些地址呢 为什么不从34000000开始呢
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2011-10-27 19:33
栈是向下(低地址)生长的,只要不跟程序的代码数据等其他段冲突就可以。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."