当前位置: 技术问答>linux和unix
各位大侠:u-boot 中的gd变量是在哪定义的?
来源: 互联网 发布时间:2016-05-06
本文导语: 各位大侠:u-boot 中的gd变量是在哪定义的? | gd指针只有在需要使用它的函数中定义为一个局部变量: DECLARE_GLOBAL_DATA_PTR 因为在u-boot中,这个指针使用一个固定的寄存器来保存它,所以即使...
各位大侠:u-boot 中的gd变量是在哪定义的?
|
gd指针只有在需要使用它的函数中定义为一个局部变量:
DECLARE_GLOBAL_DATA_PTR
因为在u-boot中,这个指针使用一个固定的寄存器来保存它,所以即使是局部变量,但是它在所有使用到它的地方都是一样的值,这个值在board_init_f中初始化,指向CFG_GBL_DATA_ADDR
DECLARE_GLOBAL_DATA_PTR
因为在u-boot中,这个指针使用一个固定的寄存器来保存它,所以即使是局部变量,但是它在所有使用到它的地方都是一样的值,这个值在board_init_f中初始化,指向CFG_GBL_DATA_ADDR
|
在global_data.h中定义的宏
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r8")
在smdk2410.c中经行了定义。
#include
#include
DECLARE_GLOBAL_DATA_PTR;
#define FCLK_SPEED 1