100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 韦东山 IMX6ULL和正点原子_GPIO和Pinctrl子系统的使用在100ASK_IMX6ULL上机实验

韦东山 IMX6ULL和正点原子_GPIO和Pinctrl子系统的使用在100ASK_IMX6ULL上机实验

时间:2019-10-15 03:27:26

相关推荐

韦东山 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

可以点击“了解更多”与韦东山老师交流

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。