U-Boot-点灯

Posted _WILLPOWER_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了U-Boot-点灯相关的知识,希望对你有一定的参考价值。

概述

S5PV210包括237个多功能输入/输出接口引脚和142个存储接口引脚。共有34个通用端口组和2个内存端口组,如下所示:

特性

GPIO的主要特性包括

  • 控制146个GPIO中断
  • 控制32个外部中断
  • 237个多功能输入/输出接口
  • 控制除GPHO, GPH1, GPH2和GPH3外的休眠模式的引脚状态

输入/输出配置

可配置输入/输出(/O)分为A型和B型。

通用输入/输出框图

GPIO由两部分组成,即活部分和非活部分(上电和掉电)。在live-part中电源是以睡眠模式提供的,但在off-part中就不一样了。因此,活部件中的寄存器在休眠模式下保持它们的值。

引脚总结

IO控制类型功能描述
A1Control at power down mode is possible, power down mode is released by S/W(ENABLE_GPIO bit of OTHERS register at PMU)
A2Control at power down mode is possible, power down mode is released by S/W(ENABLE_UART_IO bit of OTHERS register at PMU)
A3Control at power down mode is possible, power down mode is released by S/W(ENABLE_MMC_IO bit of OTHERS register at PMU)
A4Control at power down mode is possible, power down mode is released by H/Wautomatically
A5Control at power down mode is possible, power down mode is released by H/W(ENABLE_CF_IO bit of OTHERS register at PMU)
B1No Retention (Alive IO)
B2No Retention (Analog IO)

Pad Type Description

每一个引脚可以用一下属性描述


寄存器描述

每个端口组有2种类型的控制寄存器
其中一组工作在正常模式,另一组工作在关机模式(STOP)。DEEP-STOP。
正常寄存器(例如。GPAOCON、GPAODAT GPAOPUD。和GPAODRV)是前者,而掉电寄存器(例如,GPAOCONPDN和GPAOPUDPDN)是后者。如果。S5PV210进入掉电模式,所有配置和下拉控制由掉电寄存器选择

原理图


可以看到这里两个引脚通过GPC0_3和GPC0_4进行控制

看一下属性描述

默认功能是GPI,也就是通用IO

GPC0共有6个控制寄存器

  • 首先看寄存器1也就是GPC0CON

    其中控制引脚的模式,比如这里的输入输入,I2S,外部中断等。
    默认引脚配置为输入模式

  • GPC0DAT数据寄存器

当端口配置为输入端口时,对应位为引脚状态。
当端口配置为输出端口时,引脚状态与对应位相同。当端口配置为功能引脚时,将读取未定义的值。

  • 外部上下拉模式配置GPC0PUD
    可以看到这里默认为0x155
    也就是01 0101 0101
    也就是说全部被配置为下拉的模式

  • GPC0DRV 端口组GPCO驱动强度控制寄存器

  • GPC0CONPDN 端口组GPCO掉电模式配置寄存器

  • GPCPUDPDN 端口组GPCO掉电模式下拉/下拉寄存器

具体操作

因此代码如下

@宏定义控制与数据寄存器
#define GPCCON 0xE0200060
#define GPCDAT 0xE0200064
light_led:
    ldr r0, =GPCCON 
    ldr r1, =0x11000@设置3、4为输出模式
    str r1, [r0]
    @设置数据寄存器
    ldr r0, =GPCDAT
    ldr r1, =0x18@设置3、4为高电平 1 1000
    str r1, [r0]
    mov pc, lr

以上是关于U-Boot-点灯的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript案例:点灯游戏(原生JSJQuery两种代码实现)

u-boot代码分析--第一节

u-boot代码分析--第一节

第二章之在BL1中点亮LED灯

003_STM32CubeMX点灯

003_STM32CubeMX点灯