亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1021 | 回復(fù): 0
打印 上一主題 下一主題

關(guān)于44b0的中斷系統(tǒng) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2008-06-01 16:00 |只看該作者 |倒序瀏覽

                                1.幾個概念 0x0  - 0x1c 叫異常向量表
          0x20 - 0xc0 叫中斷向量表
          RAM區(qū)用戶定義中斷向量表,叫二級中斷向量表
2.向量模式中斷
  異常向量表后緊接中斷向量表,沒有二級中斷向量表,中斷向量表里放的是中斷服務(wù)程序的入口地址.
  從0x18到中斷向量表的跳轉(zhuǎn)是由硬件自行完成的.
   
  ENTRY
b ResetHandler ; 0x00
b HandlerUndef ; 0x04
b HandlerSWI ; 0x08
b HandlerPabort ; 0x0c
b HandlerDabort ; 0x10
b . ; 0x14
b HandlerIRQ ; 0x18
b HandlerFIQ ; 0x1c
ldr pc,=HandlerEINT0 ; 0x20  ;里面放的是中斷處理函數(shù)的地址.
ldr pc,=HandlerEINT1
ldr pc,=HandlerEINT2
ldr pc,=HandlerEINT3
ldr pc,=HandlerEINT4567
ldr pc,=HandlerTICK ; 0x34
b .
b .
ldr pc,=HandlerZDMA0 ; 0x40
ldr pc,=HandlerZDMA1
ldr pc,=HandlerBDMA0
ldr pc,=HandlerBDMA1
ldr pc,=HandlerWDT
ldr pc,=HandlerUERR01 ; 0x54
b .
b .
ldr pc,=HandlerTIMER0 ; 0x60
ldr pc,=HandlerTIMER1
ldr pc,=HandlerTIMER2
ldr pc,=HandlerTIMER3
ldr pc,=HandlerTIMER4
ldr pc,=HandlerTIMER5 ; 0x74
b .
b .
ldr pc,=HandlerURXD0 ; 0x80
ldr pc,=HandlerURXD1
ldr pc,=HandlerIIC
ldr pc,=HandlerSIO
ldr pc,=HandlerUTXD0
ldr pc,=HandlerUTXD1 ; 0x94
b .
b .
ldr pc,=HandlerRTC ; 0xa0
b .
b .
b .
b .
b .
b .
ldr pc,=HandlerADC ; 0xb4
3.非向量模式中斷:
  這個比較復(fù)雜,
  原理: irq request -> 0x18 -> HandlerIRQ(一個宏) -> HandleIRQ(一個內(nèi)存地址,里面是IsrIRQ函數(shù)的地址) -> IsrIRQ(根據(jù)I_ISPR,來判斷哪個中斷發(fā)生) -> 二級中斷向量表(RAM高端) -> 轉(zhuǎn)到中斷服務(wù)程序的入口地址(此圖根據(jù)44b0init.s得來,不是下面的代碼的運行方式)
如下圖:
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/moz-screenshot.jpg
file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/moz-screenshot-1.jpg

此處代碼比上圖的運行方式少了一個環(huán)節(jié):沒有HandlerIRQ這個階段.
ENTRY
b ResetHandler   ; for debug
b HandlerUndef   ; handlerUndef
b HandlerSWI     ; SWI interrupt handler
b HandlerPabort  ; handlerPAbort
b HandlerDabort  ; handlerDAbort
b .              ; handlerReserved
b IsrIRQ
b HandlerFIQ
. . . . . .
IsrIRQ
    sub     sp,sp,#4 ; reserved for PC
    stmfd    sp!,{r8-r9}
    ldr     r9,=I_ISPR
    ldr     r9,[r9]
    mov     r8,#0x0
0   movs    r9,r9,lsr #1  ;移位,c為最后一位被移出的.如果最后一位是1,那么C置位,
    bcs     %F1           ;如果C置位,跳.
    add     r8,r8,#4
    b       %B0
1   ldr     r9,=HandleADC
    add     r9,r9,r8
    ldr     r9,[r9]
    str     r9,[sp,#8]
    ldmfd   sp!,{r8-r9,pc}
. . . . . .
HandleADC # 4
HandleRTC # 4
HandleUTXD1 # 4
HandleUTXD0 # 4
. . . . . .
HandleEINT3 # 4
HandleEINT2 # 4
HandleEINT1 # 4
HandleEINT0 # 4 ; 0xc1(c7)fff84
中斷寄存器
---------------------------------------------------------
INTCON    0x01e00000    Interrupt Control
INTPND    0x01e00004    Interrupt Request Status
INTMOD    0x01e00008    Interrupt Mode Control
INTMSK    0x01e0000c    Interrupt Mask Control
I_PSLV    0x01e00010    IRQ Interrupt Previous Slave
I_PMST    0x01e00014    IRQ Interrupt Priority Master
I_CSLV    0x01e00018    IRQ Interrupt Current Slave
I_CMST    0x01e0001c    IRQ Interrupt Current Master
I_ISPR    0x01e00020    IRQ Interrupt Pending Status
I_ISPC    0x01e00024    IRQ Interrupt Pending Clear
F_ISPR    0x01e00038    FIQ Interrupt Pending
F_ISPC    0x01e0003c    FIQ Interrupt Pending Clear
               
               
               
               
               
               
               

本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u/26390/showart_722909.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP