根据系统的配置参数,uboot在include/env_default.h中为系统定义了一份默认的环境变量: #ifdef DEFAULT_ENV_INSTANCE_EMBEDDED env_t embedded_environment __UBOOT_ENV_SECTION__(environment) = { #ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT 1, #endif { #elif defined(DEFAULT_ENV_INSTANCE_STATIC) static char ...
env_init定义在commen/env_movi.c中 函数中实际执行的就是把default_environment的地址赋值给全局变量gd中的env_addr 和env_valid两个值; 1 int env_init(void) 2 { 3 #if defined(ENV_IS_EMBEDDED) 4 #else /* ENV_IS_EMBEDDED */ 5 gd->env_addr = (ulong)&default_environment[0]; 6 gd->env...
2.1搜索using default environment,找到位于set_default_env()函数: 从上面代码可以看到, default_environment这个变量,这是个全局字符数组,从字面上就可知道,这个是默认环境变量数组,里面保存了各个环境值 2.2进入default_environment[]看看 这个数组比较长,所以只剪切一部分,其中MK_STR()的作用就是将数值转换为字符串...
2.1搜索using default environment,找到位于set_default_env()函数: 从上面代码可以看到, default_environment这个变量,这是个全局字符数组,从字面上就可知道,这个是默认环境变量数组,里面保存了各个环境值 2.2进入default_environment[]看看 这个数组比较长,所以只剪切一部分,其中MK_STR()的作用就是将数值转换为字符串...
2.1搜索using default environment,找到位于set_default_env()函数: 从上面代码可以看到,default_environment这个变量,这是个全局字符数组,从字面上就可知道,这个是默认环境变量数组,里面保存了各个环境值 2.2进入default_environment[]看看 这个数组比较长,所以只剪切一部分,其中MK_STR()的作用就是将数值转换为字符串 ...
可以看出,读出的是坏的CRC,使用默认的环境变量,搜索 "using default environment" ,找到位于 common/env_common.c 文件 set_default_env 函数中,定位此处: 从上面的代码可以猜到,默认的环境变量都保存在 default_environment 中,进入到 default_environment : ...
saveenv 上面命令设置author的值为“console=ttySTM0,115200 root=/dev/mmcblk2p2 rootwait rw”,其中“console=ttySTM0,115200”、 root=/dev/mmcblk2p2”、“rootwait”和“rw”相当于四组“值”,这四组“值”之间用空格隔开,所以需要使用单引号‘’将其括起来,表示这四组“值”都属于环境变量author。
gd->env_valid = 1;return 0;} 复制代码 这个是静态变量,default_environment, 是个静态数组,...
环境变量可以为uboot提供在运行时动态配置参数的能力,如在命令行通过修改环境变量bootargs可以改变内核的启动参数。它以env=value格式存储,其中每条环境变量之间以’\0’结尾。根据系统的配置参数,uboot在include/env_default.h中为系统定义了一份默认的环境变量: ...
位置u-boot-2022.01/include/env_default.h default_environment 是一个字符数组,大小为ENV_SIZE,内容就是很多个环境变量连续分布组成,每个环境变量最末端以'\0'结束 const char default_environment[] = { endif ifndef CONFIG_USE_DEFAULT_ENV_FILE ifdef CONFIG_ENV_CALLBACK_LIST_DEFAULT ...