UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "mx6ull_14x14_evk_config,sdcard"
UBOOT_CONFIG[emmc] = "mx6ull_14x14_evk_emmc_config,sdcard"
UBOOT_CONFIG[nand] = "mx6ull_14x14_evk_nand_config,ubifs"
UBOOT_CONFIG[qspi1] = "mx6ull_14x14_evk_qspi1_config"
UBOOT_CONFIG[mfgtool] = "mx6ull_14x14_evk_config"
这段代码是使用makefile语法定义的,通常用于构建和配置系统。让我们逐行解析它:
UBOOT_CONFIG ??= "sd"
这行代码定义了一个变量
UBOOT_CONFIG
,其默认值为"sd"
。如果UBOOT_CONFIG
之前没有定义过,那么它的值就会被设置为"sd"
。
2.UBOOT_CONFIG[sd] = "mx6ull_14x14_evk_config,sdcard"
这行代码给
UBOOT_CONFIG
变量添加了一个键值对。键是sd
,值是"mx6ull_14x14_evk_config,sdcard"
。可以理解为,当选择sd
配置时,对应的配置名是mx6ull_14x14_evk_config
,并且该配置与sdcard
有关。
3.UBOOT_CONFIG[emmc] = "mx6ull_14x14_evk_emmc_config,sdcard"
类似地,这行代码给
UBOOT_CONFIG
变量添加了另一个键值对,这次键是emmc
,对应的配置名是mx6ull_14x14_evk_emmc_config
。
4.UBOOT_CONFIG[nand] = "mx6ull_14x14_evk_nand_config,ubifs"
同样地,这行代码给
UBOOT_CONFIG
变量添加了第三个键值对,键是nand
,对应的配置名是mx6ull_14x14_evk_nand_config
。值得注意的是,这次值是ubifs
,可能表示该配置与UBIFS文件系统有关。
5.UBOOT_CONFIG[qspi1] = "mx6ull_14x14_evk_qspi1_config"
这行代码给
UBOOT_CONFIG
变量添加了第四个键值对,键是qspi1
,对应的配置名是mx6ull_14x14_evk_qspi1_config
。
6.UBOOT_CONFIG[mfgtool] = "mx6ull_14x14_evk_config"
最后一行代码给
UBOOT_CONFIG
变量添加了第五个键值对,键是mfgtool
,对应的配置名是mx6ull_14x14_evk_config
。总的来说,这段代码定义了一个名为
UBOOT_CONFIG
的变量,它包含多个键值对。每个键代表一种配置类型(如SD、eMMC、NAND、QSPI1或MFGTOOL),而对应的值则是指向具体配置名称的字符串。这些配置通常用于引导系统或设备的启动过程。
在这个上下文中,"sdcard"和"ubifs"是两种不同的存储配置。
"sdcard"通常指的是通过SD卡(Secure Digital Memory Card)进行存储的配置。SD卡是一种小型、轻量级的存储设备,广泛用于各种电子设备中,如手机、平板电脑和数码相机等,用于存储数据、音乐、照片和其他类型的信息。
"ubifs"则指的是UBI(Unsorted Block Images)文件系统。UBI是一种用于闪存设备的统一、可扩展的启动方式,它通过将块作为基本单位进行操作,提供了一种高效、可靠的存储方式。UBIFS是UBI文件系统的实现,它提供了类似于传统文件系统的接口,可以用于在UBI启动的系统中进行文件存储和管理。
因此,"sdcard"和"ubifs"分别代表了通过SD卡进行存储的配置和使用UBI文件系统进行存储的配置,它们在存储介质和使用方式上有所不同。
怎么知道 在开发板是否使用ubfis
df -Th
echo -n 和echo -e 参数意义-优快云博客 具有重要的注意参考
2、shell脚本
#!/bin/bash
echo original parameters=[$*]
echo original OPTIND=[$OPTIND]
while getopts ":a:bc" opt
do
case $opt in
a)
echo "this is -a option. OPTARG=[$OPTARG] OPTIND=[$OPTIND]"
;;
b)
echo "this is -b option. OPTARG=[$OPTARG] OPTIND=[$OPTIND]"
;;
c)
echo "this is -c option. OPTARG=[$OPTARG] OPTIND=[$OPTIND]"
;;
?)
echo "there is unrecognized parameter."
exit 1
;;
esac
done
#通过shift $(($OPTIND - 1))的处理,$*中就只保留了除去选项内容的参数,
#可以在后面的shell程序中进行处理
shift $(($OPTIND - 1))
echo remaining parameters=[$*]
echo \$1=[$1]
echo \$2=[$2]
$ bash getopts.sh -a 12 -b -c file1 file2
original parameters=[-a 12 -b -c file1 file2]
original OPTIND=[1]
this is -a option. OPTARG=[12] OPTIND=[3]
this is -b option. OPTARG=[] OPTIND=[4]
this is -c option. OPTARG=[] OPTIND=[5]
remaining parameters=[file1 file2]
$1=[file1]
$2=[file2]