Linux嵌入式学习第一节:汇编点亮LED灯

目录

前言

一、目的

二、原理

1.硬件电路分析

2.寄存器分析

(1)时钟

(2)复用

(3)设置GPIO电气属性

(4)设置GPIO的输入输出

(5)设置GPIO1_3输出低电平

三、代码

总结


前言

本文作为本人学习Linux嵌入式记录文档,仅供参考。

开发板:正点原子阿尔法开发板(I.MX6ULL)

环境:Ubuntu 20.04 (LTS)  (内核版本:Linux 5.4.0)

交叉编译器:arm-linux-gnueabihf 4.9.4


一、目的

  1. 编写裸机代码(汇编)点亮LED灯
  2. 掌握如何配置Linux开发板的GPIO
  3. 熟悉Linux开发板的裸机开发流程

二、原理

1.硬件电路分析

首先查看开发板原理图中有关LED设备的电路。

可以看到LED采用了共阳的接线,也就是当“LED0”端为低电平时,电路导通,LED灯被点亮。

从上图可以看到,“LED0”与芯片的“GPIO_3”相连,所以想点亮LED就要先配置好GPIO_3,然后将GPIO3设置为输出,并输出低电平即可点亮LED。

2.寄存器分析

(1)时钟

想使用GPIO口首先要使能GPIO和一些系统运行必须的时钟。由于本人刚刚接触Linux嵌入式开发,且现在正在啃教程(正点原子Linux嵌入式开发),对此了解较少,本次将开启所有时钟,不做节能考虑。相关寄存器内容请自行查看《I.MX6ULL参考手册》 18.6.23 CCM Clock Gating Register 0 (CCM_CCGR0)~18.6.29 CCM Clock Gating Register 6 (CCM_CCGR6)章节。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值