欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1423|回復: 0
收起左側

iTOP-iMX6開發板-GPIO讀寫配置文檔_V1.0《2》

[復制鏈接]
ID:245207 發表于 2019-10-22 10:57 | 顯示全部樓層 |閱讀模式
本文檔主要介紹 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 的配置。如下如所示。
1.jpg
修改完成后,保存退出。再次打開 board-mx6q_topeet.c 文件。
搜索關鍵詞“LEDS_CTL”,按照 leds 模塊,添加 gpio 配置。如下圖所示。
2.jpg
添加完成后,保存退出。
接著進入“iTOP-iMX6_android4.4.2/kernel_imx/drivers/char”目錄,使用“vi
Kconfig”命令打開 Kconfig 文件。
搜索關鍵詞”LEDS_CTL”,按照 leds 模塊,添加 gpio 配置。如下圖所示。
3.jpg
修改完成后,保存退出。
可按下面步驟驗證一下。
進入內核目錄,依次使用命令”cp config_for_iTOPiMX6_linux .config”、” export
ARCH=arm”、”make menuconfig”。進入 Device Drivers →Character devices 目
錄,可以看見新添加的配置。如下圖所示。
4.jpg
選中,退出,按照”iTOP-i.MX6 開發板之全能版使用手冊”中的內核編譯步驟,進行編
譯內核。重新燒寫到開發板。
開發板啟動后,使用命令“ls /sys/devices/platform/”可以查看到新注冊的 gpio_ctl 設
備。如下圖所示。
5.jpg
至此,設備注冊完成。
1.5 驅動加載及應用測試
1.5.1 讀操作
具體編譯過程不再贅述。依然可以參考“iTOP-iMX6-GPIO 讀取 GPIO 以及撥碼開關狀
態”文檔。下面講解加載過程和測試過程。
可以通過掛載 nfs 共享目錄、tftp 傳輸文件和 U 盤掛載等方法,把 iTOP-
iMX6_gpio_read.ko 文件上傳到開發板。
使用 insmod 命令加載驅動模塊。如下圖。
6.jpg
在 probe 函數中,有獲取 gpio 狀態的函數,然后打印出來。如下圖。
7.jpg
下面使用”./iMX6_gpio_read”命令運行應用測試程序,檢測 gpio 狀態。如下圖。
8.jpg
此時檢測到的狀態和剛加載驅動時狀態一致。
通過驅動程序,我們可以得知,第一個 gpio 為 1 號撥碼開關。后面依次為 U38 接口,1
號、2 號、3 號、10 號、12 號引腳。如下圖。
9.jpg
接下來我們做一些連接,然后再運行測試程序,進行檢測狀態。
通過上述的底板原理圖我們知道。U38 接口的 4 號引腳接地。11 號引腳接 3.3v 電源。
把 1 號撥碼開關撥下來、通過導線連接 U38 接口 1 號引腳和 4 號引腳。然后使用
“./iMX6_gpio_read”命令,運行測試程序。結果如下圖。
10.jpg
由上圖可知,和我們預期相同。
使用引線連接 11 號引腳和 12 號引腳、使用引線連接 4 號引腳和 2 號引腳。然后使用
“./iMX6_gpio_read”命令,運行測試程序。結果如下圖。
11.jpg
測試完成。
1.5.2 寫操作
與讀操作類似。具體編譯過程不再贅述。依然可以參考“iTOP-iMX6-GPIO 讀取 GPIO
以及撥碼開關狀態”文檔。下面講解加載過程和測試過程。
可以通過掛載 nfs 共享目錄、tftp 傳輸文件和 U 盤掛載等方法,把 iTOP-
iMX6_gpio_write.ko 文件上傳到開發板。
使用 insmod 命令加載驅動模塊。如下圖。
12.jpg
在 probe 函數中,我們已經將各個 gpio 狀態設置為 1,也就是高電平,如下圖。
14.jpg
現在 U38 上的五個引腳均為高電平。通過萬用表測量電壓均為 3.3v(4 號、9 號引腳為
地)。下面調用應用程序,改變引腳的電壓值。使用”./iMX6_gpio_write 0 1”命令改變 1
號引腳的電壓值。如下圖。
15.jpg
此時使用萬用表測量引腳 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”。如下圖。
16.jpg
使用萬用表測量這兩個引腳的電壓。1 號引腳為 3.3v,10 號引腳為 0v。
測試完成。

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表