| 以文本方式查看主題 - 曙海教育集團(tuán)論壇 (http://www.mikehunterok.com/bbs/index.asp) -- WinCE系統(tǒng)定制與驅(qū)動(dòng)開發(fā) (http://www.mikehunterok.com/bbs/list.asp?boardid=36) ---- OMAP3530 WINCE GPIO驅(qū)動(dòng)開發(fā)過程 (http://www.mikehunterok.com/bbs/dispbbs.asp?boardid=36&id=1820) |
| -- 作者:wangxinxin -- 發(fā)布時(shí)間:2010-11-26 10:58:35 -- OMAP3530 WINCE GPIO驅(qū)動(dòng)開發(fā)過程 一開始上來整TI的OMAP3530,直接碰的就是系統(tǒng)移植和GPIO驅(qū)動(dòng)。看了TI的DATASHEET和產(chǎn)品的性能介紹,說實(shí)話真的是一分錢一分貨,與曾經(jīng)的三星的相比,三星產(chǎn)品的本地化(中國(guó))做得比較好,首先價(jià)格較同類便宜,第二由于第一點(diǎn)造就了用的人多,人多英文的變成中文的手冊(cè)多,例子多,書多,源碼多。天下源碼一大抄嗎,所以一般而言,三星的就更受歡迎了,但是回過頭來,TI的產(chǎn)品真讓你心服口服。他的支持之多,超過了三星,只是多是英文的,起點(diǎn)高,所以。。。 1)數(shù)據(jù)輸入(捕獲)/輸出(驅(qū)動(dòng))
2) 帶有防抖功能的鍵盤接口
3)外部事件檢測(cè)(電平中斷、邊沿中斷)
4) 在空閑模式下通過外部事件的睡眠喚醒功能
相關(guān)的配置需要仔細(xì)參照技術(shù)手冊(cè)
我在編寫完OMAP3530的GPIO驅(qū)動(dòng)后,發(fā)現(xiàn)有的GPIO能夠控制輸入輸出,有的則不能。經(jīng)過同學(xué)提醒,重新看了技術(shù)手冊(cè),原來在技術(shù)手冊(cè)的第7章System Control Module(SCM)中明確介紹了core modul(內(nèi)核模塊)和wake-up module(喚醒模塊)。
1)I/O端口功能復(fù)用、多工選擇 2) Pad塊配置(端口上拉/下拉)
3) 設(shè)備狀態(tài)
4) MPU和DSP(IVA2.2)的外圍擴(kuò)展設(shè)備特性
5) 靜態(tài)設(shè)備配置
6)調(diào)試和觀測(cè)功能IO復(fù)用
7) 存儲(chǔ)pad塊的配置
pad塊配置寄存器如下:
其中pad塊的配置中有一項(xiàng)就是端口的MODE(3bits),由于一個(gè)GPIO可能有多個(gè)功能,他們是互斥的,只能選擇一個(gè),就涉及到端口功能的選擇,總共有MODE0到MODE7八個(gè)模式,默認(rèn)是MODE0,MODE7是安全模式。比如GPIO143總共有實(shí)實(shí)在在的5個(gè)模式:mcbsp3_fsx/uart2_rx/gpio143/hsusb3_till_data7/safemode。所以在配置GPIO的時(shí)候需要選擇成GPIO模式,不然操作GPIO就沒有效果,這是問題1.
1)INPUTENABLE = 0,關(guān)閉引腳輸入,引腳只能夠作為輸出。
2)
所以我們應(yīng)該使能SCM中,pad塊的這項(xiàng)功能。
GPIO驅(qū)動(dòng):
啟動(dòng)時(shí)安裝配置成GPIO的文件:
比如:
|