歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

u-boot中的bdinfo命令

[u-boot: 2013.04]

[Author: Bo Shen <[email protected]>]

1. 使用

bdinfo: print board info structure.

其源代碼:<common/cmd_bdinfo.c>

對於ARM架構,bdinfo打印信息包括:

-- bd_t (前文件介紹: http://www.linuxidc.com/Linux/2013-05/83993.htm )的內容:

-- bi_baudrate, bi_arch_number, bi_boot_params, bi_dram[i].start, bi_dram[i].size

-- bi_arm_freq, bi_dsp_freq, bi_ddr_freq (這些是davinci SoC相關).

-- 如果沒有定義CONFIG_SYS_ICACHE_OFF和CONFIG_SYS_DCACHE_OFF, 則打印: tlb_addr.

-- gd_t 中的部份內容:

-- relocaddr, reloc_off, irq_sp, start_addr_sp, fb_base.

2. 這些值是什麼時候得到的呢?

2.1 bi_baudrate

對於ARM來說,首先在board_init_f --> init_sequence[] --> init_baudrate(),從環境變量中讀取baudrate的值(如果沒有,則使用CONFIG_BAUDRATE), 賦給gd->baudrate,最後在board_init_f中通過gd->bd->bi_baudrate=gd->baudrate得到。

2.2 bi_arch_number

這個值是board相關,通常是在board相關代碼中進行賦值的。

對Atmel at91sam9m10g45ek board, 則是在<board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c>中進行賦值的。

gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9M10G45EK;

2.3 bi_boot_params

這個值是board相關,通常在board相關代碼中進行賦值的。

對Atmel at91sam9m10g45ek board, 則是在<board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c>中進行賦值的。

gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;

Copyright © Linux教程網 All Rights Reserved