第二章之在BL1中點亮LED燈
阿新 • • 發佈:2017-07-30
tar pan syn 9.png 語言 其它 等等 col .cn
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,=0xE02002847 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燈