完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
在支持设备树的内核源码中,设备树用来取代来老版本内核中的平台文件。
本文档主要介绍在 iMX6 开发板(iMX6Q,iMX6D,iMX6PLUS)的几个重要的设备树文件,这几个文件在后续的设备驱动分析中,经常会用到。 |
|
相关推荐
1个回答
|
|
设备树文件的分析
这里以iMX6Q的为例来分析,iMX6D 和 PLUS 的分析方法都是类似。 首先看下编译脚本,如下图所示,“build_android_kernel.sh”为android内核编译脚 本,“build_qt_kernel.sh”为 t内核编译脚本,这里以Qt的内核编译脚本为例 打开“build_qt_kernel.sh”,如下图所示,可以看到设备树文件是 “arch/arm/boot/dts”目录下的,“imx6q-topeet_10.1inch.dts”、“imx6q-topeet_7inch.dts”和“imx6q-topeet_9.7inch.dts”这三个。 上图中,这三个设备树文件的名称来看,应该是为了支持不同分辨率的屏幕的配置,除了 屏幕部分的,其它部分应该是相同的,所以这里只需要分析其中一个即可(实际情况就是这样的,感兴趣可以自己对比下)。 这里以“imx6q-topeet_10.1inch.dts”为例来分析。 打开“arch/arm/boot/dts/imx6q-topeet_10.1inch.dts”,先看下调用的头文件,如下 图所示,有两个头文件“imx6q.dtsi”和“imx6qdl-sabresd.dtsi”。关于这个设备树文件, 其中大部分内容都是关于显卡的。 这里我们看下调用的“imx6q.dtsi”,打开“arch/arm/boot/dts/imx6q.dtsi”,如下 图所示,看下头文件“imx6q-pinfunc.h”和“imx6qdl.dtsi”。 “imx6q-pinfunc.h”头文件,如果大家以前用过飞思卡尔的 arm 芯片,那么就会知道 这个是 IO 的宏定义头文件,这是很重要的一个文件,这个文件在后面会经常用到--- “imx6q-pinfunc.h”在“arch/arm/boot/dts/imx6q-pinfunc.h”。 另外像“dt-bindings”打头的设备树头文件,暂时不用过多关注。 打开 “arch/arm/boot/dts/imx6qdl-sabresd.dtsi”文件,在其中可以搜到 “&iomuxc”,这个是飞思卡尔设备树文件中,给io初始化的地方。例如你要配置一个IO为输出,那么需要在这里初始化;另外一层意思就是,每一个IO都要初始化,一般我们默认 是在这个位置进行初始化。 在这个文件下,我们可以找到常规的led,蜂鸣器和rs485的设备树注册,这表明设备树 注册都是在这个文件中,如果我们要新增加设备,需要在这里增加设备树代码,关于设备树代 码,我们后续再介绍。 |
|
|
|
只有小组成员才能发言,加入小组>>
793 浏览 0 评论
1152 浏览 1 评论
2528 浏览 5 评论
2861 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2711 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1071浏览 3评论
194浏览 2评论
456浏览 2评论
369浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
454浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 21:56 , Processed in 0.912013 second(s), Total 51, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号