"); //-->
本文檔主要介紹 iMX6 板子 gpio 引腳讀寫配置。有關(guān)平臺文件的設(shè)備注冊的資料可以參
考“iTOP-iMX6-平臺文件注冊設(shè)備”文檔。注冊的設(shè)備名稱是“gpio_ctl”。
硬件環(huán)境:iMX6 開發(fā)板:核心板 v_1.2、底板 v_2.2(以及 v_2.1 底板)。
軟件環(huán)境:Ubuntu12.04。
1.4 平臺文件修改
進入 iTOPiMX6_android4.4.2/kernel_imx/arch/arm/mach-mx6/目錄,使用 vi
board-mx6q_topeet.c 命令,打開 board-mx6q_topeet.c 文件。
搜索關(guān)鍵詞“CONFIG_LEDS_CTL”,按照 leds 模塊,添加 gpio 的配置。如下如所示。

修改完成后,保存退出。再次打開 board-mx6q_topeet.c 文件。
搜索關(guān)鍵詞“LEDS_CTL”,按照 leds 模塊,添加 gpio 配置。如下圖所示。

添加完成后,保存退出。
接著進入“iTOP-iMX6_android4.4.2/kernel_imx/drivers/char”目錄,使用“vi
Kconfig”命令打開 Kconfig 文件。
搜索關(guān)鍵詞”LEDS_CTL”,按照 leds 模塊,添加 gpio 配置。如下圖所示。

修改完成后,保存退出。
可按下面步驟驗證一下。
進入內(nèi)核目錄,依次使用命令”cp config_for_iTOPiMX6_linux .config”、” export
ARCH=arm”、”make menuconfig”。進入 Device Drivers →Character devices 目
錄,可以看見新添加的配置。如下圖所示。

選中,退出,按照”iTOP-i.MX6 開發(fā)板之全能版使用手冊”中的內(nèi)核編譯步驟,進行編
譯內(nèi)核。重新燒寫到開發(fā)板。
開發(fā)板啟動后,使用命令“l(fā)s /sys/devices/platform/”可以查看到新注冊的 gpio_ctl 設(shè)
備。如下圖所示。

至此,設(shè)備注冊完成。
1.5 驅(qū)動加載及應(yīng)用測試
1.5.1 讀操作
具體編譯過程不再贅述。依然可以參考“iTOP-iMX6-GPIO 讀取 GPIO 以及撥碼開關(guān)狀
態(tài)”文檔。下面講解加載過程和測試過程。
可以通過掛載 nfs 共享目錄、tftp 傳輸文件和 U 盤掛載等方法,把 iTOP-
iMX6_gpio_read.ko 文件上傳到開發(fā)板。
使用 insmod 命令加載驅(qū)動模塊。如下圖。

在 probe 函數(shù)中,有獲取 gpio 狀態(tài)的函數(shù),然后打印出來。如下圖。

下面使用”./iMX6_gpio_read”命令運行應(yīng)用測試程序,檢測 gpio 狀態(tài)。如下圖。

此時檢測到的狀態(tài)和剛加載驅(qū)動時狀態(tài)一致。
通過驅(qū)動程序,我們可以得知,第一個 gpio 為 1 號撥碼開關(guān)。后面依次為 U38 接口,1
號、2 號、3 號、10 號、12 號引腳。如下圖。

由上圖可知,和我們預(yù)期相同。
使用引線連接 11 號引腳和 12 號引腳、使用引線連接 4 號引腳和 2 號引腳。然后使用
“./iMX6_gpio_read”命令,運行測試程序。結(jié)果如下圖。

測試完成。
1.5.2 寫操作
與讀操作類似。具體編譯過程不再贅述。依然可以參考“iTOP-iMX6-GPIO 讀取 GPIO
以及撥碼開關(guān)狀態(tài)”文檔。下面講解加載過程和測試過程。
可以通過掛載 nfs 共享目錄、tftp 傳輸文件和 U 盤掛載等方法,把 iTOP-
iMX6_gpio_write.ko 文件上傳到開發(fā)板。
使用 insmod 命令加載驅(qū)動模塊。如下圖。

在 probe 函數(shù)中,我們已經(jīng)將各個 gpio 狀態(tài)設(shè)置為 1,也就是高電平,如下圖。

現(xiàn)在 U38 上的五個引腳均為高電平。通過萬用表測量電壓均為 3.3v(4 號、9 號引腳為
地)。下面調(diào)用應(yīng)用程序,改變引腳的電壓值。使用”./iMX6_gpio_write 0 1”命令改變 1
號引腳的電壓值。如下圖。

此時使用萬用表測量引腳 1 的電壓值。為 0V。
下面說明一下運行應(yīng)用程序時,傳遞的兩個參數(shù)。第一參數(shù) cmd 表示狀態(tài)。1 表示高電
平、0 表示低電平。第二個參數(shù) arg 表示對應(yīng)操作的 gpio。arg 為 0 表示 1 號撥碼開關(guān)、為
1~5 表示 U38 接口的 1 號、2 號、3 號、10 號、12 號引腳。
下面把 1 號引腳拉高,10 號引腳拉低。使用命令”./iMX6_gpio_write 1 1”
和”./iMX6_gpio_write 0 4”。如下圖。

使用萬用表測量這兩個引腳的電壓。1 號引腳為 3.3v,10 號引腳為 0v。
測試完成。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。
相關(guān)推薦
Microchip推出MPLAB? AI編碼助手,推動人工智能與嵌入式開發(fā)相結(jié)合
關(guān)于PIC24F K-Series的Microstick套件
PDIUSBD12 速度測試報告
高通推出高通躍龍第四代固定無線接入平臺至尊版,重新定義移動寬帶
pic查大表程序
88~108MHz調(diào)頻信號振蕩器
多用FM信號發(fā)生器
請問qt對硬件的具體要求是什么啊?
調(diào)試用振蕩器
求助關(guān)于嵌入式設(shè)備上的usb驅(qū)動安裝
我常用的一些統(tǒng)計/科學(xué)軟件
Microchip蘋果配件開發(fā)工具包
高通推出全球領(lǐng)先的調(diào)制解調(diào)器及射頻——高通X85,帶來前所未有的5G速率和智能
使用低引腳數(shù)USB開發(fā)工具包(DM164127)在應(yīng)用中添加USB連接
Microchip PIC24F32KA304超低功耗16位單片機
MSP430超聲波測距
PT100分度表
英飛凌CoolGaN?功率晶體管賦能SounDigital放大器
基于RE46C190的光電式煙霧報警器的評估板(用于家用火災(zāi)報警器的RE46C190芯片)
RS-485總線的死鎖檢測與解除
用FET的調(diào)頻無線電路
各位大哥,小弟找到了下面一段程序,燒到arm板后,輸出的字符完全不正確,請問是什么原因?
p4下配置WindML
高通在MWC巴塞羅那2025展示領(lǐng)先的連接和AI創(chuàng)新成果
晶振穩(wěn)頻的調(diào)頻電路
Microchip推出MPLAB? XC 統(tǒng)一編譯器許可證,簡化軟件管理
美芝、威靈:以點滴“綠智慧”,塑造新未來
高通X85全球合作伙伴引言
貿(mào)澤開售精確監(jiān)測EV快充的Carlo Gavazzi DCM1直流電能表
Microchip擴展maXTouch? M1系列器件,支持汽車大尺寸、曲面及異形顯示屏