DECLARE_GLOBAL_DATA_PTR 作用

DECLARE_GLOBAL_DATA_PTR; 这个宏在include/global_data.h中

#define DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("r8")   
/* 声明一个寄存器变量gd占用r8。这个宏在所有需要引用全局数据指针gd_t *gd的源码中都有声明 
 * 这个声明也避免编译器把r8分配给其他的变量,所以gd就是r8,这个指针变量不占用内存。
 */
/* 定义gd为gd_t类型指针,存储在寄存器r8中 */
/* register:表示变量对于执行速度非常重要,因此应该放在机器的寄存器中(寄存器独立于内存,通常在处理器芯片上) */
/* volatile:用于指定变量的值可以由外部过程异步修改,例如中断例程 */

posted @ 2013-03-26 10:20  lihaiping  阅读(858)  评论(0编辑  收藏  举报