1.1 正点原子-裸机实验-汇编点灯(自己理解)

之前按照书中所讲已经写过一篇正点原子-裸机实验-汇编点灯

1.正点原子-裸机实验-汇编点灯-CSDN博客

这篇是过了一段时间,自己根据芯片文档自己写的代码。学习过程如下:

1.查看硬件原理图,知道我们操作的led对应芯片哪个位置

   先查看led电路,led0旁边有个电阻R9,看实际电路板,led旁边也有一个电阻R9,所以确定是这个led0,查看其他的图,led0连接到GPIO_3,根据视频这个标错了,实际是GPIO1_IO3。好的,现在我们知道了要具体操作哪个GPIO。

2.查看IMX6ULL参考手册

找到讲GPIO的那一章,第28章

大概浏览一遍,下图是GPIO的几个相关寄存器

接下来看到这里,这里有GPIO读写程序例子,我们就按照下面的例子对这个GPIO1_IO3来进行操作。

只操作3个寄存器,

1.根据上图文档例子代码,找到SW_MUX_CTL_PAD_GPIO1_IO03 SW MUX Control
Register (IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO03)这个寄存器,设置为GPIO mode

2. 根据示例代码找到GPIO1_GDIR

3.根据示例代码找到GPIO1_DR

然后写出如下代码,也是可以电灯成功。

.global _start

_start:
    /*set IOMUX GPIO1_IO3 GOIP mode*/
    ldr r0,=0x020e0068
    ldr r1,=0x00000005
    str r1,[r0]

    /*GPIO1_GDIR*/
    ldr r0,=0x0209c004
    ldr r1,=0x8
    str r1,[r0]

    /*GPIO1_DR*/
    ldr r0,=0x0209c000
    ldr r1,=0x0
    str r1,[r0]

总结:

这是自己根据文档来写的点灯程序。比视频写的简单很多,抓住主要内容来学习。

1.设置IO复用为GPIO

2.设置GPIO工作方式为输出

3.设置GPIO输出低电平

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值