u-boot下的两个重要数据:bd_t和gd_t
来源:互联网 发布:windows文件夹加密 编辑:程序博客网 时间:2024/04/27 12:32
[u-boot: v2013.04]
[Author: Bo Shen <voice.shen@gmail.com>]
众所周知,u-boot中有两个重要数据结构,一个是bd_t,另外一个是gd_t。下面分别介绍这两个数据结构。
1. bd_t
此数据结构保存board相关的信息。
定义:<arch/arm/include/asm/u-boot.h>
其具体结构如下:
typedef struct bd_info {unsigned intbi_baudrate;/* serial console baudrate */ ulong bi_arch_number;/* unique id for this board */ ulong bi_boot_params;/* where this board expects params */unsigned longbi_arm_freq; /* arm frequency */unsigned longbi_dsp_freq; /* dsp core frequency */unsigned longbi_ddr_freq; /* ddr frequency */ struct/* RAM configuration */ {ulong start;ulong size; }bi_dram[CONFIG_NR_DRAM_BANKS];} bd_t;
2. gd_t
定义:<include/asm-generic/global_data.h>
其具体结构如下:
typedef struct global_data {bd_t *bd;unsigned long flags;unsigned int baudrate;unsigned long cpu_clk;/* CPU clock in Hz!*/unsigned long bus_clk;/* We cannot bracket this with CONFIG_PCI due to mpc5xxx */unsigned long pci_clk;unsigned long mem_clk;#if defined(CONFIG_LCD) || defined(CONFIG_VIDEO)unsigned long fb_base;/* Base address of framebuffer mem */#endif#if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)unsigned long post_log_word; /* Record POST activities */unsigned long post_log_res; /* success of POST test */unsigned long post_init_f_time; /* When post_init_f started */#endif#ifdef CONFIG_BOARD_TYPESunsigned long board_type;#endifunsigned long have_console;/* serial_init() was called */#ifdef CONFIG_PRE_CONSOLE_BUFFERunsigned long precon_buf_idx;/* Pre-Console buffer index */#endif#ifdef CONFIG_MODEM_SUPPORTunsigned long do_mdm_init;unsigned long be_quiet;#endifunsigned long env_addr;/* Address of Environment struct */unsigned long env_valid;/* Checksum of Environment valid? *//* TODO: is this the same as relocaddr, or something else? */unsigned long dest_addr;/* Post-relocation address of U-Boot */unsigned long dest_addr_sp;unsigned long ram_top;/* Top address of RAM used by U-Boot */unsigned long relocaddr;/* Start address of U-Boot in RAM */phys_size_t ram_size;/* RAM size */unsigned long mon_len;/* monitor len */unsigned long irq_sp;/* irq stack pointer */unsigned long start_addr_sp;/* start_addr_stackpointer */unsigned long reloc_off;struct global_data *new_gd;/* relocated global data */const void *fdt_blob;/* Our device tree, NULL if none */void *new_fdt;/* Relocated FDT */unsigned long fdt_size;/* Space reserved for relocated FDT */void **jt;/* jump table */char env_buf[32];/* buffer for getenv() before reloc. */struct arch_global_data arch;/* architecture-specific data */} gd_t;这其中还包含了一个arch_global_data,对于ARM,这个结构体定义在:<arch/arm/include/asm/global_data.h>
- u-boot下的两个重要数据:bd_t和gd_t
- U-boot的gd_t和bd_t数据结构简介
- U-Boot第二阶段之初解二个重要的数据结构gd_t与bd_t
- U-Boot第二阶段之初解二个重要的数据结构gd_t与bd_t
- U-BOOT之五:gd_t和bd_t数据结构简介
- u-boot第二阶段之gd_t和 bd_t结构体
- u-boot移植随笔:一些内存地址的研究(gd_t和bd_t结构体)
- U-boot启动代码第二阶段之 gd_t和bd_t 以及 *gd asm ("r8")
- u-boot分析——struct gd_t与struct bd_t
- u-boot分析 之 struct gd_t与struct bd_t
- u-boot分析——struct gd_t与struct bd_t
- uboot的gd_t和bd_t数据结构
- uboot的gd_t和bd_t数据结构
- uboot的gd_t和bd_t数据结构
- uboot的gd_t和bd_t数据结构
- uboot的gd_t和bd_t数据结构
- gd_t和bd_t
- gd_t和bd_t
- 页面置换、作业调度、进程调度小剖析
- 操作符重载
- 【Android】嵌套Fragment无法接收onCreateOptionsMenu事件的问题
- mysql基础加强
- 淘宝开源其系统监控工具Tsar
- u-boot下的两个重要数据:bd_t和gd_t
- IOS中View添加阴影/圆角的方法
- 数据库表连接
- 共享内存循环形队列池设计
- Vs快捷键
- windows下忘记mysql超级管理员root密码的解决办法
- 事务
- ultraedit完美显示lua
- 触发器