I.MX6U 学习笔记一------汇编LED驱动实验(GPIO寄存器配置,常用汇编指令,编译链接程序)

Cortex-A 汇编语言作用:

  1. 需要用汇编初始化一些SOC的外设。
  2. 使用汇编初始化DDR,I.MX6U不需要,其内部96K的ROM中存放了NXP自己编写的启动代码,这些启动代码可以读取DDR的配置信息,并完成DDR的初始化。
  3. 设置SP指针,一般指向DDR,设置好C语言运行环境。

I.MX6U IO端口初始化

IO介绍:I.MX6U 的 GPIO 一共有 5 组: GPIO1、 GPIO2、 GPIO3、 GPIO4 和 GPIO5, 其中 GPIO1 有 32 个 IO, GPIO2 有 22 个 IO, GPIO3 有 29 个 IO、 GPIO4 有 29 个 IO, GPIO5 最少,只有 12 个 IO,这样一共有 124 个 GPIO。

  1. 使能时钟 CCGR0 到 CCGR6 这7个寄存器控制着6ULL所有外设时钟的使能。可以一开始为了简单,直接都使能,就是都写为0xFFFFFFFF。
  2. IO复用,将寄存器IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO03 的bit 3-0设置为0101 = 5 ,这样GPIO1_IO03就复用为GPIO。(设置IO复用的寄存器和电气属性寄存器的区别是寄存器名称的第三个字段,MUX是设置复用,PAD是设置电气属性)
  3. 电气属性设置寄存器IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO03
    下面简单说明了此寄存器的位含义,加粗的表示IO一般需要配置的。

SRE:压摆率,作为高速通信的话IO要配置高压摆率,上升和下降沿越陡。自己理解的与Speed的区别是,压摆率是控制上升和下降时间,Speed控制IO响应翻转的速度。
DSE:当IO用作输出的时候用来设置IO的驱动能力,000驱动关闭
SPEED:设置IO速度
ODE:控制开启和关闭开漏输出
PKE:上拉保持
PUS:设置上拉和下拉

  1. 配置GPIO功能,设置输入输出。设置GPIO1_GDIR寄存器bit3 为1,设置GPIO1_IO03为输出。设置GPIO1_DR寄存器的bit3为1表示输出为高电平。

GPIO1_DR:电平控制寄存器,可以读引脚电平和写引脚电平。GPIO1- GPIO5

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值