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 原理图


浙公网安备 33010602011771号