社区导航

 

搜索
查看: 241|回复: 0

[经验] 迅为-iMX6开发板-设备树内核-IO配置分析文档

[复制链接]

352

TA的帖子

1

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-7-26 10:27 | 显示全部楼层 |阅读模式

本文档主要讲解在 iMX6 开发板设备树内核 IO 是如何配置为各种功能的基础文档。
1 飞思卡尔系列 IO 配置概述
在作者接触过的所有的飞思卡尔 BSP 源码中,它们的 IO 配置方法基本都是类似的。
源码中都会有一个头文件,用户保存全部 IO 的所有配置宏,在设备树源码中是
“arch/arm/boot/dts/imx6q-pinfunc.h”这个文件。
如下图所示,是该文件 GPIO_2(这是 LED 灯的宏定义)中所有的宏定义。这些宏定义在
内核运行的时候根据需要,选择一个,默认内核中应该是使用的是
“MX6QDL_PAD_GPIO_2__GPIO1_IO02 ”这个宏,使用这个宏配置之后,它就是 GPIO
了。

源码中都有一个初始化的地方,也就是引用上面宏的数组或者结构体。在设备树代码中
是“arch/arm/boot/dts/imx6qdl-sabresd.dtsi”文件。
例如上面提到的宏,在如下图所示位置定义。

当然,我们在这个设备树文件中,可以看到还有其它宏在别的地方定义和初始化,这里我
们先只介绍 GPIO 的,GPIO 在上图中的位置定义即可,另外如果还有别的地方调用 IO 的
宏,是需要屏蔽掉的。
假如我们在调试 LED(GPIO_2)的时候,在上面位置加入了
“MX6QDL_PAD_GPIO_2__GPIO1_IO02”这个宏,另外还需要确保源码中没有引用其它的
宏,如果有引用必须屏蔽掉,如下图所示剩下的四个宏都不能被引用。

2 LED 灯 IO 的配置原理分析
前面提到 LED 的 IO 宏对应的是 MX6QDL_PAD_GPIO_2__GPIO1_IO02,作者是直接给
的结论,这里给大家详细分析下如果通过网络标号找到对应的宏定义。
LED 小灯的网络标号是“KEY_ROW6”,如下图所示。

搜索“KEY_ROW6”,找到网络标号在核心板上对应的 PIN 脚,如下图所示,PIN 脚名
称为“GPIO_2”。

来源:EEWorld 嵌入式系统编程板块,转载请附上链接
更多开发板详情了解哦

1.https://arm-board.taobao.com
2.www.topeetboard.com
Q: 2551456065


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 /3 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-8-22 23:29 , Processed in 0.077559 second(s), 15 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表