MX6ULL 裸机编程笔记

一、汇编LED原理分析

1 为什么要学习Cortex-A汇编

1.需要使用汇编初始化一些SOC外设。

2.使用汇编舒适化DDR, MX6U不需要

3.设置SP指针,一般指向DDR.设置好C语言运行环境

2 ALPHA开发板LED灯硬件原理分析

STM32 IO初始化流程:

       ①、使能GPIO时钟。

       ②、设置IO复用,将其复用为GPIO

       ③、配置GPIO的电气属性。

       ④、使用GPIO,输出高/低电平

 I.MX6ULL IO初始化:

       ①、使能时钟,CCGR0~CCGR6这7个寄存器控制着6ULL所有外设时钟的使能。为了简单,设置CCGR0~CCGR6这7个寄存器全部为0XFFFFFFFF,相当于使能所有外设时钟。

      ②、IO复用,将寄存器IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO03的bit3~0设置为0101=5,这样GPIO1_IO03就复用为GPIO。

       ③、寄存器IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO03是设置GPIO1_IO03的电气属性。包括压摆率、速度、驱动能力、开漏、上下拉等.

      ④、配置GPIO功能,设置输入输出。设置GPIO1_DR寄存器bit3为1,也就是设置为输出模式。设置GPIO1_DR寄存器的bit3,为1表示输出高电平,为0表示输出低电平。

3 汇编简介

汇编由一条一条指令构成,指令就涉及到汇编指令。

Int a,b;

a=b;

假设a地址为0X20,b地址为0x30

LDR R0, =0X30   //将地址0x30复制给R0,R0=0x30

LDR R1, [R0]    //将R0地址的内容复制给R1

LDR R0, =0X20   //将地址0x20复制给R0,R0=0x20

STR R1, [R0]    //将R1 中的数据写入到存储器中的 R0 位置。

我们在使用汇编编写驱动的时候最常用的就是LDR和STR这两个指令。

四、编写驱动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值