<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > ARM編程:ARM初始化,堆棧地址是怎樣計算的

ARM編程:ARM初始化,堆棧地址是怎樣計算的

作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò ) 收藏

USR_STACK_LEGTHEQU64
SVC_STACK_LEGTHEQU0
FIQ_STACK_LEGTHEQU16
IRQ_STACK_LEGTHEQU64
ABT_STACK_LEGTHEQU0
UND_STACK_LEGTHEQU0
;名稱(chēng):InitStack
;功能:堆棧初始化,即初始化各模式下的堆棧指針。
;入口參數:無(wú)
;出口參數:無(wú)
;說(shuō)明:在特權模式下調用此子程序,比如復位后的管理模式
InitStack
MOVR0,LR;R0<=LR,因為各種模式下R0是相同


;設置管理模式堆棧
MSRCPSR_c,#0xd3
LDRSP,StackSvc
;設置中斷模式堆棧
MSRCPSR_c,#0xd2
LDRSP,StackIrq
;設置快速中斷模式堆棧
MSRCPSR_c,#0xd1
LDRSP,StackFiq
;設置中止模式堆棧
MSRCPSR_c,#0xd7
LDRSP,StackAbt
;設置未定義模式堆棧
MSRCPSR_c,#0xdb
LDRSP,StackUnd
;設置系統模式堆棧
MSRCPSR_c,#0xdf
LDRSP,StackUsr

MOVPC,R0

StackUsrDCDUsrStackSpace+(USR_STACK_LEGTH-1)*4
StackSvcDCDSvcStackSpace+(SVC_STACK_LEGTH-1)*4
StackIrqDCDIrqStackSpace+(IRQ_STACK_LEGTH-1)*4
StackFiqDCDFiqStackSpace+(FIQ_STACK_LEGTH-1)*4
StackAbtDCDAbtStackSpace+(ABT_STACK_LEGTH-1)*4
StackUndDCDUndtStackSpace+(UND_STACK_LEGTH-1)*4


;分配堆??臻g
AREAMyStacks,DATA,NOINIT,ALIGN=2
UsrStackSpaceSPACEUSR_STACK_LEGTH*4;用戶(hù)(系統)模式堆??臻g
SvcStackSpaceSPACESVC_STACK_LEGTH*4;管理模式堆??臻g
IrqStackSpaceSPACEIRQ_STACK_LEGTH*4;中斷模式堆??臻g
FiqStackSpaceSPACEFIQ_STACK_LEGTH*4;快速中斷模式堆??臻g
AbtStackSpaceSPACEABT_STACK_LEGTH*4;中止義模式堆??臻g
UndtStackSpaceSPACEUND_STACK_LEGTH*4;未定義模式堆棧



經(jīng)過(guò)ADS1.2仿真;發(fā)現地址變化如下
svc0x400030fc
irq0x400031fc
fiq0x4000323c
abort0x4000323c
undef0x4000323c
sys0x400030fc

svcfirirqabortundefsys的地址是怎樣計算出來(lái)的?

本文引用地址:http://dyxdggzs.com/article/201611/322956.htm
  • 關(guān)鍵是MyStacks的起始地址.看看ADS的配置里linker選項里的配置. [xiaogang]2007-4-1611:57:05

    如果沒(méi)有配置.則看AREAMyStacks,DATA,NOINIT,ALIGN=2后面是否有個(gè)
    ^XXXXX..來(lái)定義MyStacks的起始地址
    得到起始地址后,再由SPACE按順序分配內存空間

  • 對,RWBase設置的是0x40003000 [jinjing999666]2007-4-1620:40:08

    我又把RWBase設置的是0x40005000
    觀(guān)察都變成了
    svc0x400050fc
    irq0x400051fc
    fiq0x4000523c
    undef0x4000523c
    sys0x400050fc



關(guān)鍵詞: ARM編程ARM初始化堆棧地

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>