u-boot中的bdinfo命令


[u-boot: 2013.04]

[Author: Bo Shen <voice.shen@gmail.com>]

1. 使用

bdinfo: print board info structure.

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

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

-- bd_t (前文件介绍:  )的内容:

-- 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;

相关内容