uboot-step 6 点亮指路灯
led原理图
现在我们已经做了一些基本的初始化,终于可以来点亮我们的led了,首先得先看下我们的原理图:
这里采用的tinys3c6410的开发板,led相关的引脚如图中所示,我们的led所用到的处理器引脚为GPK4,5,6,7四个引脚,led另一端接到了vcc端,因此只要我们将这几个引脚配置为低电平就可以点亮了
引脚的控制
如何控制这几个引脚呢,从s3c6410的芯片手册中可以看到如下描述:
- GPKCON0,1为引脚控制寄存器,可以用来配置引脚的功能,每四位控制一个引脚,可以配置为输入,输出,功能复用等。
- GPKDAT为数据寄存器,当配置为输入时,可以从中读出引脚上的状态,配置为输出时,通过向其写入值来控制引脚的输出
- GPKPUD 引脚上下拉配置寄存器,可以根据需要对引脚的上下拉进行配置
代码实现
#define GPKCON 0x7f008800
#define GPKDAT 0x7f008808
light_led:
ldr r0, =GPKCON
ldr r1, =0x11110000 @配置GPK4,5,6,7为输出模式
str r1, [r0]
ldr r0, =GPKDAT
ldr r1, =0xa0 @0x1010 0000 4,5,6,7 亮暗相间
str r1, [r0]
mov pc, lr
此去经年
zhaiyk@sina.cn
August 2, 2016