【Linux】【Driver】【GPIO】
以I.MX6U芯片为例:驱动一个LED灯,开发步骤:
1)查看芯片手册,了解LED灯对应的register
2)设置关联Registers
时钟控制Register设置
IOMUX相关Register设置
GPIO引脚相关Register
IO作为GPIO时,八类Register
DR
GDIR
PSR
ICR1
ICR2
EDGE_SEL
IMR
ISR
DR:
数据Register
32位Register,GPIO组最大有32个IO,每一位对应一个GPIO
GDIR:
方向Register
0:iniput
1:outpute
和DR配合使用,32位Register,每一位对应一个GPIO的方向
PSR
GPIO状态Register
32位Register,1位对应一个GPIO
ICR1 和 ICR2
中断控制Register,
ICR1配置低16个GPIO: IO0~15
ICR2配置高16个GPIO: IO16~31
00:低电平触发
01:高电平触发
10:上升沿触发
11:下降沿触发
IMR