一. 方法一 在文件<file>.c的首行加入以下内容: #defineDEBUG#undefCONFIG_LOGLEVEL#defineCONFIG_LOGLEVEL 8 二.方法二 在文件<file>.c对应的Makefile文件中加入以下内容: CFLAGS_<file>.o+= -DDEBUG -DCONFIG_LOGLEVEL=8
uboot的debug定义在include/common.h中 #ifdef DEBUG #define debug(fmt, args...) printf(fmt, ##args) #define debugX(level, fmt, args...) if(DEBUG>=level) printf(fmt, ##args) #else #define debug(fmt, args...) #define debugX(level, fmt, args...) #endif 注:args前加##的作用在...
Uboot 1.16/lib_arm/board.c中start_armboot()函数调用/common/main.c中main_loop()函数,在main_loop()中有uboot启动内核的代码: s = getenv ("bootcmd"); debug ("### main_loop: bootcmd=\"%s\"\n", s ? s :"<UNDEFINED>"); if (bootdelay >= 0 && s && !abortboot (bootdelay)) {...
Uboot 1.16/lib_arm/board.c中start_armboot()函数调用/common/main.c中main_loop()函数,在main_loop()中有uboot启动内核的代码: s = getenv ("bootcmd"); debug ("### main_loop: bootcmd=\"%s\"\n", s ? s :"<UNDEFINED>"); if (bootdelay >= 0 && s && !abortboot (bootdelay)) {...
debug("### main_loop entered: bootdelay=%d\n\n",bootdelay); bootretry_init_cmd_timeout(); //暂时中断启动 //选中altbootcmd函数并返回 if(bootcount_error()) s=env_get("altbootcmd"); else //返回bootcmd这个变量的地址 s=env_get("bootcmd"); ...
1、第二阶段的函数入口: start_armboot(void) void start_armboot (void) { init_fnc_t **init_fnc_ptr; char *s; #ifndef CFG_NO_FLASH ulong size; #endif #if defined(CONFIG_VFD) || defined(CONFIG_LCD) unsigned long addr; #endif
Uboot 1.16/lib_arm/board.c中start_armboot()函数调用/common/main.c中main_loop()函数,在main_loop()中有uboot启动内核的代码: s = getenv ("bootcmd");debug("### main_loop: bootcmd=\"%s\"\n", s ? s :"<UNDEFINED>");if (bootdelay >= 0 && s && !abortboot (bootdelay)){ run_...
init_fnc_ptr是一个二重函数指针,可以指向init_sequence这个函数指针数组。 这个地方的技巧就是将所有初始化函数都遍历依次执行。而不用单独的去执行初始化函数然后判断是否初始化成功。 遍历函数指针数组方法: 第一种:用下标去遍历,用数组元素个数来截止。
4.4)继续分析reserve_round_4k函数是无条件调用,将最后12个bit值设置为0。等于减4K。那么这4K用来干嘛呢?貌似看不出来,我就当做是保留区间吧!这个没有debug log信息所以我画的内存分布图中没有体现0x33FFF000这个地址。此时relocaddr变成了0x33FFF000
1.uboot启动内核的代码缩减如下:Uboot 1.16/lib_arm/board.c中start_armboot()函数调用/common/main.c中main_loop()函数,在main_loop()中有uboot启动内核的代码:s = getenv ("bootcmd");debug ("### main_loop: bootcmd=\"%s\"\n", s ? s :"<UNDEFINED>");if (bootdelay >= ...