韦东山 IMX6ULL和正点原子_GPIO和Pinctrl子系统的使用在100ASK_IMX6ULL上机实验
生活随笔
收集整理的這篇文章主要介紹了
韦东山 IMX6ULL和正点原子_GPIO和Pinctrl子系统的使用在100ASK_IMX6ULL上机实验
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
來源:百問網
作者:韋東山
本文字數:924,閱讀時長:3分鐘
閱讀本節前先閱讀:
Pinctrl子系統重要概念
GPIO子系統重要概念
基于GPIO子系統的LED驅動程序
1.1 確定引腳并生成設備樹節點
NXP公司對于IMX6ULL芯片,有設備樹生成工具。我們也把它上傳到GIT去了,使用GIT命令載后,在這個目錄下:
01_all_series_quickstart04_快速入門_正式開始02_嵌入式Linux驅動開發基礎知識source05_gpio_and_pinctrloolsimx安裝“Pins_Tool_for_i.MX_Processors_v6_x64.exe”后運行,打開IMX6ULL的配置文件“MCIMX6Y2xxx08.mex”,就可以在GUI界面中選擇引腳,配置它的功能,這就可以自動生成Pinctrl的子節點信息。
100ASK_IMX6ULL使用的LED原理圖如下,可知引腳是GPIO5_3:
在設備樹工具中,如下圖操作:
把自動生成的設備樹信息,放到內核源碼arch/arm/boot/dts/100ask_imx6ull-14x14.dts中,代碼如下:
a. Pinctrl信息:
&iomuxc_snvs {…… myled_for_gpio_subsys: myled_for_gpio_subsys{ fsl,pins = < MX6ULL_PAD_SNVS_TAMPER3__GPIO5_IO03 0x000110A0 >; };b. 設備節點信息(放在根節點下):
myled { compatible = "100ask,leddrv"; pinctrl-names = "default"; pinctrl-0 = ; led-gpios = ; };1.2 編譯程序
編譯設備樹后,要更新設備樹。
編譯驅動程序時,“leddrv_未測試的原始版本.c”是有錯誤信息的,“leddrv.c”是修改過的。
測試方法,在板子上執行命令:
#insmod leddrv.ko#ls /dev/100ask_led0#./ledtest /dev/100ask_led0 on#./ledtest /dev/100ask_led0 off可以點擊“了解更多”與韋東山老師交流
總結
以上是生活随笔為你收集整理的韦东山 IMX6ULL和正点原子_GPIO和Pinctrl子系统的使用在100ASK_IMX6ULL上机实验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序 java社区团购系统spri
- 下一篇: Mac系统中MongoChef链接Mon