第二章之在BL1中点亮LED灯
Posted 启云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二章之在BL1中点亮LED灯相关的知识,希望对你有一定的参考价值。
1,u-boot中第一个入口在./arch/arm/cpu/armv7/start.S
翻到153行:如下图
前面都是进行一些基本设置,不用管。
cpu_init_cp15设置协处理器, cpu_init_crit则跳转到其它地方,所以要点板子上电点灯要在152行之前。
2,通过板子资料,通过设置GPIO点亮LED灯,因为了 start.S是用汇编语言写的,所以点亮LED灯也要用汇编语言
代码如下:
1 gpin_out: 2 ldr r11,=0xE0200280 3 ldr r12,=0x00001111 4 str r12,[r11] 5 6 ldr r11,=0xE0200284 7 ldr r12,=0xf 8 str r12,[r11] 9 10 mov pc,lr 11 12 .globl led1_on 13 led1_on: 14 ldr r11,=0xE0200284 15 ldr r12,[r11] 16 bic r12,r12,#1 17 str r12,[r11] 18 19 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等等
以上是关于第二章之在BL1中点亮LED灯的主要内容,如果未能解决你的问题,请参考以下文章