第二章之S5PV210在BL1中点亮LED灯

时间:2022-06-28 13:42:23

1,u-boot中第一个入口在./arch/arm/cpu/armv7/start.S

翻到153行:如下图

第二章之S5PV210在BL1中点亮LED灯

前面都是进行一些基本设置,不用管。

cpu_init_cp15设置协处理器, cpu_init_crit则跳转到其它地方,所以要点板子上电点灯要在152行之前。

2,通过板子资料,通过设置GPIO点亮LED灯,因为了 start.S是用汇编语言写的,所以点亮LED灯也要用汇编语言

代码如下:

 gpin_out:
ldr r11,=0xE0200280
ldr r12,=0x00001111
str r12,[r11] ldr r11,=0xE0200284
ldr r12,=0xf
str r12,[r11] mov pc,lr .globl led1_on
led1_on:
ldr r11,=0xE0200284
ldr r12,[r11]
bic r12,r12,#
str r12,[r11] mov pc,lr

在start.S中151行添加如下代码:

第二章之S5PV210在BL1中点亮LED灯

在start.S中595行添加如下代码:

第二章之S5PV210在BL1中点亮LED灯

3,#make 生成u-boot.bin文件

4,#mkv210 u-boot.bin u-boot.16k

第二章之S5PV210在BL1中点亮LED灯

5,将生成的u-boot.16k烧写到SD卡中

#sudo dd iflag=dsync oflag=dsync if=./u-boot.16k of=/dev/sdb seek=1

第二章之S5PV210在BL1中点亮LED灯

6,如此将SD卡放回板子,上电,可以看到LED1灯点亮.

由此也说明生成的BL1可以正常运行。

7,#hexdump -C u-boot.16k | less前几位是否跟设置的一样,如下图

第二章之S5PV210在BL1中点亮LED灯

可以看到自己设置的S5PC110等等