S3C2440之I O暫存器和中斷暫存器

2021-06-11 23:57:05 字數 1738 閱讀 3705

i/o暫存器

一.埠暫存器組:

gpacon: 0=輸出 1=初始引腳狀態

gpxcon:  00=輸入,01=輸出,10=初始引腳狀態,11=保留

gpxdat

gpxup:   0:允許上拉,1:禁止上拉

一般情況下不需要設定gpxup

二,外部中斷控制暫存器組

extiin0(7~0):000=低電平,001=高電平,01x=下降沿觸發,10x=上公升沿觸發,11x=2個沿都觸發

extiin1(15~8):000=低電平,001=高電平,01x=下降沿觸發,10x=上公升沿觸發,11x=2個沿都觸發

extiin2(23~16):000=低電平,001=高電平,01x=下降沿觸發,10x=上公升沿觸發,11x=2個沿都觸發

三,外部中斷濾波暫存器組

eintflt2(19~16):濾波時鐘:

濾波寬度

eintflt2(23~20):濾波時鐘:

濾波寬度

四.外部中斷遮蔽暫存器

eintmask(23~4):   0:允許中斷  1:遮蔽中斷

五,外部中斷登記暫存器

eintpend(23~4):  0:無請求,1:有請求

所有請求的中斷必須要登記。

中斷暫存器

中斷源主要有adc,rtc,spi,iic,dma,uart,usb,sd,lcd,timer,wdt,tick,外部中斷,也就是說幾乎所有的外設都能採用中斷的方式,向系統申請中斷,處理中斷處理程式

帶子暫存器的請求源通過子登記暫存器(subsrcpnd),通過子遮蔽暫存器(submask);不帶子暫存器的請求源向源登記暫存器(srcpnd)發出申請,再通過遮蔽暫存器(mask)和模式暫存器(mode),中斷優先順序暫存器(priority),最後通過中斷登記暫存器(intpnd),向arm核心發出irq中斷申請。

通過分析晶元手冊,我們發現srcpnd,intpnd的功能非常相像,但是並不相同,srcpnd是中斷申請的入口,intpnd是中斷處理的結果。srcpnd可以接受很多中斷,但是通過遮蔽,優先順序選擇之後,intpnd只能處理乙個中斷。

一,源登記暫存器

srcpnd: 0=無中斷請求,1=有中斷請求

二,中斷模式暫存器

intmod: 0=fiq,1=irq

三,中斷遮蔽暫存器

intmsk: 0=允許服務,1=遮蔽

四,優先權暫存器

proirity: 

五,中斷登記暫存器

intpnd: 0=無中斷請求 1=有中斷請求

六,子源登記暫存器

subsrcpnd: 0=無中斷請求,1=有中斷請求

在uart,dma等,有子中斷,例如,uart中的,int_errn,int_rxdn,int_txdn

七,中斷子遮蔽暫存器

intsubmsk: 0=允許服務,1=遮蔽

linux中中斷初始化**

void __init s3c2410_init_irq(void)

S3C2440 中斷控制暫存器

1 subsrcpnd 暫存器 sub source pending subsrcpnd 暫存器被用來標識 int rxd0 int txd0 等中斷 s3c2410中這類中斷有 11 個,而 s3c2440 中有 15 個 是否已經發生,每位對應乙個中斷。當這些中斷發生並且沒有被 intsubms...

S3C2440中斷暫存器

s3c2440的中斷暫存器 1.中斷分兩大類 內部中斷和外部中斷。2.外部中斷。24個外部中斷占用gpf0 gpf7 eint0 eint7 gpg0 gpg15 eint8 eint23 用這些腳做中斷輸入,則必須配置引腳為中斷,並且不要上拉。具體參考datesheet資料手冊。暫存器 extin...

S3C2440的中斷暫存器

s3c2440的中斷暫存器 1.中斷分兩大類 內部中斷和外部中斷。2.外部中斷。24個外部中斷占用gpf0 gpf7 eint0 eint7 gpg0 gpg15 eint8 eint23 用這些腳做中斷輸入,則必須配置引腳為中斷,並且不要上拉。具體參考datesheet資料手冊。暫存器 extin...