<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團論壇Win CE 專區(qū)WinCE系統(tǒng)定制與驅(qū)動開發(fā) → OMAP3530 WINCE GPIO驅(qū)動開發(fā)過程


      共有8027人關(guān)注過本帖樹形打印

    主題:OMAP3530 WINCE GPIO驅(qū)動開發(fā)過程

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


    加好友 發(fā)短信
    等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
    OMAP3530 WINCE GPIO驅(qū)動開發(fā)過程  發(fā)帖心情 Post By:2010-11-26 10:58:35

    一開始上來整TI的OMAP3530,直接碰的就是系統(tǒng)移植和GPIO驅(qū)動。看了TI的DATASHEET和產(chǎn)品的性能介紹,說實話真的是一分錢一分貨,與曾經(jīng)的三星的相比,三星產(chǎn)品的本地化(中國)做得比較好,首先價格較同類便宜,第二由于第一點造就了用的人多,人多英文的變成中文的手冊多,例子多,書多,源碼多。天下源碼一大抄嗎,所以一般而言,三星的就更受歡迎了,但是回過頭來,TI的產(chǎn)品真讓你心服口服。他的支持之多,超過了三星,只是多是英文的,起點高,所以。。。
        言歸正傳,OMAP3530的GPIO(General-purpose Interface)按照分組的原則,共有6組,每組的控制類寄存器是32bit的,代表了32個GPIO,所以總共有192個GPIO,這些是屬于MPU控制的,超過192編號的GPIO是屬于IVA2.2(DSP)控制的。結(jié)構(gòu)框圖如下: OMAP3530的GPIO具有以下功能:
    1)數(shù)據(jù)輸入(捕獲)/輸出(驅(qū)動)
    2) 帶有防抖功能的鍵盤接口
    3)外部事件檢測(電平中斷、邊沿中斷)
    4) 在空閑模式下通過外部事件的睡眠喚醒功能
    相關(guān)的配置需要仔細(xì)參照技術(shù)手冊
        接下來是WINCE下的GPIO驅(qū)動,跳過流驅(qū)動的標(biāo)準(zhǔn)框架以及MDD層框架和PDD層的與硬件相關(guān)的寄存器設(shè)置。這些和三星ARM的GPIO驅(qū)動大同小異。
        著重介紹可能遇到的問題,忽略的地方:
    我在編寫完OMAP3530的GPIO驅(qū)動后,發(fā)現(xiàn)有的GPIO能夠控制輸入輸出,有的則不能。經(jīng)過同學(xué)提醒,重新看了技術(shù)手冊,原來在技術(shù)手冊的第7章System Control Module(SCM)中明確介紹了core modul(內(nèi)核模塊)和wake-up module(喚醒模塊)。
        SCM主要負(fù)責(zé)以下功能
    1)I/O端口功能復(fù)用、多工選擇
    2) Pad塊配置(端口上拉/下拉)
    3) 設(shè)備狀態(tài)
    4) MPU和DSP(IVA2.2)的外圍擴展設(shè)備特性
    5) 靜態(tài)設(shè)備配置
    6)調(diào)試和觀測功能IO復(fù)用
    7) 存儲pad塊的配置
    pad塊配置寄存器如下:
    其中pad塊的配置中有一項就是端口的MODE(3bits),由于一個GPIO可能有多個功能,他們是互斥的,只能選擇一個,就涉及到端口功能的選擇,總共有MODE0到MODE7八個模式,默認(rèn)是MODE0,MODE7是安全模式。比如GPIO143總共有實實在在的5個模式:mcbsp3_fsx/uart2_rx/gpio143/hsusb3_till_data7/safemode。所以在配置GPIO的時候需要選擇成GPIO模式,不然操作GPIO就沒有效果,這是問題1.
       另外,上面的配置只能解決端口的輸出控制,當(dāng)端口配置成輸入時,就不一定能讀取端口電平。問題出在哪里呢,繼續(xù)仔細(xì)參照技術(shù)手冊的SCM模塊。pad塊中還有兩項是GPIO的上拉/下拉選項、輸入使能選項。針對當(dāng)GPIO端口配置為輸入時不能讀取正確的引腳電平的問題,主要原因是由于GPIO端口的輸入使能被關(guān)閉了。
       輸入使能(INPUTENABLE)(1bits)的描述如下:
    1)INPUTENABLE = 0,關(guān)閉引腳輸入,引腳只能夠作為輸出。
    2) INPUTENABLE = 1,使能引腳輸入,引腳具有雙向端口功能,即輸入/輸出。
    所以我們應(yīng)該使能SCM中,pad塊的這項功能。
       具體到相關(guān)的WINCE文件有
    GPIO驅(qū)動:
       1) $\WINCE600\PLATFORM\TI_EVM_3530\SRC\DRIVERS\GPIO\gpio.cpp
       2)$\WINCE600\PLATFORM\COMMON\SRC\SOC\OMAP35XX_TPS659XX_TI_V1\omap35xx\GPIO\omap35xx_gpio.cpp
    啟動時安裝配置成GPIO的文件:
       1)$\WINCE600\PLATFORM\TI_EVM_3530\SRC\BOOT\XLDR\platform.c
    比如:
       VOID GpioSetup()函數(shù)下的GPIO模式和端口方向定制:
     OUTREG16(&pConfig->CONTROL_PADCONF_SDRC_D0, (INPUT_ENABLE | PULL_INACTIVE | MUX_MODE_0));  
        OUTREG16(&pConfig->CONTROL_PADCONF_SDRC_D1, (INPUT_ENABLE | PULL_INACTIVE | MUX_MODE_0));  
        OUTREG16(&pConfig->CONTROL_PADCONF_SDRC_D2, (INPUT_ENABLE | PULL_INACTIVE | MUX_MODE_0));  
        OUTREG16(&pConfig->CONTROL_PADCONF_SDRC_D3, (INPUT_ENABLE | PULL_INACTIVE | MUX_MODE_0));  
        OUTREG16(&pConfig->CONTROL_PADCONF_SDRC_D4, (INPUT_ENABLE | PULL_INACTIVE | MUX_MODE_0));  
        OUTREG16(&pConfig->CONTROL_PADCONF_SDRC_D5, (INPUT_ENABLE | PULL_INACTIVE | MUX_MODE_0));  
        OUTREG16(&pConfig->CONTROL_PADCONF_SDRC_D6, (INPUT_ENABLE | PULL_INACTIVE | MUX_MODE_0));  
        OUTREG16(&pConfig->CONTROL_PADCONF_SDRC_D7, (INPUT_ENABLE | PULL_INACTIVE | MUX_MODE_0));  
        OUTREG16(&pConfig->CONTROL_PADCONF_SDRC_D8, (INPUT_ENABLE | PULL_INACTIVE | MUX_MODE_0));  
     
       綜上所述:SCM模塊決定了端口的功能,而GPIO模塊控制了端口的GPIO功能;GPIO只是端口功能的一個子集。

    支持(0中立(0反對(0單帖管理 | 引用 | 回復(fù) 回到頂部

    返回版面帖子列表

    OMAP3530 WINCE GPIO驅(qū)動開發(fā)過程








    簽名
    主站蜘蛛池模板: 国产女人高潮视频在线观看| 日本亚洲欧美在线视观看 | 在线观看免费成人| 久久人人爽爽人人爽人人片AV| 欧美军同性videosbest| 再深点灬舒服灬太大了一进一出| 野花日本免费观看高清电影8| 国产超级乱淫视频播放免费| 中文字幕一区二区三区精彩视频| 日韩三级视频在线| 亚洲最大成人网色香蕉| 狠狠色综合网站久久久久久久| 国产亚洲一路线二路线高质量| 50岁丰满女人下面毛耸耸| 在逃生游戏里挨c海棠小说| 中文无码字幕中文有码字幕| 日韩欧美成末人一区二区三区| 亚洲欧美精品日韩欧美| 特级毛片爽www免费版| 国产a级黄色毛片| 蜜臀av性久久久久蜜臀aⅴ麻豆| 国产精品久久久久久久久齐齐| freehdxxx2018| 好大好湿好硬顶到了好爽视频 | 中文字幕在线视频免费| 日本动漫打扑克动画片樱花动漫| 亚洲国产成人99精品激情在线| 残虐极限扩宫俱乐部| 免费视频中文字幕| 精品免费国产一区二区| 国产亚洲欧美另类一区二区三区| 麻豆av一区二区三区| 国产精品无圣光一区二区| j8又粗又大又长又爽又硬男男| 少妇激情av一区二区| 久久久久久亚洲av成人无码国产 | 抱着cao才爽| 久久综合九色综合91| 最新国产三级久久| 亚洲日韩精品无码一区二区三区 | 中文无遮挡h肉视频在线观看|