Windws CE平台PXA270中斷開發指南

2021-04-13 00:49:46 字數 1870 閱讀 9804

windws ce平台pxa270中斷開發指南

1 wince中第一次對中斷的處理是在oal的oeminit()中,該函式呼叫oalintrinit()完成對中斷的初始化.

2 oalintrinit()對中斷的初始化做了如下工作:

2.1 通過配置ipr0-ipr33設定中斷優先順序,優先順序定義在g_intpriorities和g_intpriorities2中,其中irq_o**r0為最高優先順序, irq_keypad為最低優先順序.

2.2 設定iccr,在空閒模式時只對有效的,非遮蔽的中斷響應.

2.3 bspintrinit().該函式對bsp中需要處理的中斷進行初始化工作,主要是設定icmr暫存器使gpio1(cpld)和gpio2為非遮蔽狀態,然後通過oalintrstatictranslate建立irq和sysintr之間的關聯.

2.4 對於wince來說,中斷可以作如下分類:

1)  與bsp無關的kernel使用的內部中斷, 比如irq_o**r0(for sched),irq_rtcalarm;

2)  與bsp有關的cpu內部中斷,比如irq_usbohci, irq_o**r1, irq_keypad, irq_ffuart, irq_btuart, irq_stuart, irq_dmac, irq_usbfn;

3)  cpld所管理的中斷,以gpio1通知cpu中斷的產生,在收到gpio1產生的中斷後可以通過讀取位址0x0a00_0010判斷具體的中斷源,比如irq_gpio1_mmccd(mmc_in_int, mmc_out_int), irq_gpio1_usbcd(usb_in_int, usb_out_int), irq_gpio1_pcmcia_s0_csc(cf_in_int. cf_out_int),還有在**中沒有處理的sim卡中斷(sim_in_int, sim_out_int).

4)  gpio2_120產生的中斷,通過暫存器icip的位10-gpio_x通知cpu中斷的產生,然後查詢暫存器gedr_x可以判斷具體的中斷源,比如irq_gpio12_maratho, irq_gpio10_ethernet,irq_gpio13_ucb1400;

5)  以installable isr形式產生的中斷,這類中斷通常是以dll的形式安裝,在登錄檔中定義其實際的irq中斷值,比如irq_mmc_detect,irq_mmc_control;

2.5 有幾種方式可以建立實際中斷irq到系統中斷sysintr之間的關聯,對於build-in裝置,可以在oeminit中通過oalintrstatictranslate來建立靜態的關聯;但是對於installable isrs,可以在登錄檔中定義實際的中斷irq,然後通過在kerneliocontrol中使用ioctl_hal_request_sysintr來實時分配新的sysintr,這有助於驅動的移植.

3 在cpu接收到中斷後,對中斷的處理是在 oeminterrupthandler()中,該函式的首先遮蔽該中斷,最後得到實際中斷irq所對應的sysintr的值.

3.1 首先它通過中斷暫存器ichp得到實際的irq值;

3.2 對於gpio產生的中斷,通過清空gfer和grer暫存器來遮蔽相同的中斷;對於其餘的cpu內部中斷,通過清空icmr暫存器的相應位來遮蔽中斷;

3.3 對於kernel使用的irq_o**r0和irq_o**r2,分別進行處理,得到sysintr;

3.4 對於通過gpio0,gpio1和gpio2_120產生的中斷,將irq的值進行轉化,使之與oal/intr.c和bulverder_intr.h中所定義的新的irq值相對應,此時的irq值就不是在icip中對定義的irq值了;

3.5 接著呼叫nkcallintchain(irq)判斷該irq是否已經被加入中斷列表,同時開始呼叫該中斷的isr程式.

4 當中斷處理完成後,呼叫oalintrdoneirqs(),重新使能中斷.

PXA270嵌入式系統設計一 電源管理部分

最近計畫針對我們華清遠見的教學開發一套pxa270系統,我把我的一些軟 硬體開發過程記錄下來和大家一起分享 討論。有好的建議大家一定要及時交流,lht farsight.com.cn 平台硬體功能要求 32m 64m nor flash 64m sdram 10m 100m自適應網口 串列埠 sd卡...

PXA270嵌入式系統設計一 電源管理部分

最近計畫針對我們華清遠見的教學開發一套pxa270系統,我把我的一些軟 硬體開發過程記錄下來和大家一起分享 討論。有好的建議大家一定要及時交流,lht farsight.com.cn 平台硬體功能要求 32m 64m nor flash 64m sdram 10m 100m自適應網口 串列埠 sd卡...

PXA270嵌入式系統設計一 電源管理部分收藏

最近計畫針對我們華清遠見 的教學開發一套pxa270系統,我把我的一些軟 硬體開發過程記錄下來和大家一起分享 討論。有好的建議大家一定要及時交流,lht farsight.com.cn 平台硬體功能要求 32m 64m nor flash 64m sdram 10m 100m自適應網口 串列埠 sd...