阅读:3106回复:0

uboot向kernel传递参数的两个方式

楼主#
更多 发布于:2021-07-06 11:51


aml提供了HAL层的接口:SystemControl.getBootEnv("ubootenv.var.xxx", default_val)
供上层调用


但kernel中获取的方法有些差异1. 通过cmdline传递:
在uboot的setenv bootargs定义自己的参数,这就是kernel中的cmdline,可以在设备中查看:cat proc/cmdline
然后在kernel的驱动中加入__setup字段,如获取bl_level:

static unsigned int bl_level;
static int __init aml_bl_level_setup(char *str)
{
 int ret = 0;
 if (str != NULL) {
 ret = kstrtouint(str, 10, &bl_level);
 BLPR("bl_level: %d\n", bl_level);
 }
 return ret;
}
__setup("bl_level=", aml_bl_level_setup);


2. 通过unifikey方式,在uboot中写入内存,然后在kernel里读出来,数据量大的场景可以使用这种方式。参考:kernel的aml_bl_config_load_from_unifykey函数,没有参考文档,看着真累

最新喜欢:

124718842124718... thomas_2022thomas... zhaoyf13zhaoyf...
游客

返回顶部