就是塔塔的个人空间 https://www.eechina.com/space-uid-136863.html [收藏] [复制] [RSS]

博客

iTOP-i.MX6Q开发板在内核源码中以modules的方式编译驱动

已有 548 次阅读2019-7-2 10:08 | imx6开发板

本文档主要讲解在iTOP-i.MX6Q开发板,设备树内核中以 modules 方式编译驱动。

这里以 imx6q(imx6d 和 plus 的类似)的 qt 系统内核编译为例,Ubuntu16 的内核和

qt 通用,android6.0 的配置和 qt 的类似。

文档先介绍和驱动编译相关的几个文件,Kconfig、Makefile。另外.config 文件和

menuconfig 文件,可以参考“iTOP-iMX6-设备树内核-缺省文件文件的配置_V1.X”文档和

“iTOP-iMX6-设备树内核-menuconfig 的使用_V1.X”文档。

这里以 led 驱动为例,驱动源码为“drivers/char/”下的“itop6x_led.c”文件,如下图

所示。

打开“drivers/char/”下的 Makefile 文件,如下图所示,可以看到编译 led 的宏为

“CONFIG_LEDS_CTL”。

上面这个文件不用修改,打开“drivers/char/”下的“Kconfig”文件,搜索

“LEDS_CTL”,如下图所示,将 bool 修改为 tristate。

修改保存。

重新配置缺省文件,参考“iTOP-iMX6-设备树内核-缺省文件文件的配置_V1.X”配置缺

省文件,重新编译内核,如下图所示,可以看到有“itop6x_led.ko”文件生成。

将重新生成的内核烧写到开发板(注意不能烧写光盘中自带的镜像,那个镜像里已经添加

了 led 驱动),新的镜像烧写之后,在控制台查询“/dev/led*”,应该没有这个设备节点。

将“itop6x_led.ko”拷贝到开发板,如下图所示,使用命令“insmod itop6x_led.ko”

加载驱动。

使用命令“ls /dev/led8”,可以看到设备节点生成,如下图所示。


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部