本文主要是介绍uboot 移植之gd_t,bd_t,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
gd_t定义在uboot/include/asm-arm/global_data.h/** (C) Copyright 2002* Wolfgang Denk, DENX Software Engineering, wd@denx.de.** See file CREDITS for list of people who contributed to this* project.** This program is free software; you can redistribute it and/or* modify it under the terms of the GNU General Public License as* published by the Free Software Foundation; either version 2 of* the License, or (at your option) any later version.** This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the* GNU General Public License for more details.** You should have received a copy of the GNU General Public License* along with this program; if not, write to the Free Software* Foundation, Inc., 59 Temple Place, Suite 330, Boston,* MA 02111-1307 USA*/#ifndef __ASM_GBL_DATA_H
#define __ASM_GBL_DATA_H
/** The following data structure is placed in some memory wich is* available very early after boot (like DPRAM on MPC8xx/MPC82xx, or* some locked parts of the data cache) to allow for a minimum set of* global variables during system initialization (until we have set* up the memory controller so that we can use RAM).** Keep it *SMALL* and remember to set CONFIG_SYS_GBL_DATA_SIZE > sizeof(gd_t)*/typedef struct global_data {bd_t *bd;unsigned long flags;unsigned long baudrate;unsigned long have_console; /* serial_init() was called */unsigned long env_addr; /* Address of Environment struct */unsigned long env_valid; /* Checksum of Environment valid? */unsigned long fb_base; /* base address of frame buffer */
#ifdef CONFIG_VFDunsigned char vfd_type; /* display type */
#endif
#if 0unsigned long cpu_clk; /* CPU clock in Hz! */unsigned long bus_clk;phys_size_t ram_size; /* RAM size */unsigned long reset_status; /* reset status register at boot */
#endifvoid **jt; /* jump table */
} gd_t;/** Global Data Flags*/
#define GD_FLG_RELOC 0x00001 /* Code was relocated to RAM */
#define GD_FLG_DEVINIT 0x00002 /* Devices have been initialized */
#define GD_FLG_SILENT 0x00004 /* Silent mode */
#define GD_FLG_POSTFAIL 0x00008 /* Critical POST test failed */
#define GD_FLG_POSTSTOP 0x00010 /* POST seqeunce aborted */
#define GD_FLG_LOGINIT 0x00020 /* Log Buffer has been initialized */
#define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r8")//#endif /* __ASM_GBL_DATA_H */
bd_t定义在uboot/include/asm-arm/u-boot.h
/** (C) Copyright 2002* Sysgo Real-Time Solutions, GmbH <www.elinos.com>* Marius Groeger <mgroeger@sysgo.de>** (C) Copyright 2002* Sysgo Real-Time Solutions, GmbH <www.elinos.com>* Alex Zuepke <azu@sysgo.de>** See file CREDITS for list of people who contributed to this* project.** This program is free software; you can redistribute it and/or* modify it under the terms of the GNU General Public License as* published by the Free Software Foundation; either version 2 of* the License, or (at your option) any later version.** This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the* GNU General Public License for more details.** You should have received a copy of the GNU General Public License* along with this program; if not, write to the Free Software* Foundation, Inc., 59 Temple Place, Suite 330, Boston,* MA 02111-1307 USA********************************************************************** NOTE: This header file defines an interface to U-Boot. Including* this (unmodified) header file in another file is considered normal* use of U-Boot, and does *not* fall under the heading of "derived* work".*********************************************************************/#ifndef _U_BOOT_H_
#define _U_BOOT_H_ 1typedef struct bd_info {int bi_baudrate; /* serial console baudrate */unsigned long bi_ip_addr; /* IP Address */struct environment_s *bi_env;ulong bi_arch_number; /* unique id for this board */ulong bi_boot_params; /* where this board expects params */struct /* RAM configuration */{ulong start;ulong size;} bi_dram[CONFIG_NR_DRAM_BANKS];
} bd_t;#define bi_env_data bi_env->data
#define bi_env_crc bi_env->crc#endif /* _U_BOOT_H_ */
可参考
http://hi.baidu.com/shaoyi1110/blog/item/5246f5d1e0ac93123bf3cf56.html
这篇关于uboot 移植之gd_t,bd_t的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!