1,u-boot中第一个入口在./arch/arm/cpu/armv7/start.S
翻到153行:如下图
前面都是进行一些基本设置,不用管。
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行添加如下代码:
在start.S中595行添加如下代码:
3,#make 生成u-boot.bin文件
4,#mkv210 u-boot.bin u-boot.16k
5,将生成的u-boot.16k烧写到SD卡中
#sudo dd iflag=dsync oflag=dsync if=./u-boot.16k of=/dev/sdb seek=1
6,如此将SD卡放回板子,上电,可以看到LED1灯点亮.
由此也说明生成的BL1可以正常运行。
7,#hexdump -C u-boot.16k | less前几位是否跟设置的一样,如下图
可以看到自己设置的S5PC110等等