uboot-step 6 點(diǎn)亮指路燈
led原理圖
現(xiàn)在我們已經(jīng)做了一些基本的初始化,終于可以來點(diǎn)亮我們的led了,首先得先看下我們的原理圖:

led.png
這里采用的tinys3c6410的開發(fā)板,led相關(guān)的引腳如圖中所示,我們的led所用到的處理器引腳為GPK4,5,6,7四個(gè)引腳,led另一端接到了vcc端,因此只要我們將這幾個(gè)引腳配置為低電平就可以點(diǎn)亮了
引腳的控制
如何控制這幾個(gè)引腳呢,從s3c6410的芯片手冊(cè)中可以看到如下描述:
- GPKCON0,1為引腳控制寄存器,可以用來配置引腳的功能,每四位控制一個(gè)引腳,可以配置為輸入,輸出,功能復(fù)用等。
- GPKDAT為數(shù)據(jù)寄存器,當(dāng)配置為輸入時(shí),可以從中讀出引腳上的狀態(tài),配置為輸出時(shí),通過向其寫入值來控制引腳的輸出
- GPKPUD 引腳上下拉配置寄存器,可以根據(jù)需要對(duì)引腳的上下拉進(jìn)行配置

8.1.png

8.2.png

8.3.png
代碼實(shí)現(xiàn)
#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
此去經(jīng)年
zhaiyk@sina.cn
August 2, 2016