|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
ARM流水線與PC問題,不很明白,很想弄清楚 |
| 作者:computer00 欄目:ARM技術 |
| 2樓: | >>參與討論 |
| 作者: huai903 于 2006/8/4 19:32:00 發(fā)布:
00,當IRQ中斷發(fā)生時 保存環(huán)境,在IRQ模式下,保存被中斷模式的PC值,是不是要將R14-4壓棧。 |
|
| 3樓: | >>參與討論 |
| 作者: computer00 于 2006/8/4 20:13:00 發(fā)布:
一般是直接壓R14,在中斷返回時,再減4 用指令 SUBS PC,R14,#0x04 返回 |
|
| 4樓: | >>參與討論 |
| 作者: huai903 于 2006/8/4 20:51:00 發(fā)布:
呵呵,就是說,我說的也對了。 |
|
| 5樓: | >>參與討論 |
| 作者: icyacht 于 2006/8/4 22:01:00 發(fā)布:
也想知道 也想知道 |
|
| 6樓: | >>參與討論 |
| 作者: nkguodalu 于 2006/8/7 21:52:00 發(fā)布:
異常中斷返回的幾種情況 ARM體系結構與編程 清華大學出版社 杜春雷 第九章異常中斷處理 我的理解如下: 1.SWI和和未定義指令異常中斷的返回: 指令地址 A PC-8 當前指令為SWI或未定義指令 此時發(fā)生中斷.PC的值還沒有更新. A+4 PC-4 中斷時處理器將PC-4保存到LR A+8 PC 返回時,從發(fā)生中斷的指令A(PC-8)的下一條指令A+4(PC-4)處開始執(zhí)行,所以直接 把LR的值賦給PC就行了,具體指令為MOV PC,LR (PC=A+4=LR) 2,IRQ和FIQ異常中斷處理的返回: 指令地址 對應于PC A PC-8 執(zhí)行此指令完成后(!)查詢IRQ及FIQ,如果有中斷請求 則產(chǎn)生中斷. A+4 PC-4 A+8 PC (此時PC的值已經(jīng)更新,指向A+12.將當前PC-4(即A+8) 保存到LR.返回時,要接著執(zhí)行A+4(LR-4)處的指令,所以返回指令為 SUBS PC, LR,#4(PC=A+4=LR-4) 3,指令預取中止異常中斷處理的返回: 指令地址 A PC-8 執(zhí)行本指令時發(fā)生中斷, A+4 PC-4 處理器將A+4(PC-4)保存到LR. A+8 PC 返回時,發(fā)生指令預取中止的指令A(PC-8)處重新執(zhí)行,所以返回指令為 SUBS PC, LR,#4(PC=A=LR-4) 4,數(shù)據(jù)訪問中止異常中斷處理的返回: 指令地址 A PC-8 本指令訪問有問題的數(shù)據(jù),產(chǎn)生中斷時,PC的值已經(jīng)更新 A+4 PC-4 中斷發(fā)生時PC=A+12,處理器將A+8(PC-4)保存到LR. A+8 PC 返回時,要返回到A處繼續(xù)執(zhí)行,所以指令為SUBS PC, LR,#8.(PC=A=LR-8) |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |