03-01 IMX6ULL LED Register

概述

LED开发流程

  • 查看原理图。确定引脚;确定控制方式。

  • 查看芯片手册。确定操作那些寄存器;那些位;寄存器的地址

    针对IMX6ULL而言;寄存器的控制为

    CCM(默认使能) -> IOMUXC(设备引脚的用途控制) -> GPIOGDIR(方向控制) -> GPIODR/GPIO_PSR

  • 编写框架

1 IMX6ULL GPIO的整体结构

1.1 io复用方案

描述

文档中描述了GPIO的组成方案,是通过8个寄存器、一个边缘检测电路和中断生成逻辑

这里应该需要关注的是GPIO_PSR,此寄存器的作用为输入状态采集

1.2 GPIO Block Structure

2 GPIO编程

2.1 GPIO Read

注意:read的时候需要去读取GPIO_PSR寄存器

2.2 GPIO Write

3 寄存器

3.1 GPIO data register(GPIOx_DR)

注意:此寄存器是用来写数据的,并不是用来读取输入数据的

3.2 GPIO direction register(GPIOx_GDIR)

该寄存器的第n为表示GPIOx的第n位的方向

3.3 GPIO pad status register (GPIOx_PSR)

注意:此寄存器为只读。储存每一位的输入值

4 GPIO Register Address

5 Clock Controller Module(CCM)

需要注意的是除开上面的内容之外,GPIO模块还受CCM控制。即GPIO控制模块为:CCM、IOMUX、GPIO

5.1 CCM_CCGRy

此寄存器中的两位来决定GPIO的的时钟是否使能

6 IOMUX Control (IOMUXC)

6.1 IOMUXC_SW_MUX_CTL_PAD_<PADNAME> : 选择pad

选择某个设备,并决定复用的功能。

例如:需要使用GPIO则,这里需要选择IOMUXC_SW_MUX_CTL_PAD_GPIO...

6.2 IOMUXC_SW_MUX_CTL_GRP_<GROUP NAME> : 选择某组引脚的功能

上面根据需求选择了需要使用的GPIO寄存器,在这里配置GPIO引脚的用途

6.3 IOMUXC_SW_PAD_CTL_PAD_<PAD_NAME> : pad的参数

设置完用途后,需要设置默认参数

依然以GPIO为例

内容不太理解,遗留

7 原理图

posted @ 2022-10-07 16:00  人民广场的二道贩子  阅读(126)  评论(0)    收藏  举报