网页设计尺寸详解,seopeix,东莞哪家公司做网站比较好,长沙公司名称大全一. 简介 本文继续简单了解一下#xff0c;uboot的图形化配置原理。具体了解 Kconfig语法。
之前文章了解了几个 Kconfig语法。地址如下#xff1a;
menuconfig 图形化配置原理说明二-CSDN博客 二. menuconfig 图形化配置之 Kconfig语法 1. config 条目
顶层 Kconfig …一. 简介 本文继续简单了解一下uboot的图形化配置原理。具体了解 Kconfig语法。
之前文章了解了几个 Kconfig语法。地址如下
menuconfig 图形化配置原理说明二-CSDN博客 二. menuconfig 图形化配置之 Kconfig语法 1. config 条目
顶层 Kconfig 中的 “General setup” 子菜单内容如下
menu General setup
config LOCALVERSIONstring Local version - append to U-Boot release
...................
config LOCALVERSION_AUTO
bool Automatically append version information to the version stringdefault y
...................
config SYS_MALLOC_F_LENhex Size of malloc() pool before relocation
...................
endif
endmenu # General setup 可以看出在 menu/endmenu 代码块中有大量的 “ config xxxx ” 的代码块也就是 config 条目。 config 条目就是 “ General setup ” 菜单的具体配置项如下图 所示 顶层 Kconfig中第 1行中以 config 关键字开头后面跟着 LOCALVERSIONLOCALVERSION就是配置项名字。
config 条目都是以 config条目开头的。后面紧跟着配置项名例如LOCALVERSION使能了条目以后就会在 .config文件 里面添加 CONFIG_LOCALVERSIONy。 由此可知 .config 文件中的 “ CONFIG_xxx ” (xxx 就是具体的配置项名字 ) 就是 Kconfig 文件中 config 关键字后面的配置项名字加上 “ CONFIG_ ” 前 缀。 config 关键字下面的这几行是配置项属性3~5 行是 LOCALVERSION 的属性。 属性里面描述了配置项的类型、输入提示、依赖关系、帮助信息和默认值等。 第 17 行的 string 是变量类型也就是“ CONFIG_ LOCALVERSION ”的变量类型。 可以为bool 、 tristate 、 string 、 hex 和 int 一共 5 种。 最常用的是 bool 、 tristate 和 string 这三种。 bool 类 型有两种值 y 和 n 当为 y 的时候表示使能这个配置项当为 n 的时候就禁止这个配置项。 tristate 类型有三种值 y 、 m 和 n 其中 y 和 n 的涵义与 bool 类型一样 m 表示将这个配置项编 译为模块。 string 为字符串类型所以 LOCALVERSION 是个字符串变量用来存储本地字符 串选中以后即可输入用户定义的本地版本号。如下可以输入 string 后面的 “ Local version - append to U-Boot release ” 就是这个配置项在图形界面上的显示出来的标题。 第 18 行 help 表示帮助信息告诉我们配置项的含义当我们按下“ h ”或“ ? ”弹出来的帮助界面就是 help 的内容。 2. source source 用于读取另一个 Kconfig 例如顶层 Kconfig 文件中 source arch/Kconfig 顶层 Kconfig 读取 uboot根目录下的 arch/目录下的 Kconfig。 3. choice/endchoice 在 arch/Kconfig 文件中有如下代码 choiceprompt Architecture selectdefault SANDBOX
config ARCbool ARC architecture
.................config ARMbool ARM architecture
.................
config X86bool x86 architecture
.................
endchoice choice/endchoice 代码段定义了一组可选择项将多个类似的配置项组合在一起供用户单 选或者多选。 就是选择处理器架构可以从 ARC 、 ARM 、 AVR32 等这些架构 中选择这里是单选。 在 uboot 图形配置界面上选择“ Architecture select ”进入以后如下图所示 可以在图 中通过移动光标来选择所使用的 CPU 架构。 第 2 行的 prompt 给出这个 choice/endchoice 段的提示信息为“ Architecture select ”。 4. depends on 和 select 打开 arch/Kconfig 文件在里面有这如下代码 config HAVE_GENERIC_BOARDboolconfig SYS_GENERIC_BOARDbooldepends on HAVE_GENERIC_BOARDchoiceprompt Architecture selectdefault SANDBOXconfig ARCbool ARC architectureselect HAVE_PRIVATE_LIBGCCselect HAVE_GENERIC_BOARDselect SYS_GENERIC_BOARDselect SUPPORT_OF_CONTROL 第 6 行“ depends on ” 说明 “ SYS_GENERIC_BOARD ” 项依赖于 “ HAVE_GENERIC_BOARD ”, 也就是说 “ HAVE_GENERIC_BOARD ” 被选中以后“ SYS_GENERIC_BOARD ” 才能被选中。 第 14~17 行“ select ” 表示反向依赖当选中 “ ARC ” 以后“ HAVE_PRIVATE_LIBGCC ”、 “ HAVE_GENERIC_BOARD ”、“ SYS_GENERIC_BOARD ”和“ SUPPORT_OF_CONTROL ”这四个也会被选中。 5. comment comment 用 于 注 释 也 就 是 在 图 形 化 界 面 中 显 示 一 行 注 释 打 开 文 件 drivers/mtd/nand/Kconfig 有如下所示代码 config NAND_ARASANbool Configure Arasan NandhelpThis enables Nand driver support for Arasan nand flashcontroller. This uses the hardware ECC for read andwrite operations.comment Generic NAND options 第 8 行使用 comment 标注了一行注释注释内容为“ Generic NAND options ”这行注释在配置项 NAND_ARASAN 的下面。在图形化配置界面中按照如下路径打开 - Device Drivers - NAND Device Support 如下图所示 从上图中可以看出在配置项“ Configure Arasan Nand ”下面有一行注释注释内容为 “ *** Generic NAND options *** ”。