u-boot中的bdinfo命令

2014-11-24 07:20:46 · 作者: · 浏览: 2

[u-boot: 2013.04]


[Author: Bo Shen ]


1. 使用


bdinfo: print board info structure.


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


对于ARM架构,bdinfo打印信息包括:


-- 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, 则是在中进行赋值的。


gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9M10G45EK;


2.3 bi_boot_params


这个值是board相关,通常在board相关代码中进行赋值的。


对Atmel at91sam9m10g45ek board, 则是在中进行赋值的。


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