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

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

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

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

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

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

在 probe 函數中,有獲取 gpio 狀態的函數,然后打印出來。如下圖。

下面使用”./iMX6_gpio_read”命令運行應用測試程序,檢測 gpio 狀態。如下圖。

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

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

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

在 probe 函數中,我們已經將各個 gpio 狀態設置為 1,也就是高電平,如下圖。

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

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