lmx6q开发板android,iTOP-i.MX6Q开发板在内核源码中以modules的方式编译驱动
本文档主要讲解在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”,可以看到设备节点生成,如下图所示。
lmx6q开发板android,iTOP-i.MX6Q开发板在内核源码中以modules的方式编译驱动相关推荐
- 解析Linux内核源码中数据同步问题丨C++后端开发丨Linux服务器开发丨Linux内核开发丨驱动开发丨嵌入式开发丨内核操作系统
剖析Linux内核源码数据同步 1.pdflush机制原理 2.超级块同步/inode同步 3.拥塞及强制回写技术 视频讲解如下,点击观看: 解析Linux内核源码中数据同步问题丨C++后端开发丨Li ...
- 飞凌嵌入式iMX8MP 开发板试用体验--编译内核源码
FETMX8MP-C核心板基于NXP i.MX 8M Plus处理器开发设计,该系列处理器专注于机器学习与视觉.高级多媒体以及具有高可靠性的工业自动化.旨在满足智慧城市.工业互联网.智能医疗.智慧交通 ...
- Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)
Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核) 文章目录 Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4 ...
- android系统源码中添加app源码(源码部署移植)
涉及到系统定制,需要在系统中加入自己的apk工程,但是上网找了很多资料都是不够全面的,或者看了还是没搞懂,我自己也是一点点摸索过来的,花了不少的时间,也是踩了不少的坑,因此特开一文,帮助大家渡河. 申 ...
- quado编辑Android代码步骤,Ubuntu11.10下编译android内核源码
编译android源码时并不会自动编译android内核,因此需要手动编译这部分代码.编译内核所用的时间比编译android源码要少得多,只需一会就编译完成. 1.确定内核版本 进入存放android ...
- 华硕Tinker Board开发板(rk3288处理器)开发 ---- 将Android Studio开发的apk源码放到Android7.1.2源码中进行编译
备注:此Android Studio项目并没有jni,没有使用动态so库,只是一个简单的项目. 1.将Android studio开发的项目移植到Android7.1.2源码中,我们只需要Androi ...
- Android AR开发实践之七:OpenGLES相机预览背景绘制源码详解
Android AR开发实践之七:OpenGLES相机预览背景绘制源码详解 目录 Android AR开发实践之七:OpenGLES相机预览背景绘制源码详解 一.OpenGL ES渲染管线 1.基本处 ...
- Android仿比心1对1直播源码开发,开机自动启动的实现
在开发仿比心1对1直播源码过程中,常会要求仿比心1对1直播源码在系统开机时可以自动启动.这里,我将实现方法和遇到的一些问题总结于下文. 一. 实现 继承一个BroadcastReceiver用来处理B ...
- Linux下imx6dl开发板从镜像的烧写、内核源码编译到第一个驱动运行的详细步骤
文章目录 前言 一.对开发板烧写镜像 1.镜像烧写 2.串口测试 二.搭建交叉编译环境 1.Ubuntu下搭建交叉编译环境 2.WSL下搭建交叉编译环境 三.编译Linux内核源码 1.Ubuntu下 ...
最新文章
- Error in variable_response could not find function “variable_response“
- 易创课堂成都站给你寄来一包干货,请注意查收
- 可申请试用!GN4系列GPU云服务器重磅来袭
- mysql数据库new和old_数据库触发器中new表和old表是什么意思?
- JavaScript进阶4-学习笔记
- 315. 计算右侧小于当前元素的个数
- js原生事件委托的实现
- php显示几个字符串,比较php中的两个字符串并显示字符差异
- MCGS图库 触摸屏组态图库 触摸屏图库 昆仑通态触摸屏专用CGS
- 网站常用JSON嵌套形式
- python实现的EDF(earliest deadline first)算法
- 分布式存储系统Kudu(一)、核心原理
- 2021年全球AFM探针收入大约230.8百万美元,预计2028年达到374.9百万美元
- MVC 音乐商店 第 2 部分: 控制器
- 广远社团队给大家分享这些年经历的网赚时代
- 一个五年程序员的学习状态
- 视频发微信文件过大怎么办大于200m视频发送微信?
- 【浅墨Unity3D Shader编程】之中的一个 夏威夷篇:游戏场景的创建 amp; 第一个Shader的书写...
- 成型滤波器设计matlab,MATLAB+VHDL脉冲成型滤波器的设计 附代码
- R语言主成分分析总结