s=env_get("bootdelay"); bootdelay=s?(int)simple_strtol(s,NULL,10) :CONFIG_BOOTDELAY; debug("### main_loop entered: bootdelay=%d\n\n",bootdelay); bootretry_init_cmd_timeout(); //暂时中断启动 //选中altbootcmd函数并返回 if(bootcount_error()) s=env_get("altbootcmd"); else //...
//在sdram中开辟一开内存空间并使env_ptr指向它 env_ptr = (env_t *)malloc (CFG_ENV_SIZE); DEBUGF ("%s[%d] malloced ENV at %p\n", __FUNCTION__,__LINE__,env_ptr); /* * After relocation to RAM, we can always use the "memory" functions */ env_get_char = env_get_char_memor...
s = bootdelay_process() s = env_get("bootdelay"); s = env_get("bootcmd"); autoboot_command(s) abortboot(stored_bootdelay) //延时期间可终止uboot运行 __abortboot(bootdelay) printf("Hit any key to stop autoboot: %2d ", bootdelay); printf("### main_loop: bootcmd=\"%s\"\n",...
1intdo_printenv (cmd_tbl_t *cmdtp,intflag,intargc,char*argv[])2{3inti, j, k, nxt;4intrcode =0;56if(argc ==1) {/*Print all env variables*/7for(i=0; env_get_char(i) !='\0'; i=nxt+1) {8for(nxt=i; env_get_char(nxt) !='\0'; ++nxt)9;10for(k=i; k<nxt; ++...
UBOOT:env(环境变量)env包含以下⽂件:cmd/nvedit.c common/env_common.c common/env_flags.c common/env_common.c env_htab 为环境变量的哈希表。uchar env_get_char(int index)返回(gd->env_addr+index)的字符串指针。common/env_flags.c int env_flags_validate(const ENTRY *item, const char *...
const char *bootdelay_process(void){char *s;int bootdelay;bootcount_inc();s = env_get("bootdelay"); //先判断是否有bootdelay环境变量,如果没有,就使用menuconfig中配置的CONFIG_BOOTDELAY时间bootdelay = s ? (int)simple_strtol(s, NULL, 10) : CONFIG_BOOTDELAY;if (IS_ENABLED(CONFIG_OF_CONT...
5.9 get_clocks 获取当前CPU和BUS的时钟频率,并保存在global data中: 代码语言:javascript 复制 gd->cpu_clk gd->bus_clk 5.10 env_init 初始化环境变量有关的逻辑,不需要特别关注。 5.11 init_baud_rate 代码语言:javascript 复制 gd->baudrate=getenv_ulong("baudrate",10,CONFIG_BAUDRATE); ...
RV1126调试(3)-mac地址改为从uboot env传递 背景 设备上一共有四个网口,一个是原生的mac,另外三个是USB扩展的RTL8152,为了生产时候方便mac地址统一,所以需要所有的mac地址都存在一个存储空间里,然后四个mac去获取设置。这里比较简单的是将ethaddr这些参数在uboot通过bootargs传递给内核驱动。设备上有一个eeprom,...
第一层循环,用来循环各个环境变量。第二个循环,用来处理每个环境变量。当for (nxt=i; env_get_char(nxt) != '\0'; ++nxt);执行完毕后,nxt就指向了当前处理环境变量在数组中\0的索引处。而环境变量的开始索引保存在i中。 然后在第三个循环,将i和nxt之间的数组内容打印出来,也就是环境变量的内容。打印完毕...
sudo apt-get install libncurses5-dev 再次执行 make ARCH=arm menuconfig,出现下图配置界面 问题②: time make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- 2>&1 | tee build.log 编译Uboot报错 查看这个目录下,发现工具文件存在 解决方法: 1)、首先尝试以绝对路径编译 ...