赞
踩
U-Boot(“通用引导加载程序”,通常简称为U-Boot)是一种开源的主引导加载程序,用于嵌入式设备中打包引导设备操作系统内核的指令。它可用于多种计算机架构,包括68k、ARM、Blackfin、MicroBlaze、MIPS、Nios、SuperH、PPC、RISC-V和x86。
联发科从2018年开始将MT7621移植到主线U-Boot。从这个版本开始,U-Boot框架将不会被触摸。所有添加的组件(架构、目标、命令、驱动程序)都遵循U-Boot标准。本次移植使用2018.09版本,PC使用ubuntu18.04.
通常,主线U-Boot可以与版本高于或等于4.8的所有gcc一起编译。以下版本的gcc已经过测试:
gcc-4.8+ gcc-5.x gcc-6.x gcc-7.x gcc-8.1
如果你使用的是OpenWrt,则可以直接使用OpenWrt的工具链。否则,您可以使用buildroot构建工具链。建议使用gcc-5.x或更高版本。本次移植中kernel需要从openwrt中提出做独立编译使用,因此uboot可以和openwrt使用同一个编译器。
交叉编译工具链在openwrt中的路径:
路径不是唯一的。它基于您正在使用的OpenWrt版本。您应该查看源代码以获得实际路径。
将uboot和工具链放置在额外创建的单独目录,方便源码打包和使用。通常我们需要在编译环境中指定编译器路径,方便使用。但是对于经常使用多个不同版本编译器的电脑,直接在环境变量中定义反而使用繁琐,因此我们先构建一个编译框架。该框架包含:不同board的defconfig文件目录,Makefile需要使用到的子Makefile,最终生成的Image的存放目录,脚本目录,uboot源码目录,menuconfig后生成的.config备份目录,使用到dts的源码还可以增加一个存放不同board的dts目录,一个Makefile文件。根据使用场景可以再增加其他目录。此时我们就可以通过顶层Makefile快速生成所需目标。此处就不放出框架源码了,可自由发挥。
先简单的使用脚本编译测试编译情况:
新建build.sh脚本,指定架构和编译器路径,然后make配置文件,最后编译,运行一次之后就可以手动随时编译或配置了,脚本主要是在当前终端指定一次编译器路径。
进入源码路径下的configs目录下,可以找到如下四个MT7621的默认配置文件
要使用MT7621 RFB 802.11ax板从NAND启动的默认配置(启用NMBM):make mt7621_nand_ax_rfb_defconfig
要使用MT7621 RFB板从NAND启动的默认配置(启用NMBM):make mt7621_nand_rfb_defconfig
要使用MT7621 RFB 802.11ax板从SPI-NOR引导的默认配置,请执行以下操作:make mt7621_ax_rfb_defconfig
要使用默认配置从SPI-NOR引导MT7621 RFB板:make mt7621_rfb_defconfig
IEEE 802.11.ax即第六代无线网络技术,是Wi-Fi标准的名称。我们本次移植的目标board并没有wifi,而且从spi flash启动,因此选择默认配置mt7621_rfb_defconfig,将该配置写入到build.sh脚本中,赋予脚本运行权限(chmod 777 build.sh),然后执行脚本(./build.sh)
在弹出menuconfig配置页面后,根据需要自行配置,然后保存退出,进行编译。
编译成功后,可以看到生成了一些镜像,其中u-boot-mt7621.bin:spl/u-boot-spl-mtk-pad.bin + u-boot.img,该镜像可直接烧录
同时编译过程中可以看到 mipsel-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined,在我们的脚本中加入如下行即可解决警告。不解决也不影响。
在U-Boot的根源目录下,执行:
make menuconfig
您将获得一个菜单,列出U-Boot的所有可配置功能。(以下菜单的选项及位置可能与你正在使用的版本不完全一样,这是完全可能的,所以配置项的分析仅供参考通用项)
o Architecture select (MIPS architecture) --->
MT7621是MIPS架构,默认配置不用动。
顶层路径
o MIPS architecture --->
一级路径
o Target select (Support MediaTek MT7621) ---> 下有多个平台,默认选择了MT7621平台
o MediaTek MT7621 platform ---> 当前平台下的一些配置
o Endianness selection (Little endian) ---> 大小端模式选择
o CPU selection (MIPS32 Release 2) ---> CPU的版本,默认选择Release 2
o General setup ---> 通用的一些设置
o OS boot interface ---> 和内核系统启动相关设置
二级路径
o MIPS architecture --->
o MediaTek MT7621 platform ---> 下则是当前平台下的一些设置了,详情如下:
o Board select (MT7621 reference board) ---> 下是选择不同的board,用户新增的board可以放在该路径下
o (0x10000) SPL alignment size 配置SPL的对齐大小
0x1000 for SPI NOR flash with 4KiB sector support
0x10000 for SPI NOR flash with 64KiB erase block
0x20000 for NAND flash with 128KiB block sizeo (0x30000) Maximum U-Boot size 配置uboot最大大小
SPL在启动后会在该范围内搜索镜像,所以该项需要配置正确,并且要与分区表对应。
o Do optional memtest after DRAM initialization
在DRAM初始化后启用提示,允许用户启动完整内存测试,一般该项用于测试阶段。
o Force to use single MIPS core / Force to use single VPE per core
强制使用单核/VPE,即使芯片具有双核。
o Clear watchdog reset indication bit
启动后,u-boot将显示导致上次重置的原因(冷启动/软重置/看门狗重置)。这是通过硬件寄存器位完成的。应清除该位,以确保在下次重置时指示正确的原因。但是,如果您想保留此位以便内核可以使用它,请不要启用此选项。
o Use legacy DDR initialization
o CPU & DDR configuration --->
配置CPU频率和DRAM频率/大小,最后一项是在DRAM控制器初始化期间启用冗余输出
o CPU Frequency
对于20/40MHz晶体,频率是20MHz的倍数。
当 Use legacy DDR initialization 未被选择时
o Use user-prefered DRAM initialization parameters first:
默认情况下,U-Boot将自动确定DRAM大小,并使用默认DDR AC定时设置。您可以让U-Boot使用特定的DDR AC定时设置初始化DRAM。如果初始化后的实际DRAM大小不等于属于特定DDR AC定时设置的大小,U-Boot将使用正确的DDR AC定时设置重新初始化DRAM。强烈建议手动为板选择正确的DRAM大小。
o Reset the chip if failed to initialize DRAM
如果U-Boot未能初始化DDR控制器和DDR芯片,则重置板并重试
o Enable verbose output during DRAMC initialization
输出初始化log,这仅用于调试目的。
o (0x50000) Default kernel offset in the NOR
kernel在存储器中的偏移位置,需要与自己的分区信息相对应
o (3) Delay for mtkautoboot command (seconds)
使用mtkautoboot命令时的延时时间,本次移植启动kernel我们不使用该命令。
o Enable dual image support
使能双镜像支持,若使用该选项,则需要增加备份分区
双镜像支持是用于镜像/固件备份和恢复的机制。
此功能需要两个MTD分区:主固件分区,用于存储要启动的固件。以及备份固件分区,它只存储备份固件。
当u-boot尝试引导固件时,它将首先检查两个分区中固件的完整性。
如果两个固件都正确,u-boot将引导主分区中的固件。
如果其中一个固件损坏,将由另一个分区的固件替换。
如果两个固件都损坏,u-boot将不会更新固件。
当FIT映像与最新的MTK SDK一起使用时,支持内核和rootfs的完整性检查(更新于4.2.1.0)为了使双映像可用,mtdparts应该至少包含以下带有mtd分区的部分menuconfig中指定的名称:
32768k(firmware),32768k(firmware_backup)
o Update backup image after upgrading main image
如果希望备份映像与主映像保持最新,请选择此选项。否则备份映像将保持不变。
未选中时,第一次u-boot执行双映像检查时,如果备份映像不存在,将从主映像更新
二级路径
o MIPS architecture --->
o General setup ---> 通用的一些设置
o Build U-Boot image with exception vectors
为uboot镜像添加异常向量,在使用SPL启动时,可禁用该选项,将减少镜像大小
o MIPS CM GCR Base Address
CM GCR的基地址,默认值为 0x1fbf8000,根据前文中的内存映射可知该地址即为CM GCR首地址,GCR为全局配置寄存器
二级路径
o MIPS architecture --->
o OS boot interface ---> 和内核系统启动相关设置
o Hand over legacy command line to Linux kernel
将遗留命令行移交给Linux内核,bootargs信息
o Hand over legacy environment to Linux kernel
将遗留环境移交给Linux内核,内存大小、initrd等信息
o Hand over a flattened device tree to Linux kernel
将设备树移交给Linux内核,传递设备树信息
顶层路径
o General setup --->
一级路径
o Local version - append to U-Boot release
在U-Boot版本的末尾附加一个额外的字符串。这将显示在启动日志中。在此设置的字符串将按顺序附加在对象的文件名匹配localversion*的任何文件的内容之后。您的总字符串可以最多为64个字符。
版本控制还存在一个配置 CONFIG_IDENT_STRING 该配置可在uboot第一行版本信息打印时跟随在最后,该宏通常用于版本信息区分。
o Automatically append version information to the version string
自动将版本信息附加到版本字符串
o Optimize for size
优化大小。启用此选项将向gcc传递“-Os”而不是“-O2”,产生较小的U-Boot镜像。默认情况下,U-Boot启用此选项。
o Select defaults suitable for booting general purpose Linux distributions
选择适用于引导通用Linux发行版的默认值。选择此选项可启用各种适合的选项和命令用于构建用于引导通用Linux发行版的u-boot。如下图,该项默认选择部分命令和其他功能,一般情况下用户不使用该项。
o Add arch, board, vendor and soc variables to default environment
将arch、board、vendor和soc变量添加到默认环境。定义此项以便将描述U-Boot构建配置的变量添加到默认环境中。这些将被命名为arch、cpu、board、vendor和soc。启用此选项将导致定义以下内容:
- CONFIG_SYS_ARCH
- CONFIG_SYS_CPU
- CONFIG_SYS_BOARD
- CONFIG_SYS_VENDOR
- CONFIG_SYS_So Number of DRAM banks
DRAM bank 数量。配置DDR颗粒的片数。
o Enable kernel command line setup
启用内核命令行设置。启用在“bootm_low”和“bootm_low”+BOOTMAPSZ之间的空间中分配和保存内核命令行。
o Enable kernel board information setup
启用board内核信息设置。允许在“bootm_low”和“bootm_low+BOOTMAPSZ”之间的空间中分配和保存bd_info的内核副本
o Enable malloc() pool before relocation
在重新定位之前启用malloc池。在重新定位之前,许多平台上的内存非常有限。不过,如果需要,我们可以提供一个小型malloc()池。驱动程序模型尤其需要此操作,以便它可以分配初始串行设备和所需的任何其他设备。
o (0x400) Size of malloc() pool before relocation
重新定位前malloc池的大小。
o (0x100000) Size of malloc() pool in SPL before relocation
重新定位之前SPL中malloc池的大小。
o (0x400) Size of malloc() pool in TPL before relocation
重新定位前TPL中malloc池的大小。
o Configure standard U-Boot features (expert users)
配置标准U-Boot功能(专家用户)。此选项允许禁用或调整某些基本U-Boot选项和设置。这适用于可以容忍“非标准”U-Boot的专用环境。只有当你真的知道自己在做什么时,才使用这个。
o 64bit physical address support
64位物理地址支持。这里选 y 以支持64位物理内存地址。这不仅可用于64位SoC,还可用于32位SoC上的大型物理地址扩展。
顶层路径
Boot images --->
一级路径
o Enable support for Android Boot Images
启用对Android启动映像的支持。这将支持引导使用Android图像格式标头的图像。
o Support Flattened Image Tree
支持FIT镜像。此选项允许您启动新的uImage结构“FIT”。FIT在形式上是FDT,它可以在单个blob中包含各种类型的图像(内核、FDT blob、ramdisk等)。要启动这个新的uImage结构,请将blob的地址传递给“bootm”命令。FIT非常灵活,支持压缩、多个映像、多个配置、通过哈希验证以及验证引导(使用RSA进行安全引导)。
以下7个选项是在使用 Support Flattened Image Tree 后出现的:
o Support SHA256 checksum of FIT image contents
支持FIT镜像内容的SHA256校验和。启用此选项可支持FIT图像内容的SHA256校验和。SHA256校验和是一个256位(32字节)哈希值,用于检查图像内容是否已损坏。SHA256建议用于安全应用程序,因为(截至2016年)没有已知可行的攻击可能会与不同的输入数据产生“冲突”。使用此选项可获得最高的安全性。请注意,仅支持SHA256变体:U-Boot当前不支持SHA512和其他变体。
o Enable signature verification of FIT uImages
启用FIT uImages的签名验证。此选项启用FIT uImages的签名验证,使用RSA签名和验证的哈希。如果定义了CONFIG_SHA_PROG_HW_ACCEL,即使用硬件支持渐进哈希,则RSA库将使用它。参见文档/uImage.FIT/签名。txt获取更多详细信息。警告:当依赖具有所需签名的签名FIT镜像时,默认情况下禁用旧镜像格式,因此无法加载未签名的镜像。在这种情况下,如果板需要传统镜像格式支持,请使用CONFIG_IMAGE_FORMAT_LEGACY启用它。
o Show verbose messages when FIT images fail
FIT映像失败时显示详细消息。通常,系统将具有有效的FIT映像,因此调试消息是对代码空间的浪费。如果正在调试映像,则可以启用此选项以获取有关失败的详细信息。
o Select the best match for the kernel device tree
为内核设备树选择最佳匹配项。如果未显式选择任何配置,则默认为fdt的兼容性字段与U-Boot本身的兼容性字段最匹配的配置。如果匹配U-Boot的fdt根节点的最特定兼容性条目,则该匹配被视为“最佳”。忽略配置fdt中的条目顺序。
o Support Flattened Image Tree within SPL
支持SPL中的FIT。该选项应该是将dtb加入到SPL镜像中,一般不会用。
o Enable SPL loading U-Boot as a FIT
启用SPL加载U-Boot作为FIT。通常在SPL框架中,作为构建的一部分生成遗留映像。其中包含U-Boot以及应加载位置的信息。相反,此选项可以生成FIT,从而提供更大的灵活性。特别是,它可以处理从多个设备树中的选择,并将正确的设备传递给U-Boot。
o Enable SPL loading U-Boot as a FIT
此选项与上一个选项相同,但对应的配置宏不同。
o Enable support for the legacy image format
启用对旧图像格式的支持。此选项启用传统图像格式。默认情况下,它是为向后兼容而启用的,除非将FIT_SIGNATURE设置为禁用,以便无法加载未签名的图像。如果在这种情况下板需要传统图像格式支持,请在此处启用它。
o Set up board-specific details in device tree before boot
启动前在设备树中设置特定于板的详细信息。这会导致U-Boot在引导到操作系统之前调用ft_board_setup()。此功能可以在设备树中设置各种特定于板的信息,供操作系统使用。然后将设备树传递给操作系统。
o Set up system-specific details in device tree before boot
启动前在设备树中设置系统特定的详细信息。这会导致U-Boot在引导到操作系统之前调用ft_system_setup()。此功能可以在设备树中设置各种系统特定信息,供操作系统使用。然后将设备树传递给操作系统。
o Update the device-tree stdout alias from U-Boot
从U-Boot更新设备树stdout别名。这使用别名节点中U-Boot的串行别名来更新传递给OS的设备树。所选节点中的“linux,stdout路径”属性设置为指向正确的串行节点。此选项当前引用CONFIG_CONS_INDEX,当与设备树一起使用时,这是不正确的,因为此选项不存在/不应使用。
o () Extra Options (DEPRECATED)
额外选项(已弃用)。
o (0x80200000) Text Base
U-Boot最初运行的内存地址。
o Enable arch_fixup_memory_banks() call
启用arch_fixup_memory_banks()调用。在OS引导之前启用FDT内存映射同步。此功能可用于引导具有不同内存设置的OS,其中部分内存位置应用于不同目的。
顶层路径
API --->
一级路径
o Enable U-Boot API
此选项启用U-Boot API。有关更多信息,请参见api/README。
顶层路径
Boot timing --->
一级路径
o Boot timing and reporting
启动时间和报告。启动时启用启动时间记录。要使用它,请使用bootstage.h中合适的bootstage_ID插入对bootstage_mark()的调用。每个ID只记录一个条目。您可以使用bootstage_mark_name()为条目命名。您还可以在启动前使用bootstage_start()记录特定阶段的运行时间,完成后使用bootstage_accum()记录。Bootstage将累加所有累积时间并报告它。通常,ID在Bootstage.h中定义,但通过传递Bootstage_ID_ALLOC作为ID,可以使用少量额外的“用户”ID。调用show_boot_progress()也会导致日志条目,但这些条目没有名称。
以下4个选项是在使用 Boot timing and reporting 后出现的:
o Boot timing and reported in SPL
启动时间并以SPL报告。启用SPL中的引导时间记录。要使U-Boot正确可见,请同时启用BOOTSTAGE_STASH。这将在SPL完成时隐藏计时信息,并在U-Boot正确启动时加载计时信息。
o Display a detailed boot timing report before booting the OS
在引导操作系统之前显示详细的引导定时报告。在OS启动之前启用启动时间报告的输出。这显示U-Boot在引导过程的每个阶段花费了多长时间。报告大致如下:
计时器摘要(以微秒为单位):
o Store boot timing information in the OS device tree
在OS设备树中存储引导定时信息。将引导阶段信息保存在FDT中。将创建根“bootstage”节点,并将每个bootstage id作为子节点。每个子级都有一个“name”属性,“mark”包含标记时间(以微秒为单位),或“accum”包含该引导阶段id的累积时间(以毫秒为单位)。例如:
Linux内核中的代码可以在/proc/devicetree中找到。
o Stash the boot timing information in memory before booting OS
在引导操作系统之前,将引导定时信息保存在内存中。
o (30) Number of boot stage records to store
要存储的引导阶段记录数。这是引导阶段记录列表的大小,是可以记录的最大引导阶段记录数。
o (5) Number of boot stage records to store for SPL
要为SPL存储的引导阶段记录数。
o (0) Address to stash boot timing information
存储启动时间信息的地址。
o (0x1000) Size of boot timing stash region
启动定时存储区域的大小
顶层路径
Boot media --->
一级路径
o Support for booting from NAND flash
支持从NAND闪存启动。启用此选项将使U-Boot二进制文件能够通过NAND闪存启动。这不是必须的,有些SoC需要,有些则不需要。
o Support for booting from ONENAND
支持从ONNAND启动。
o Support for booting from QSPI flash
支持从QSPI闪存启动。
o Support for booting from SATA
支持从SATA启动。
o Support for booting from SD/EMMC
支持从SD/EMC启动。
o Support for booting from SPI flash
支持从SPI闪存启动。
顶层路径
o (0) delay in seconds before automatically booting
自动运行bootcmd之前的延迟;
设置为0可无延迟自动启动,但您可以通过按键输入停止。
设置为-1以禁用自动启动。
设置为-2以自动启动,无延迟且不检查中止
如果该值大于等于0,则在启动bootmenu中的默认项之前,它还用于默认延迟。如果小于0,则使用默认值10s。
有关详细信息,请参阅doc/README.autoboot。
顶层路径
o Enable boot arguments
使能bootargs参数,该参数会传递至kernel命令行。为bootm命令提供启动参数。启动参数在CONFIG_BOOTARGS选项中指定。启用此选项可以指定ONFIG_BOOTARGS字符串。如果禁用此选项,CONFIG_BOOTARGS将未定义,并且不会占用U-Boot映像中的任何空间。即使该项不使能,通过在uboot中定义bootargs环境变量仍能达到目的。
o ()Boot arguments(该项在Enable boot arguments使能后配置)
这可用于向bootm命令传递参数。CONFIG_BOOTARGS的值进入环境值“BOOTARGS”。注意,该值还将覆盖FDT blob中的“选定”节点。
顶层路径
o Enable a default value for bootcm
使能一个默认的bootcmd,bootcmd指示启动OS的方法。通常该命令和bootargs相同,即使配置项不使能,在uboot环境变量中自定义一个bootcmd仍能达到目的。为环境中的bootcmd项提供默认值。如果启用了自动启动,这将自动运行。启用此选项可以将CONFIG_BOOTCOMMAND指定为字符串。如果禁用此选项,CONFIG_BOOTCOMMAND将未定义,并且不会占用U-Boot映像中的任何空间。
o (mtkautoboot) bootcmd value(该项在Enable a default value for bootcm使能后配置)
在使用默认bootcmd的时候,用户需要在此指定bootcmd的具体内容。这是将用作bootcmd的命令字符串,如果设置了UTOBOOT,将自动运行。
顶层路径
Console --->
一级路径
o Console recording
这提供了一种通过循环缓冲区记录控制台输出(并提供控制台输入)的方法。这对测试非常有用。即使控制台处于静默状态,也会记录控制台输出。要启用控制台录制,请从代码中调用console_record_reset_enable()。
当使能Console recording后,配置如下项:
o (0x400) Output buffer size
设置控制台输出缓冲区的大小。当填充完毕后,将不再记录数据,直到删除一些数据。缓冲区在malloc()区域就绪后立即分配。
o (0x100) Input buffer size
设置控制台输入缓冲区的大小。当它包含数据时,tstc()和getc()将优先于实际设备输入。缓冲区在malloc()区域就绪后立即分配。
o () Board specific string to be added to uboot version string
要添加到uboot版本字符串的板特定字符串。IDENT_STRING [=]。如果你对uboot源码熟悉,你将会知道,在/include/version.h文件中定义了如下宏,而我们在此处定义的字符串即为这个宏的末尾,在项目中,我们通常会使用该宏自定义版本信息。
o (4) loglevel
日志级别小于控制台日志级别的所有消息都将被编译。日志级别定义如下:
o Support a silent console
此选项允许控制台静默,这意味着控制台设备上不会出现任何输出。这是通过将环境变量“silent”设置为非空值来控制的。注意,这也会在启动Linux时使控制台静音。
设置控制台后,将检查变量,并设置GD_FLG_SILENT标志。稍后更改环境变量将更新标志。
当使能Support a silent console后,配置如下项:
o Only silence the U-Boot console
通常当U-Boot控制台静默时,Linux的控制台也会静默(假设主板引导到Linux)。该选项允许linux控制台正常运行,即使U-Boot被静默。
o Changes to the 'silent' environment variable update immediately
更改“静默”环境变量后,立即更新控制台静默标志。这允许使用“setenv”使控制台静默或取消静默。其效果是,对变量的任何更改都将影响GD_FLG_SILENT标志。
o Allow flags to take effect on relocation
在某些情况下,环境直到重新定位(例如NAND)才可用。此选项使“静默”环境变量的值在重新定位时生效。
o Buffer characters before the console is available
在控制台初始化(即串行UART初始化等)之前,所有控制台输出都会被默默丢弃。定义CONFIG_PRE_CONSOLE_BUFFER将导致U-Boot在控制台初始化到缓冲区之前缓冲任何控制台消息。缓冲区是一个循环缓冲区,因此如果它溢出,将丢弃先前的输出。请注意,SPL当前不支持此功能。能够与SPL共享控制台前缓冲区将非常有用。
当使能Buffer characters before the console is available后,配置如下项:
o (4096) Sets the size of the pre-console buffer
控制台前缓冲区的大小影响在控制台输出溢出并开始丢弃之前可以保存多少控制台输出。通常情况下,除非启用了调试,否则在这个早期阶段很少有输出,所以允许有大约10行的文本。如果您正在使用视频控制台并希望在控制台上看到完整的引导输出,这是一个有用的功能。如果没有此选项,将仅显示重新定位后的输出。
o () Address of the pre-console buffer
这将设置控制台前缓冲区的起始地址。这必须在可用内存中,并且在重新定位之前以及可能在设置DRAM之前进行访问。因此,请仔细选择地址。我们应该考虑删除此选项,改为在board_init_f_init_reserve()中分配内存。
o Enable console multiplexing
这允许多个设备用于每个控制台“文件”。例如,可以将stdout设置为转到串行和视频。类似地,可以将stdin设置为来自串行和键盘。可以从任一来源提供输入。控制台多路复用为U-Boot增加了少量大小。对环境变量stdout、stdin和stderr的更改将立即生效。
o Select console devices from the environment
这允许在启动时设置多个输入/输出设备。例如,如果stdout设置为“串行,视频”,则输出将在引导时发送到串行和视频设备。可以在启动后更新环境变量以更改输入/输出设备。
o Allow board control over console overwriting
如果启用此选项,并且板特定函数overwrite_console()返回1,则stdin、stderr和stdout将切换到串行端口,否则将使用环境中的设置。如果未启用,控制台将不会切换到串行。
o Update environment variables during console init
控制台环境变量(stdout、stdin、stderr)可用于在启动时确定正确的控制台设备。此选项在控制台启动时(重新定位后)将控制台设备写入这些变量。这将导致环境更新以匹配实际选择的控制台设备。
o Don't display the console devices on boot
通常,U-Boot在设置重新定位后控制台时,在启动时显示stdout、stdin和stderr的当前设置。启用此选项以抑制此输出。它可以通过从板代码调用stdio_print_current_devices()获得。
o Allow deregistering stdio devices
通常不需要注销stdio设备,因为它们从未停用。但如果使用了可以移除的stdio设备(例如USB键盘),则可以启用此选项以确保正确处理。
顶层路径
Logging --->
一级路径
o Enable logging support
这支持记录状态和调试消息。这些可以显示在控制台上,记录在内存缓冲区中,或者在不需要时丢弃。日志记录支持各种类别和严重级别
当使能Enable logging support后,配置如下项:
o (5) Maximum log level to record
这将选择要记录的最大日志级别。高于此值的任何值都将被忽略。如果可能,将在生成时丢弃低于此级别的日志语句。等级:
o Allow log output to the console
启用将日志记录写入控制台的日志驱动程序。通常,控制台是串行端口或LCD显示器。只显示日志消息-其他详细信息,如级别、类别、文件和行号被省略。
o Provide a test for logging
这将启用“日志测试”命令来测试日志记录。它通常从pytest中执行,并以各种不同的方式输出日志信息,以测试日志系统是否能够使用varoius设置正确工作。
o Log all functions which return an error
当U-Boot中返回错误时,有时很难找出根本原因。例如,由于SPI控制器中的问题或闪存部分未返回预期信息,从SPI闪存读取可能失败。此选项更改log_ret()以记录它看到的任何错误。禁用此选项后,log_ret()是nop。您可以将log_ret()添加到返回错误代码的所有函数。
o Enable logging support in SPL
这支持记录状态和调试消息。这些可以显示在控制台上,记录在内存缓冲区中,或者在不需要时丢弃。日志记录支持各种类别和严重级别。
当使能Enable logging support后,配置如下项:
o (3) Maximum log level to record in SPL
这将选择要记录的最大日志级别。高于此值的任何值都将被忽略。如果可能,将在生成时丢弃低于此级别的日志语句。
顶层路径
Enable raw initrd images
注意,定义SUPPORT_RAW_INITRD允许用户向内核提供原始INITRD映像。语法略有不同,initrd的地址必须按其大小进行扩充,格式如下:“<initrd address>:<initrd size>”。
顶层路径
() Default fdt file
此选项用于将默认fdt文件设置为引导操作系统。
顶层路径
Execute Misc Init
启用此选项将调用“misc_init_r”函数
顶层路径
add U-Boot environment variable vers
如果定义了此变量,U-Boot将创建一个名为“ver”的环境变量,显示“version”命令打印的U-Boot版本。对该变量的任何更改将在下次重置时还原。
顶层路径
Display information about the CPU during start up
启动期间显示有关CPU的信息。显示U-Boot启动时U-Boot正在运行的CPU的信息。为此调用函数print_cpuinfo()。
Display information about the board during early start up
在早期启动期间显示有关电路板的信息。显示U-Boot启动时U-Boot正在运行的板的信息。调用board函数checkboard()来执行此操作。
Display information about the board during late start up
在延迟启动期间显示有关电路板的信息
使能信息输出后在uboot启动时将多输出如下信息:
顶层路径
Start-up hooks --->
一级路径
o -*- Call arch-specific init soon after relocation
重新定位后立即调用特定于arch的init。使用此选项,U-Boot将在重新定位后立即调用arch_early_init_r()。此时驱动程序模型正在运行,缓存已打开。请注意,如果已启用,则首先调用board_early_init_r()。这可用于设置特定于体系结构的设备。
o Call arch-specific init after relocation, when console is ready
重新定位后,当控制台就绪时,调用特定于arch的init。使用此选项,U-Boot将在重新定位后调用arch_misc_init(),以允许执行其他相关的初始化。该功能应由板定义,并将在重新定位后设置控制台后调用。
o Call board-specific init before relocation
重新定位前调用板特定的初始化。一些板需要在启动后尽快执行初始化。使用此选项,U-Boot在重新定位前的init序列中驱动程序模型就绪后调用board_early_init_f()。请注意,尚未设置正常的串行控制台,但如果启用了调试UART,它将可用。
o Call board-specific init after relocation
重新定位后调用板特定的初始化。一些电路板需要在重新定位后直接执行初始化。使用此选项,U-Boot在重新定位后的init序列中调用board_early_init_r()。
o Call board-specific as last setup step
调用板特定于最后一个设置步骤。一些板需要在控制权传递给命令行解释器之前立即执行初始化(例如,取决于初始化序列的后期阶段的初始化)。使用此选项,U-Boot在启动命令行解释器之前调用last_stage_init()。
Empty
顶层路径
Update support --->
一级路径
o Auto-update using fitImage via TFTP
通过TFTP使用FIT镜像自动更新。此选项允许使用通过TFTP引导发送的fitImage中的数据执行NOR更新。
o (0) The number of connection retries during auto-update
自动更新期间的连接重试次数。
o (100) Delay in mSec to wait for the TFTP server during auto-update
自动更新期间等待TFTP服务器的延迟(毫秒)。
顶层路径
SPL / TPL --->
在分析配置项前,先看下SPL和TPL是什么?
TPL是比U-Boot更早阶段的Loader,TPL运行在SRAM中,其作用是代替ddr bin负责完成DRAM的初始化工作。TPL 相当于 ddr bin,SPL 相当于 miniloader。
一级路径
o -*- Enable SPL
如果您想构建SPL以及普通图像,请设置Y。
o Support SPL based upon the common SPL framework
基于通用SPL框架支持SPL。在common/SPL/下启用SPL框架。该框架支持MMC、NAND和YMODEM以及U-Boot和Linux内核的其他加载方法。如果不确定,请设置Y。
o (arch/$(ARCH)/cpu/u-boot-spl.lds) Linker script for the SPL stage
SPL阶段的链接器脚本:arch/$(ARCH)/cpu/u-boot-spl.lds。SPL阶段通常需要与常规U-Boot阶段不同的链接器脚本(因为它从不同的内存区域运行)。将此设置为要用于SPL的链接器脚本的路径。
o Call board-specific initialization in SPL
调用SPL中特定于板的初始化。如果启用此选项,U-Boot将从board_init_r()调用函数spl_board_init()。该功能应由board提供。
o Support returning to the BOOTROM
支持返回BOOTROM。一些平台(例如Rockchip RK3368)在其ROM中提供支持,以在从SPL阶段执行基本设置之后加载下一个引导阶段。启用此选项,通过BOOT_DEVICE_BOOTROM返回BOOTROM(如果未针对给定板实现,则返回引导设备列表中的下一个引导设备)
o Support SPL loading and booting of RAW images
支持SPL加载和启动RAW图像。当此选项为y时,SPL将支持加载和引导RAW映像。如果未设置此选项,SPL会转到其他可用的引导介质以找到合适的映像。
o Support SPL loading and booting of Legacy images
支持SPL加载和启动旧映像。当此选项为y时,SPL将支持加载和引导Legacy映像。如果未设置此选项,SPL会转到其他可用的引导介质以查找合适的映像。
o Only use malloc_simple functions in the SPL
仅在SPL中使用malloc_simple函数
o Only use malloc_simple functions in the TPL
仅在TPL中使用malloc_simple函数
o Enable SDRAM location for SPL stack
为SPL堆栈启用SDRAM位置
o BSS section is in a different memory region from text
BSS部分位于与文本不同的内存区域。一些平台在SPL中需要一个大的BSS区域,因为已经设置了RAM,所以可以提供这个区域。在这种情况下,BSS可以移动到RAM。然后应启用此选项,以便使用正确的设备树位置。通常,我们将设备树放在BSS的末尾,但启用此选项后,它将位于_image_binary_end。
o Disable output of the SPL banner 'U-Boot SPL ...'
禁用SPL横幅“U-Boot SPL”的输出。使能后如下打印会消失,略微减少几ms启动时间
o Display a board-specific message in SPL
在SPL中显示板特定消息。如果启用此选项,U-Boot将在显示spl控制台横幅(“U-Boot spl…”)后立即调用函数spl_display_print()。该功能应board目录提供。
o MMC raw mode: by sector
MMC原始模式:按扇区。在原始模式下,使用扇区号指定MMC/SD上的U-Boot位置。
o MMC Raw mode: by partition
MMC原始模式:按分区。在原始模式下使用MMC/SD时,使用分区加载U-Boot。
o Support CPU drivers
支持CPU驱动程序。启用此选项以支持SPL中的CPU驱动程序。这些驱动程序可以设置CPU并提供有关它们的信息,例如型号和名称。这在SPL中很有用,因为更早设置CPU可以提高引导性能。启用此选项以在drivers/cpu中构建驱动程序,作为SPL构建的一部分。
o Support crypto drivers
支持加密驱动程序。在SPL中启用加密驱动程序。这些驱动程序可用于加速安全应用程序中的安全引导处理。启用此选项以在驱动程序/加密中构建驱动程序,作为SPL构建的一部分。
o Support hashing drivers
支持哈希驱动程序。在SPL中启用哈希驱动程序。这些驱动程序可用于加速安全应用程序中的安全引导处理。启用此选项可作为SPL构建的一部分,为哈希加速构建系统特定的驱动程序。
o Support DMA drivers
支持DMA驱动程序。在SPL中启用DMA(直接内存访问)驱动程序。这些驱动器可用于处理存储器到外围设备的数据传输,而无需CPU移动数据。启用此选项以在drivers/dma中构建驱动程序,作为SPL构建的一部分。
o Support misc drivers
支持杂项驱动程序。在SPL中启用杂项驱动程序。这些驱动程序执行不同的任务,这些任务不属于其他类别。对于支持SPL构建的驱动程序(并非所有驱动程序都支持),启用此选项可在driver/misc中构建驱动程序,作为SPL构建中的一部分。
o Support an environment
支持环境。在SPL中启用环境支持。U-Boot环境提供了许多设置(基本上是名称/值对),可以控制U-Boot操作的许多方面。通常,SPL中不需要这样做,因为它的任务简单得多,配置更少。但有些板使用这一点来支持EXT2和FAT上的“Falcon”引导,SPL在不首先启动U-boot的情况下直接引导到Linux。启用此选项将使env_get()和env_set()在SPL中可用。
o Support EXT filesystems
支持EXT文件系统。使用SPL支持EXT2/3/4文件系统。这允许从SPL内的EXT文件系统加载U-Boot(或Falcon模式下的Linux)。必须单独启用对底层块设备(如MMC或USB)的支持。
o Support FAT filesystems
支持FAT文件系统。使用SPL支持FAT和VFAT文件系统。这允许从SPL内的FAT文件系统加载U-Boot(或Falcon模式下的Linux)。必须单独启用对底层块设备(如MMC或USB)的支持。
o Support FPGAs
支持FPGA。支持SPL中的FPGA。现场可编程门阵列提供软件可配置硬件,通常用于实现外围设备(如UART、LCD显示器、MMC)或加速定制处理功能,如图像处理或机器学习。有时,在引导过程中尽早对FPGA进行编程是很有用的,这个选项可以在SPL中实现这一点。
o Support GPIO
支持GPIO。在SPL中启用对GPIO(通用输入/输出)的支持。GPIO允许U-Boot读取输入线的状态(高或低)并设置输出线的状态。这可用于驱动LED、控制各个系统部件的电源以及读取用户输入。例如,GPIO在SPL中可用于启用“生命迹象”LED。启用此选项以在drivers/gpio中构建驱动程序,作为SPL构建的一部分
o Support I2C
支持I2C。启用SPL中I2C(集成电路间)总线的支持。I2C与时钟和数据线一起工作,可以由一个或多个主设备或从设备驱动。这是一种相当复杂的总线,但由于它只需要两条线路进行通信,因此被广泛使用。通常速度为400kbps,但某些硬件支持高达3.4Mbps。例如,I2C在SPL中用于在提高CPU时钟速度之前配置电源管理IC(PMIC)。启用此选项以在drivers/i2c中构建驱动程序,作为SPL构建的一部分。
o Support common libraries
支持公共库。在SPL中启用对通用U-Boot库的支持。例如,这些库包括处理U-Boot映像、环境和USB的通用代码。此选项在许多板上启用。启用此选项以在公共/作为SPL构建的一部分构建代码。
o Support disk partitions
支持磁盘分区。在SPL中启用对磁盘分区的支持。'“磁盘”有点用词不当,因为它包括非旋转介质,如闪存(如MMC和USB记忆棒中使用的)。分区提供了一种将磁盘分割成不同区域的方法,在开始或结束处放置分区表,该表描述每个“分区”的位置和大小。这些分区通常用作单独的块设备,通常每个分区中都有一个EXT2或FAT文件系统。此选项使U-Boot中启用的任何分区支持也可以在SPL中使用。它将代码放入磁盘/中。
o Support generic libraries
支持通用库。在SPL中启用对通用U-Boot库的支持。这些库包括处理设备树、哈希、printf()、压缩等的通用代码。此选项在许多板上启用。启用此选项以在lib/中构建代码,作为SPL构建的一部分。
o Support MMC
支持MMC。在SPL中启用对MMC(多媒体卡)的支持。这将启用MMC协议实现,并允许在SPL中使用任何已启用的驱动程序。根据应用程序(SPL_LIBDISK_support),MMC可以与磁盘分区支持一起使用,也可以不支持磁盘分区。启用此选项以在driver/mmc中构建驱动程序,作为SPL构建的一部分。
o Support MPC8XXX DDR init
支持MPC8XXX DDR初始化。在SPL中的MPC8XXX系列上启用对DDR-SDRAM(双倍数据速率同步动态随机存取存储器)的支持。这允许在将U-Boot加载到可以运行的DRAM之前设置DRAM。
o Support MTD drivers
支持MTD驱动程序。在SPL中启用对MTD(内存技术设备)的支持。MTD在原始NAND上提供了一个块接口,也可以与SPI闪存一起使用。这允许SPL从支持的MTD设备加载U-Boot。有关如何启用特定MTD驱动程序,请参见SPL_NAND_SUPPORT和SPL_ONENAND_SUPPORT。
o Support new Mentor Graphics USB
支持新的Mentor Graphics USB。支持SPL中的Mentor Graphics USB。这是一些板使用的新驱动程序。启用此选项以在drivers/usb/musb-new中构建驱动程序,作为SPL构建的一部分。旧驱动程序位于drivers/usb/musb中。
o Support NAND flash
支持NAND闪存。在SPL中启用对NAND闪存的支持。NAND闪存可用于允许SPL从受支持的设备加载U-Boot。这将使drivers/mtd/nand中的驱动程序成为SPL构建的一部分。
o Support networking
支持联网。在SPL中启用对网络设备(如以太网)的支持。这允许SPL通过网络链路而不是从板载外设加载U-Boot。由于网络堆栈使用许多环境变量,因此需要环境支持。另请参见SPL_ETH_SUPPORT。
o Drop CPU code in SPL
在SPL中删除CPU代码。这特定于ARM926EJ-S CPU。它禁用标准启动。S启动代码,大概是为了在该CPU上使用替换代码。除非你知道你在做什么,否则你不应该启用它。
o Support NOR flash
支持NOR闪存。支持从SPL中的内存映射NOR闪存加载U-Boot。NOR闪存写得慢,但读得快,内存映射设备使其非常容易访问。从NOR加载通常只需一个memcpy()即可实现。
o Support XIP
支持XIP。启用支持执行代替U-Boot或内核映像。如果闪存支持就地执行,则无需将映像从闪存复制到ram。它在具有足够的闪存但没有足够的ram来加载图像的系统中非常有用。
o Support OneNAND flash
支持OneNAND闪存。在SPL中启用对OneNAND闪存的支持。OneNAND是一种NAND闪存,因此可用于允许SPL从受支持的设备加载U-Boot。这将启用driver/mtd/onenand中的驱动程序,作为SPL构建的一部分。
o Activate Falcon Mode
激活Falcon 模式。允许从SPL直接引导到操作系统。有关更多信息,请阅读doc/README.falcon
o (u-boot-lzma.img) SPL payload
SPL引导的有效负载。对于向后兼容,默认为u-boot。即没有任何标题的RAW图像。对于TPL,TPL/u-boot-with-TPL.bin。对于新板,建议使用u-boot.img
o Support PCI drivers
支持PCI驱动程序。在SPL中启用PCI支持。对于需要PCI引导或必须在SPL中使用PCI执行某些初始化的平台,这提供了必要的驱动程序支持。这使drivers/pci中的驱动程序成为SPL构建的一部分。
o Support PCH drivers
支持PCH驱动程序。在SPL中启用对PCH(平台控制器集线器)设备的支持。这些用于在启动早期设置GPIO和SPI外围设备。这将使drivers/pch中的驱动程序成为SPL构建的一部分。
o Support POST drivers
支持POST驱动程序。在SPL中启用POST(开机自检)支持。POST是一个检查硬件(CPU或板)是否正常工作的过程。这是可以在引导之前执行的健全性检查。这将启用post/drivers中的驱动程序作为SPL构建的一部分。
o Support reset drivers
支持重置驱动程序。启用SPL中的重置控制支持。通过使用驱动程序模型提供的通用重置API,这在SPL中处理驱动程序中的IP重置(如U-Boot中)非常有用。这将使drivers/reset中的驱动程序成为SPL构建的一部分。
o Support power drivers
支持电源驱动器。启用SPL中的电源控制支持。这包括对PMIC(电源管理集成电路)的支持以及PMIC提供的一些功能。特别地,电压调节器可用于启用/禁用电源并改变其电压。在SPL中,打开启动外设并调整CPU电压以提高时钟速度非常有用。这将使drivers/power、drivers/power/pmic和drivers/power/regulator中的驱动程序成为SPL构建的一部分。
o Support power domain drivers
支持电源域驱动程序。在SPL中启用对电源域控制的支持。许多SoC允许向SoC(功率域)的部分施加功率或从SoC的部分移除功率。这可用于节省电力。该API提供了控制这种电源管理硬件的方法。这将使drivers/power/domain中的驱动程序成为SPL构建的一部分。
o Support booting from RAM
支持从RAM启动。启动RAM中的映像。图像可以预先加载,也可以通过SPL直接加载到RAM中(例如使用USB)。
o Support RTC drivers
支持RTC驱动程序。在SPL中启用RTC(实时时钟)支持。这包括支持读取和设置时间。一些RTC设备还具有一些非易失性(电池支持)存储器,如果需要,可以访问这些存储器。这将使drivers/rtc中的驱动程序成为SPL构建的一部分。
o Support loading from SATA
支持从SATA加载。在SPL中启用SATA(串行AT附件)支持。这允许使用SATA设备(如硬盘驱动器和闪存驱动器)加载U-Boot。SATA用于高端嵌入式系统,可以提供比MMC更高的性能,但成本和功耗略高。这允许使用配置的设备从SATA加载。
o Support serial
支持串口。启用SPL中串行的支持。这允许在SPL运行时使用串行UART显示消息。它还引入了printf()和panic()函数。除非有空间原因,否则通常应启用此选项。即使如此,请考虑启用USE_TINY_PRINTF,它是一个小型PRINTF()版本。
o Support SPI flash drivers
支持SPI闪存驱动程序。支持在SPL中使用SPI闪存,并从SPI闪存加载U-Boot。SPI闪存(串行外围总线闪存)以用于将其连接到系统的SPI总线命名。它是一种简单但快速的双向4线总线(时钟、芯片选择和两条数据线)。这将使drivers/mtd/spi中的驱动程序成为SPL构建的一部分。这通常需要SPL_SPI_SUPPORT。
o Support SPI drivers
支持在SPL中使用SPI。这用于连接到SPI闪存以加载U-Boot。有关详细信息,请参见SPL_SPI_FLASH_SUPPORT。SPI驱动程序提供SPI闪存和CPU之间的数据传输。此选项可用于启用其他用途(如SPI PMIC)所需的SPI驱动程序。
o Driver support for thermal devices
温度传感器的驱动器支持。启用对温度传感设备的支持。一些SoC具有片上温度传感器,允许在温度过高或过低时发出警告、速度节流甚至自动断电。其他设备可以是分立的,但连接在合适的总线上。
o Support USB host drivers
支持USB主机驱动程序。启用对USB(通用串行总线)主机设备的访问,以便SPL可以从连接的USB外围设备(如USB闪存棒)加载U-Boot。虽然USB启动时间比大多数总线稍长,但它非常灵活,因为可以连接多种不同类型的存储设备。此选项启用drivers/usb/host中的驱动程序,作为SPL构建的一部分。
o Suppport USB Gadget drivers
支持USB小工具驱动程序。启用USB小工具API,该API允许在SPL中启用USB设备功能。
o Support watchdog drivers
支持看门狗驱动程序。在SPL中启用对看门狗驱动程序的支持。看门狗通常是一个硬件外围设备,当它检测到一段时间没有活动(例如软件崩溃)时,它可以重置系统。这将使驱动程序/监视器中的驱动程序成为SPL构建的一部分。
o Support loading using Ymodem
支持使用Ymodem加载。虽然从串行加载很慢,但当没有其他选项时,它可能是一个有用的备份。Ymodem协议提供了一种通过串行线传输U-Boot以用于SPL的可靠方法,并带有校验和以确保正确性。
o Enable the RTC32K OSC on AM33xx based platforms
启用对AM33xx RTC的访问,并选择外部32kHz时钟源。
o Enable TPL
使能TPL。如果您想构建TPL以及普通镜像和SPL,请设置y。
o Call board-specific initialization in TPL
TPL中特定于板的初始化调用。如果启用此选项,U-Boot将从board_init_r()调用函数spl_board_init()。该功能应由board会提供。
o Linker script for the TPL stage
TPL阶段的链接器脚本。TPL阶段通常需要与常规U-Boot阶段不同的链接器脚本(因为它从不同的内存区域运行)。将此设置为要用于TPL的链接器脚本的路径。可以保留为空,以触发Makefile基础结构回退到SPL阶段使用的链接器脚本。
o TPL needs a separate text-base
TPL需要单独的文本库。如果TPL阶段不应从SPL阶段继承其文本基础,则启用。启用后,必须在下面设置TPL阶段的.text部分的基址。
oTPL needs a separate initial stack-pointer
TPL需要单独的初始堆栈指针。如果TPL阶段不应从SPL阶段的设置继承其初始堆栈指针,则启用。
o (0xbfc00000) Base address for the .text section of the TPL stage
TPL阶段的.text部分的基地址。
o (65536) Maximum size (in bytes) for the TPL stage
TPL阶段的最大大小(字节)。
o Support returning to the BOOTROM (from TPL)
支持返回BOOTROM
o Support misc drivers in TPL
支持TPL中的其他驱动程序
o Support an environment
支持环境
o Support I2C
支持I2C
o Support common libraries
支持公共库
o Support generic libraries
支持通用库
o Support MPC8XXX DDR init
支持MPC8XXX DDR初始化
o Support MMC
支持MMC
o Support NAND flash
支持NAND闪存
o Support booting from RAM
支持从RAM启动
o Support serial
支持串口
o Support SPI flash drivers
支持SPI闪存驱动程序
o Support SPI drivers
支持SPI驱动程序
顶层路径
Command line interface --->
一级路径
o Support U-Boot commands
支持U-Boot命令。启用U-Boot的命令行功能。这提供了一种将命令输入U-Boot的方法,用于多种目的。它还允许执行脚本(包含命令)。可以单独启用各种命令和命令类别。根据启用的命令数量,这会大大增加U-Boot的大小。
o Use hush shell
使用hush shell。此选项启用“hush”shell(来自Busybox)作为命令行解释器,从而启用强大的命令行语法,如if…then…else…fi条件或“&&”和“||”构造(“shell脚本”)。如果禁用,您将获得旧的、简单得多的行为,但内存占用空间较小。
o Enable command line editing
启用命令行编辑。为交互式命令行输入操作启用编辑和历史记录功能
o Enable auto complete using TAB
使用TAB键启用自动补全
o Enable long help messages
启用长帮助消息。在需要包含长帮助消息时定义,内存不足时不要设置此选项。
o (=> ) Shell prompt
此字符串显示在光标左侧的命令行中。
o Autoboot options --->
二级路径
o Autoboot
这将启用自动引导。有关详细信息,请参阅doc/README.autoboot。
o Stop autobooting via specific input key / string
通过特定输入键/string停止自动启动。此选项仅通过发出特定的输入键或字符串来停止(中止)自动启动功能。如果未启用,任何输入键都将中止U-Boot自动引导过程,并将设备带到U-Boot提示符以供用户输入。
o (Autoboot in %d seconds\n) Autoboot stop prompt
自动引导停止提示。此字符串在CONFIG_BOOTDELAY选择的引导延迟开始之前显示。如果未定义,则没有输出指示正在进行自动引导。请注意,此定义用作printf()调用的(唯一)参数,因此它可能包含“%”格式规范,前提是它还包含所需的参数(用逗号分隔,与printf语句完全相同)。用户有责任仅选择在给定上下文中有效的参数。
o Enable encryption in autoboot stopping
在自动启动停止时启用加密
o Delay autobooting via specific input key / string
通过特定输入键/string延迟自动启动。(此处输入字符)
o Stop autobooting via specific input key / string
通过特定输入键/string停止自动启动。(此处输入字符)
o Enable Ctrl-C autoboot interruption
启用Ctrl-C自动启动中断
o Info commands --->
二级路径
o bdinfo
打印板信息
o config
打印“.config”内容。如果启用此选项,“.config”文件内容将嵌入U-Boot映像中,并可通过“config”命令在控制台上打印。这提供了在正在运行的U-Boot上启用哪些选项的信息。
o coninfo
打印控制台设备和信息。
o cpu
打印有关可用CPU的信息。这通常显示CPU的数量、类型(例如制造商、架构、产品或内部名称)和时钟频率。根据CPU驱动程序,其他信息可能可用。
o license
打印GPL许可文本
o Boot commands --->
二级路径
o bootd
运行存储在环境“bootcmd”中的命令,即“bootd”执行与“Run bootcmd“相同的操作。
o bootm
从内存启动应用程序映像。
o bootz
引导Linux zImage
o bootmenu
添加ANSI终端引导菜单命令。
o dtimg
Android DTB/DTBO图像操作命令。将dtb/dtbo文件从映像中读取到RAM中,转储映像结构信息等。这些dtb/dtbo文件应进一步合并到一个dtb中,作为引导过程的一部分,需要传递到内核。
o bootelf, bootvx
从内存启动ELF/vxWorks映像。
o Flattened Device Tree utility commands
在引导到操作系统之前,执行FDT相关设置。
o go
在给定地址启动应用程序。
o run
在给定的环境变量中运行该命令。
o iminfo
打印应用程序镜像的标题信息。
o imls
列出闪存中找到的所有图像
o imxtract
提取多重镜像的一部分。
o poweroff
关闭系统
o spl export - Export boot information for Falcon boot
spl export-导出Falcon引导的引导信息。Falcon模式允许直接从SPL引导到Linux等操作系统,从而跳过U-Boot。参见doc/README。有关如何使用此命令的完整信息。
o fitImage update command
fitImage更新命令。实现“fitupd”命令,该命令允许在NOR Flash中自动存储TFTP服务器上的软件更新
o thor - TIZEN 'thor' download
thor zeTIZEN“thor”下载。实现“thor”下载协议。这是一种通过USB从连接的主机下载软件更新的方法。U-Boot源代码中没有关于这一点的文档,但您应该能够在网络间找到一些东西。
o zboot - x86 boot command
zboot-x86引导命令。对于x86机器,通常启动包含内核和设置的bzImage文件。bin文件。后者包含了来dark ages的配置信息,x86板仍然需要从中选择。考虑优先使用FIT,因为它支持直接引导32位和64位内核以及安全引导。文档可在doc/uImage.FIT/x86-FIT-bot.txt中找到
o Environment commands --->
二级路径
o ask for env variable
询问env变量。
o env export
导出环境。
o env import
导入环境。
o editenv
编辑环境变量。
o search env
允许搜索环境变量
o saveenv
将所有环境变量保存到已编译的持久存储中。
o env exists
检查是否在环境中定义了用于shell脚本的变量。
o env callbacks - print callbacks and their associated variables
env回调-打印回调及其相关变量。某些环境变量已定义回调通过U_BOOT_ENV_CALLBACK。当变量发生变化时,将调用这些函数。例如,更改“波特率”调整串行波特率。此命令列出当前定义的回调。
o env flags -print variables that have non-default flags
env flags-打印具有非默认标志的变量。一些环境变量具有控制其行为的特殊标志。例如,序列号只能写入一次,不能删除。此命令显示具有特殊标志的变量。
o Memory commands --->
二级路径
o binop
从内存中计算任意大小字节数组的二进制运算(xor、or、and),并将结果存储在内存或环境中。
o crc32
计算CRC32。
o crc32 -v
添加-v选项以根据crc32校验和验证数据。
o eeprom - EEPROM subsystem
(已弃用,需要转换为驱动程序型号)提供读取和写入通过I2C总线连接的EEPROM(电可擦除可编程只读存储器)芯片的命令。
o loopw
地址范围上的无限写入循环。
o md5sum
计算MD5校验和。
o meminfo
显示内存信息。
o md, mm, nm, mw, cp, cmp, base, loop
md-内存显示
mm—内存修改(地址自动递增)
nm-内存修改(恒定地址)
mw-内存写入(填充)
cp-内存拷贝
cmp-内存比较
base-打印或设置地址偏移
loop-初始化地址范围上的循环o memtest
简单的RAM读/写测试。
o mdc, mwc
mdc-内存显示循环
mwc-内存写入循环o sha1sum
计算SHA1校验和。
o strings - display strings in memory
这与Unix“字符串”命令的工作原理类似,只是它使用内存范围。将显示范围内找到的可打印字符字符串。可以提供将序列视为字符串的最小字符数。
o Compression commands --->
二级路径
o lzmadec
支持从内存中解压缩LZMA(Lempel-Ziv-Markov链算法)图像。
o unzip
解压缩zip压缩的内存区域。
o zip
使用zlib deflate方法压缩内存区域。
o Device access commands --->
二级路径
o armflash
ARM Ltd参考设计闪存分区访问
o adc - Access Analog to Digital Converters info and data
访问模数转换器信息和数据。显示ADC设备信息,并允许从指定的模数转换器打印一次模拟转换数据。
o bind/unbind - Bind or unbind a device to/from a driver
将设备绑定到驱动程序或从驱动程序解除绑定。
o clk - Show clock frequencies
显示时钟频率
o demo - Demonstration commands for driver model
提供一个“demo”命令,该命令可用于与驱动程序模型一起玩。要正确使用此功能,您需要启用一个或两个演示设备(DM_demo_SHAPE和DM_demo_StIMPLE)。
否则,您将始终得到一个空的设备列表。演示设备在沙盒设备树中定义,因此最简单的选择是使用沙盒并将-d点传递给沙盒的u-boot。dtb文件。o dfu
启用命令“dfu”,该命令用于使U-Boot通过USB创建dfu类设备。该命令要求设置“dfu_alt_info”环境变量,并定义要向主机公开的alt设置。
o dm - Access to driver model information
访问驱动模块信息。提供对驱动程序模型数据结构和信息的访问,例如设备列表、uclasse列表和每个设备的状态(例如已激活)。这不是操作所必需的,但可以用于查看驱动程序模型的状态以进行调试或感兴趣。
o fdcboot - Boot from floppy device
从软盘设备启动。
o flinfo, erase, protect
NOR闪存支持:
flinfo-打印闪存信息
erase-擦除闪存
protect-启用或禁用FLASH写入保护o fpgad - dump FPGA registers
转储FPGA寄存器
o fuse - support for the fuse subssystem
保险丝子系统的支持
o gpio
GPIO 支持
o GPT (GUID Partition Table) command
(GUID分区表)命令
o GPT Random UUID generation
GPT随机UUID生成
o ide - Support for IDE drivers
支持IDE驱动程序
o io - Support for performing I/O accesses
支持执行I/O访问
o iotrace - Support for tracing I/O activity
支持跟踪I/O活动
o i2c
I2C 支持
o loadb
通过串行线加载二进制文件。
o loads
通过串行线加载S-Record文件
o mmc
MMC内存映射支持。
o Enable support for RPMB in the mmc command
启用读取、写入和编程eMMC中Replay Protection Memory Block分区密钥的命令。
o mmc swrite
启用对“mmc-swrite”命令的支持,以将Android Image写入eMMC。
o nand
nand 支持
o mmc_spi - Set up MMC SPI device
提供设置MMC(多媒体卡)SPI(串行外围接口)设备的方法。该设备提供了一种通过SPI使用单个数据线访问MMC设备的方法,限制为20MHz。它非常有用,因为它减少了所需的协议代码量。
o onenand - access to onenand device
访问onenand设备
o part
读取并显示各种介质上的分区表信息。
o pci - Access PCI devices
提供对PCI(外围互连总线)的访问,PCI是某些设备上使用的一种总线,允许CPU与其外围设备通信。子命令允许总线枚举、显示和更改配置空间以及一些其他功能。
o pinit - Set up PCMCIA device
设置PCMCIA(个人计算机存储器)设备
o read - Read binary data from a partition
从分区读取二进制数据
o sata - Access SATA subsystem
访问SATA子系统
o saves - Save a file over serial in S-Record format
以S-Record格式串行保存文件
o scsi - Access to SCSI devices
访问SCSI设备
o sdram - Print SDRAM configuration information
打印SDRAM配置信息
o sf
SPI flash 支持
o sf test - Allow testing of SPI flash
允许测试SPI闪存
o sspi
SPI实用程序命令。
o tsi148 - Command to access tsi148 device
访问tsi148设备的命令
o universe - Command to set up the Turndra Universe controller
设置Turndra Universe控制器的命令
o usb
USB支持
o sdp
启用命令“sdp”,该命令用于使U-Boot通过USB模拟串行下载协议(sdp)。
o UMS usb mass storage
UMS USB大容量存储支持
o Shell scripting commands --->
二级路径
o echo
回显参数到控制台
o itest
整数比较时返回true/false。
o source
从内存运行脚本
o setexpr
计算布尔表达式和数学表达式,并将结果存储在env变量中。还支持将内存位置的值加载到变量中。如果启用CONFIG_REGEX,setexpr也支持gsub函数。
o Network commands --->
二级路径
o bootp
bootp-使用bootp/TFTP协议通过网络引导映像
o dhcp
使用DHCP/TFTP协议通过网络启动映像
o Request & store 'rootpath' from BOOTP/DHCP server
从BOOTP/DHCP服务器请求并存储“rootpath”。尽管配置名为BOOTP_BOOTPATH,但它将路径存储在变量“rootpath”中。
o Request & store 'dnsip' from BOOTP/DHCP server
从BOOTP/DHCP服务器请求并存储“dnsip”
o Store 'dnsip2' from BOOTP/DHCP server
从BOOTP/DHCP服务器存储“dnsip2”
o Request & store 'gatewayip' from BOOTP/DHCP server
从BOOTP/DHCP服务器请求并存储“gatewayip”
o Request & store 'hostname' from BOOTP/DHCP server
从BOOTP/DHCP服务器请求并存储“hostname”
o serverip variable takes precedent over DHCP server IP.
serverip变量优先于DHCP服务器IP。
o Request & store 'netmask' from BOOTP/DHCP server
从BOOTP/DHCP服务器请求并存储“netmask”
o Request & store 'ntpserverip' from BOOTP/DHCP server
从BOOTP/DHCP服务器请求并存储“ntpserverrip”
o Send PXE client arch to BOOTP/DHCP server
将PXE客户端arch发送到BOOTP/DHCP服务器
o tftpboot
tftpboot-使用TFTP协议通过网络引导映像
o tftp put
TFTP put命令,用于将文件上载到服务器
o tftpsrv
充当TFTP服务器并引导第一个接收到的文件
o Control TFTP timeout and count through environment
如果设置,则允许通过环境变量tftptimeout控制TFTP超时,并通过变量tftptimeoutcountmax控制TFTP最大超时计数。如果未设置,则超时和最大值硬定义为每个TFTP传输1秒和10次超时。
o rarpboot
使用RARP/TFTP协议通过网络启动映像
o nfs
使用NFS协议通过网络启动映像。
o mii
启用MII实用程序命令。
o ping
向网络主机发送ICMP ECHO_REQUEST
o cdp
执行CDP网络配置
o sntp
通过网络同步RTC
o dns
查找主机名的IP
o linklocal
使用链路本地协议获取网络IP地址
o ethsw
允许控制二级以太网交换机命令。目前vsc9953以太网驱动程序支持这些。子命令允许启用/禁用端口以及查看/维护过滤数据库(FDB)等操作
o pxe
使用PXE协议通过网络启动映像
o wol
等待lan Magic Packet唤醒
o Misc commands --->
二级路径
o Enable board-specific commands
启用板特定命令。(已弃用:请为每个命令定义一个Kconfig选项)某些电路板具有特定于电路板的命令,这些命令仅在开发期间启用,需要在生产时关闭。此选项提供了一种控制这一点的方法。启用的命令因电路板而异。
o mmc bkops enable
mmc bkops启用。启用在eMMC设备上设置手动后台操作握手的命令。该功能在符合标准>=4.41的eMMC设备上可选。
o blkcache - control and stats for block cache
块缓存的控制和统计信息。启用blkcache命令,该命令可用于控制缓存函数的操作。这在开发期间微调缓存的操作时非常有用,但也允许在缓存可能影响性能时禁用缓存(例如,使用ums命令时)。
o icache or dcache
icache或dcache。启用“icache”和“dcache”命令
o Enable the 'display' command, for character displays
为字符显示启用“display”命令。
o led
启用允许控制板支持的led的“led”命令。led可以用“led列表”列出,并通过led打开/关闭/切换/闪烁进行控制。任何LED驱动器都可以使用此命令进行控制,例如LED_gpio。
o date
启用“date”命令以获取/设置RTC设备中的时间/日期。
o time
运行命令并总结执行时间。
o gettime - read elapsed time
启用“gettime”命令,该命令读取自U-Boot开始运行以来经过的时间。这以秒和毫秒为单位显示时间。另请参阅“bootstage”命令,该命令为引导计时提供了更多的灵活性。
o sleep
延迟执行一段时间
o support for multiprocessor
支持多处理器。这提供了在多处理器情况下使用不同处理器的选项。
o timer
访问系统计时器。
o qfw
这提供了对QEMU固件接口的访问。主要功能是允许轻松加载通过-kernel/-initrd传递到qemu系统的文件
o terminal - provides a way to attach a serial terminal
终端-提供连接串行终端的方法。提供类似“cu”的串行终端命令。这可用于从系统控制台访问其他串行端口。终端非常简单,没有特殊的字符处理。与cu一样,您可以按~。(波浪号后跟句点)退出。
o uuid, guid - generation of unique IDs
这将启用两个命令:uuid-生成随机通用唯一标识符,guid-基于随机uuid生成全局唯一标识符这两个命令非常相似,只是输出的尾数不同。
o TI specific command line interface --->
TI特定命令行接口
o Power commands ----
电源命令
o Security commands --->
二级路径
o Enable the 'aes' command
启用“aes”命令。这提供了使用AES(高级加密标准)加密和解密数据的方法。该算法使用对称密钥,广泛用作流密码。算法支持不同的密钥长度,但该命令目前仅支持128位。
o Enable the 'blob' command
启用“blob”命令。这与Freescale安全引导机制一起使用。Freescale的SEC块具有内置的Blob协议,该协议提供了一种跨系统电源周期保护用户定义数据的方法。SEC块保护称为Blob的数据结构中的数据,该结构提供机密性和完整性保护。将数据封装为blob,每次使用Blob协议来保护数据时,都会使用不同的随机生成密钥来加密数据。该随机密钥本身使用从SoC的非易失性密钥和16位密钥标识符导出的密钥进行加密。生成的加密密钥与加密数据一起称为blob。非易失性安全密钥仅在安全引导期间可用。在解封装期间,执行反向过程以取回原始数据。
o Support 'hash' command
支持“hash”命令。这提供了一种使用各种支持的算法(如SHA1、MD5、CRC32)对内存中的数据进行哈希的方法。计算的摘要可以保存到内存或环境变量中。还可以根据内存中的数据验证哈希。
o Firmware commands ----
固件命令
o Filesystem commands --->
二级路径
o Enable the 'btrsubvol' command
启用“btrsubvol”命令。这使“btrsubvol”命令能够列出BTRFS文件系统的子卷。没有用于列出BTRFS目录或加载BTRFS文件的特殊命令-当启用BTRFS(请参阅fs_BTRFS)时,可以通过通用“fs”命令(请参阅CMD_fs_generic)来完成此操作。
o ext2 command support
启用EXT2 FS命令
o ext4 command support
启用EXT4 FS命令
o ext4 write command support
启用EXT4 FS写入命令
o FAT command support
FAT命令支持
o filesystem commands
启用适用于多个fs类型的文件系统命令(例如load、ls)。
o fsuuid command
为文件系统UUID启用fsuuid命令。
o jffs2 command
启用支持JFFS2(日志闪存文件系统版本2)文件系统的命令。这使fsload、ls和fsinfo能够加载文件、列出目录和获取文件系统信息。
o MTD partition support
MTD分区支持
o Default MTD IDs
以Linux MTD命令行分区格式定义用于MTD分区的默认MTD ID列表。
o Default MTD partition scheme
以Linux MTD命令行分区格式定义默认MTD分区方案
o Padd partition size to take account of bad blocks
填充分区大小以考虑坏块。
o reiser - Access to reiserfs filesystems
这提供了两个在resiers文件系统上运行的命令,这是几年前常用的命令:
reiserls列出文件
reiserload-加载文件o zfs - Access of ZFS filesystem
这提供了访问ZFS文件系统的命令,通常在Solaris系统上使用。提供了两个子命令:
zfsls-list目录中的文件
zfsload-加载文件o Debug commands --->
二级路径
o bedbug
bedbug(emBEDdeddeBUGger)命令为一些PowerPC处理器提供调试功能。有关详细信息,请参阅doc/README.bedbug中的文档
diag - Board diagnostics
此命令提供对板诊断测试的访问。这些称为开机自检(POST)。该命令允许列出可用的测试,并运行所有测试或按名称标识的特定测试。
kgdb - Allow debugging of U-Boot with gdb
这将启用一个“kgdb”命令,允许gdb通过串行链路连接到U-Boot以进行调试。这允许单步执行、检查变量等。目前仅在PowerPC上支持。
log - Generation, control and access to logging
这提供了对日志记录功能的访问。它允许在有限的范围内控制日志数据的输出(设置用于发送记录的默认最大日志级别)。它还提供对用于测试日志系统的命令的访问。
trace - Support tracing of function calls and timing
启用命令以控制U-Boot内功能跟踪的使用。这允许记录包括定时信息的呼叫跟踪。该命令可以将数据写入内存以导出analysys(例如使用bootchart)。参见doc/README。跟踪以获取详细信息。
o Enable UBI - Unsorted block images commands
启用UBI-未排序块镜像命令。UBI是MTD层之上的一个软件层,它允许在MTD设备上使用类似LVM的逻辑卷,隐藏闪存芯片的一些复杂性,如磨损和坏块,并提供一些其他有用的功能。有关更多详细信息,请访问MTD网站(www.linux-MTD.infradead.org)。如果要使用U-Boot UBI命令,请激活此选项。
o Support MTK BLE ADVERTISING function
支持MTK BLE广告功能。此选项启用MT7915 BLE广告功能。
顶层路径
Partition Types --->
一级路径
o Enable Partition Labels (disklabels) suppor
启用分区标签(disklabels)支持
o Enable Apple's MacOS partition table
启用Apple的MacOS分区表
o Enable Apple's MacOS partition table for SPL
为SPL启用Apple的MacOS分区表
o Enable MS Dos partition table
启用MS Dos分区表
o Enable MS Dos partition table for SPL
为SPL启用MS Dos分区表
o Enable ISO partition table
启用ISO分区表
o Enable ISO partition table for SPL
为SPL启用ISO分区表
o Enable AMIGA partition table
启用AMIG分区表
o Enable AMIGA partition table for SPL
为SPL启用AMIGA分区表
o Enable EFI GPT partition table
启用EFI GPT分区表
o Number of the EFI partition entries
EFI分区条目数
o Offset (in bytes) of the EFI partition entries
EFI分区项的偏移量(字节)
o Enable EFI GPT partition table for SPL
为SPL启用EFI GPT分区表
o Enable support of UUID for partition
启用分区UUID支持
o Enable support of UUID for partition in SPL
为SPL中的分区启用UUID支持
o Enable support of GUID for partition type
启用分区类型的GUID支持
顶层路径
Device Tree Control --->
(dtc) Path to dtc binary for use within mkimage
mkimage中使用的dtc二进制文件的路径。为了生成FIT图像,mkimage主机工具将调用dtc应用程序以创建输出。在某些情况下,系统dtc可能不支持所有必需的功能,此处应给出不同版本的路径。
一级路径
o Run-time configuration via Device Tree
通过设备树进行运行时配置
o Board-specific manipulation of Device Tree
设备树的板特定操作。在某些情况下,必须能够修改U-Boot的设备树(例如从中删除设备)。此选项使设备树可写,并提供板特定的“board_fix_fdt”回调(在重新定位前调用),使板初始化能够修改设备树。重新定位后,U-Boot将使用修改后的副本。
o Enable run-time configuration via Device Tree in SPL
通过SPL中的设备树启用运行时配置
o Enable run-time configuration via Device Tree in TPL
通过TPL中的设备树启用运行时配置
o Enable use of a live tree
启用活动树的使用。通常U-Boot使用平面设备树,这样可以节省空间,避免在使用前打开设备树。但是,平面树不支持U-Boot内的修改,因为它会使驱动程序模型设备树偏移无效。此选项启用重新定位后可用的活动树,并可根据需要进行调整。
o Provider of DTB for DT control (Embedded DTB for DT control) --->
二级路径
o Separate DTB for DT control
用于DT控制的单独DTB
o Embedded DTB for DT control
用于DT控制的嵌入式DTB
o Provided by the board at runtime
运行时由board提供
o Prior stage bootloader DTB for DT control
用于DT控制的前级引导加载器DTB
o (mt7621_nor_rfb) Default Device Tree for DT control
DT控制的默认设备树
o Support embedding several DTBs in a FIT image for u-boot
支持在FIT映像中嵌入多个DTB以用于u-boot
顶层路径
Environment --->
一级路径
o Environment in EEPROM
环境变量在EEPROM中
o Environment is in a FAT filesystem
环境变量位于FAT文件系统中
o Environment is in a EXT4 filesystem
环境变量位于EXT4文件系统中
o Environment in flash memory
环境变量位于flash 内存中
o Environment in an MMC device
环境变量在MMC中
o Environment in a NAND device
环境变量在NAND中
o Environment in a non-volatile RAM
环境变量在非易失性RAM中
o Environment is in OneNAND
环境变量在OneNAND中
o Environment is in remote memory space
环境变量在远程存储空间
o Environment is in SPI flash
环境变量在SPI Flash中
o Environment in a UBI volume
环境变量在UBI卷中
o (0x80000) Environment Offset
环境变量偏移
o (0x40000) Environment Size
环境变量大小
o (0x10000) Environment Sector-Size
环境变量块大小
o Create default environment from file
从文件创建默认环境
o Add run-time information to the environment
向环境中添加运行时信息
顶层路径
Networking support --->
一级路径
o Networking support
网络支持
o Random ethaddr if unset
如果未设置,则随机添加。选择此选项将允许以太网接口运行,即使该接口的ethddr变量未设置。每次启动时都会生成一个新的MAC地址,不会将其添加到环境中。
o NetConsole support
NetConsole支持。支持网络控制台的“nc”输入/输出设备。请参阅自述文件。有关详细信息,请参阅NetConsole。
顶层路径
Device Drivers --->
一级路径
o Generic Driver Options --->
二级路径
o Enable Driver Model
此配置选项启用驱动程序模型。这带来了核心支持,包括在启动时扫描平台数据。如果启用CONFIG_OF_CONTROL,设备树也将在可用时进行扫描。
o Enable Driver Model for SPL
在SPL中启用驱动程序模型。您需要提供一个合适的malloc()实现。如果您没有使用CONFIG_SYS_SPL_malloc_START启用的完整malloc(),请考虑使用CONFIG.SYS_malloc_SSIMPLE。在这种情况下,必须提供CONFIG_SPL_SYS_MALLOC_F_LEN来设置大小。在大多数情况下,驱动程序模型只会在SPL中分配几个uclass和设备,所以应该启用1KB。有关如何启用它的详细信息,请参阅CONFIG_SPL_SYS_MALLOC_F_LEN。
o Enable Driver Model for TPL
在TPL中启用驱动程序模型。您需要提供一个合适的malloc()实现。如果您没有使用CONFIG_SYS_SPL_malloc_START启用的完整malloc(),请考虑使用CONFIG.SYS_malloc_SSIMPLE。在这种情况下,必须提供CONFIG_SPL_SYS_MALLOC_F_LEN来设置大小。在大多数情况下,驱动程序模型只会在SPL中分配几个uclass和设备,所以1KB就足够了。有关如何启用它的详细信息,请参阅CONFIG_SPL_SYS_MALLOC_F_LEN。对于非常小的实现禁用此功能。
o Enable warnings in driver model
dm_warn()函数可以为其字符串占用相当多的空间。默认情况下,这是对于SPL构建禁用的,以节省空间。这将导致dm_warn()被编译出来-调用时它将什么都不做。
o Enable debug messages in driver model core
在驱动程序模型核心中启用调试消息
o Support device removal
我们可以通过删除设备支持来节省一些代码空间。SPL中通常不需要此选项,因此默认情况下,SPL禁用此选项。请注意,这可能会在USB子系统中产生不期望的结果,因为它会导致未拔出的设备在dm树中徘徊,并且会导致USB主机控制器在启动操作系统时无法停止。
o Support stdio registration
支持stdio注册。通常串行驱动程序向stdio注册,以便它们可以用作正常输出设备。在SPL中,我们通常不使用stdio,因此可以省略此功能。
o Support numbered aliases in device tree
支持设备树中的编号别名。大多数电路板都有一个“/alias”节点,其中包含到编号设备的路径(例如serial0=&serial0)。如果不需要,可以禁用此功能。
o Support numbered aliases in device tree in SPL
支持SPL中设备树中的编号别名。
o Support register maps
支持寄存器映射。硬件外设往往有一组或多组寄存器,可以访问这些寄存器来控制硬件。寄存器映射使用简单的读/写接口对此进行建模。它原则上可以支持任何总线类型(I2C、SPI),但到目前为止,它只支持直接内存访问。
o Managed device resources
托管设备资源。
o Support simple-bus driver
支持简单的总线驱动程序。此选项启用受管设备资源核心支持。无论初始化中途失败还是设备分离,devres框架管理的设备资源都会自动释放。如果禁用此选项,devres函数将返回到非托管变量。例如,devres_alloc()到kzaloc(),devm_kmalloc()和kmalloc)等。
o Translate addresses using fdt_translate_address
使用fdt_Translate_address转换地址。如果启用此选项,将使用fdt_translate_address()函数转换reg属性。这在许多节点中使用复杂的“范围”属性的某些平台(例如MVEBU)上是必要的。因为在默认的simple_bus_translate()函数中未正确处理此转换。如果未启用此选项,将使用simple_bus_translate()进行地址转换。此函数比fdt_translate_address()更快、更小。
o Enable ADC drivers using Driver Model
使用驱动程序模型启用ADC驱动程序。这实现了用于驱动器的ADC API,它允许通过单通道和多通道方法驱动ADC功能:-启动/停止/获取数据,以转换由多个通道选择的单通道或由位掩码选择的多通道-获取数据掩码(ADC分辨率)ADC参考电压电源选项:-获取具有极性的Vdd/Vss参考电压值的方法-支持具有自动启用功能的电源显示-fdt中的电源极性设置
o Enable Exynos 54xx ADC driver
这使Exynos ADC的基本驱动程序与Exynos54xx兼容。它提供:
-10个模拟输入通道
-12位分辨率
-采样率为600 KSPSExynos :三星的一系列处理器
o Enable Sandbox ADC test driver
启用沙盒ADC测试驱动程序。这将启用Sandbox ADC设备仿真的驱动程序。它提供:
-4个模拟输入通道
-16位分辨率
-单通道和多通道转换模式o Enable Amlogic Meson SARADC driver
启用Amlogic Meson SARADC驱动程序。
o Enable Rockchip SARADC driver
启用Rockchip SARADC驱动程序。瑞芯微的驱动。
o Support SATA controllers with driver model
支持带有驱动程序模型的SATA控制器。这将为U-Boot中的磁盘控制器启用uclass。各种驱动程序类型都可以使用此功能,例如AHCI/SATA。它目前没有提供任何标准操作。块设备接口尚未转换为驱动程序模型。
o Support SATA controllers
支持SATA控制器。这支持SATA(串行高级技术附件),这是一种用于连接硬盘驱动器和其他存储设备的串行总线标准。SATA取代了PATA(最初仅为ATA),后者代表并行AT附件,其中AT指1984年发布的IBM AT(高级技术)计算机。另请参阅提供命令行支持的CMD_SATA。
o Enable SCSI interface to SATA devices
启用此选项可允许通过SCSI层连接SATA设备。
o SATA/SCSI device support --->
二级路径
o Enable DWC AHSATA driver support
启用DWC AHSATA驱动程序支持。启用此驱动程序以支持i.MX5和i.MX6 SoC中的DWC AHSATA SATA控制器。
o Enable Freescale SATA controller driver support
启用Freescale SATA控制器驱动程序支持。启用此驱动程序以支持某些Freescale PowerPC SoC中的SATA控制器。
o Enable Marvell SATA controller driver support via IDE interface
通过IDE接口启用Marvell SATA控制器驱动程序支持。启用此驱动程序以支持某些Marvell SoC中的SATA控制器,使用PIO在IDE兼容模式下运行。
o Enable Marvell SATA controller driver support
启用Marvell SATA控制器驱动程序支持。
o Enable Silicon Image SIL3131 / SIL3132 / SIL3124 SATA driver support
启用Silicon Image SIL3131/SIL3132/SIL3124 SATA驱动程序支持
o Enable Silicon Image SIL3114 SATA driver support
启用Silicon Image SIL3114 SATA驱动程序支持
o AXI bus drivers ----
支持AXI(高级可扩展接口)总线,这是一种用于管理SoC设计中功能块的片上互连规范,也经常用于涉及FPGA的设计(例如,与Xilinx FPGA中的IP核通信)。这些类型的总线暴露了可以使用不同地址宽度(目前支持8、16和32)访问的虚拟地址空间。其他类似的总线架构也可以兼容。
o Support block devices
支撑块设备。启用对块设备的支持,如SCSI、MMC和USB闪存棒。这些提供了允许读取、写入和(在某些情况下)擦除块的块级接口。块设备通常有一个分区表,该表允许将设备分区为几个区域,在U-Boot中称为“分区”。文件系统可以放置在每个分区中。
o Enable Legacy Block Device
启用传统块设备。无论是否启用DM,某些设备都需要块支持。
o Use block device cache
使用块设备缓存。此选项为所有块设备启用磁盘块缓存。这在访问U-Boot下的文件系统时非常有用,因为它可以防止重复读取目录结构和其他文件系统数据结构。
o Support IDE controllers
IDE控制器。支持IDE(集成驱动器电子)硬盘驱动器。这允许从U-Boot访问IDE驱动器上的原始块和文件系统。另请参阅CMD_IDE,它提供了用于执行各种IDE操作的“IDE”命令。
o Enable support for checking boot count limit ----
启用对检查启动计数限制的支持。
o Clock --->
二级路径
o Enable clock driver support
启用时钟驱动程序支持。这允许为时钟发生器提供驱动器,包括振荡器和PLL。设备可以使用公共时钟API来请求特定时钟速率并检查可用时钟。时钟可以以树形结构馈入其他时钟,多路复用器可以为每个时钟选择源。
o Enable cgu clock driver for HSDK
为HSDK启用cgu时钟驱动程序。启用此功能以支持Synopsys ARC HSDK上的cgu时钟
o AT91 clock drivers
AT91时钟驱动器。此选项用于启用AT91时钟驱动器。驱动程序支持AT91时钟发生器,包括振荡器和PLL,如主时钟、慢时钟、PLLA、UTMI PLL。时钟也可以是树形结构的其他时钟的源时钟,如主时钟、usb设备时钟、矩阵时钟和通用时钟。设备可以使用公共时钟API来请求特定时钟,启用它并获取其速率。
o Enable ICS8N3QV01 VCXO driver
启用ICS8N3QV01 VCXO驱动程序。
o Enable CPU drivers using Driver Model
使用驱动程序模型启用CPU驱动程序。这允许为CPU提供驱动程序,并在板的设备树中指定其类型。对于支持多个CPU的板,通常必须在U-Boot中设置,以便它们在操作系统中正常工作。这为查找可用CPU的信息并进行更改提供了一个框架。
o Hardware crypto devices --->
二级路径
o Freescale Crypto Driver Support
Freescale Crypto驱动程序支持。
o Big-endian access to Freescale Secure Boot
Big endian访问Freescale Secure Boot
o Little-endian access to Freescale Secure Boot
Little-endian访问Freescale Secure Boot
o Demo for driver model --->
驱动模型演示。
o DFU support ----
DFU支持
o DMA Support --->
二级路径
o Enable Driver Model for DMA drivers
为DMA驱动程序启用驱动程序模型。
o TI EDMA3 driver
TI EDMA3驱动程序
o Fastboot support --->
二级路径
o Enable fastboot protocol over UDP
通过UDP启用快速启动协议
o Define FASTBOOT buffer address
定义FASTBOOT缓冲区地址
o (0x7000000) Define FASTBOOT buffer size
定义FASTBOOT缓冲区大小
o Enable FASTBOOT FLASH command
启用FASTBOOT FLASH命令
o FPGA support --->
二级路径
o Enable Altera FPGA drivers
启用Altera FPGA驱动程序。
o Enable Gen5 and Arria10 common FPGA drivers
启用Gen5和Arria10通用FPGA驱动程序
o Enable Xilinx FPGA drivers
启用Xilinx FPGA驱动程序
o Enable Spartan3 FPGA driver
启用Spartan3 FPGA驱动程序
o GPIO Support --->
二级路径
o Enable Driver Model for GPIO drivers
为GPIO驱动程序启用驱动程序模型
o Altera PIO driver
Altera PIO驱动程序
o DWAPB GPIO driver
DWAPB GPIO驱动程序
o AT91 PIO GPIO driver
AT91 PIO GPIO驱动程序
o ATMEL PIO4 driver
ATMEL PIO4驱动程序
o DA8xx GPIO Driver
DA8xx GPIO驱动程序
o Intel Broadwell GPIO driver
Intel Broadwell GPIO驱动程序
o Intel ICH6 compatible legacy GPIO driver
兼容Intel ICH6的旧式GPIO驱动程序
o i.MX7ULP RGPIO2P driver
i.MX7ULP RGPIO2P驱动程序
o HSDK CREG GPIO griver
HSDK CREG GPIO驱动
o LPC32XX GPIO driver
LPC32XX GPIO驱动程序
o Qualcomm GPIO driver
高通公司GPIO驱动程序
o Freescale/NXP MXC GPIO driver
Freescale/NXP MXC GPIO驱动程序
o Enable the pca953x command
启用pca953x命令
o PCF8575 I2C GPIO Expander driver
PCF8575 I2C GPIO扩展器驱动程序
o Rockchip GPIO driver
Rockchip GPIO驱动程序
o Xilinx GPIO driver
Xilinx GPIO驱动程序
o tca642x - Command to access tca642x state
tca642x-访问tca642 x状态的命令
o Tegra20..210 GPIO driver
Tegra20..210 GPIO驱动程序
o Tegra186 GPIO driver
Tegra186 GPIO驱动程序
o Vybrid GPIO driver
Vybrid GPIO驱动程序
o 74x164 serial-in/parallel-out 8-bits shift register
74x164串行输入/并行输出8位移位寄存器
o PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports
PCA95[357]x、PCA9698、TCA64xx和MAX7310 I/O端口
o Freescale MPC8XXX GPIO driver
Freescale MPC8XXX GPIO驱动程序
o MediaTek MT7621 GPIO driver
联发科MT7621 GPIO驱动程序
o I2C support --->
二级路径
o Enable Driver Model for I2C drivers
o Enable I2C compatibility layer
o Set default I2C bus number
o Enable Driver Model for software emulated I2C bus driver
为软件模拟I2C总线驱动程序启用驱动程序模型
o Freescale I2C bus driver
o Designware I2C Controller
o Intel I2C/SMBUS driver
o NXP i.MX LPI2C driver
o NXP MXC I2C driver
o Rockchip I2C driver
o Marvell I2C driver
o gdsys IHS I2C driver
o Support I2C multiplexers
使能I2C驱动模型,后面就是选厂家
o Enable driver model keyboard support
启用驱动程序模型键盘支持
o Enable Chrome OS EC keyboard support
启用Chrome OS EC键盘支持
o Enable TWL4030 Input controller
启用TWL4030输入控制器
o LED Support --->
二级路径
o Enable LED support
启用LED支持
o Enable status LED API
启用状态LED API
o Mailbox Controller Support --->
使用驱动程序模型启用邮箱控制器
o Memory Controller drivers ----
内存控制器驱动程序
o Multifunction device drivers --->
二级路径
o Enable Driver Model for Misc drivers
为其他驱动程序启用驱动程序模型
o Enable Chrome OS EC
启用Chrome OS EC
o Enable support for DS4510 CPU supervisor
启用对DS4510 CPU监控器的支持
o Enable FSL SEC_MON Driver
启用FSL SEC_MON驱动程序
o Enable MXC OCOTP Driver
启用MXC OCOTP驱动程序
o Enable Nuvoton NCT6102D Super I/O driver
启用Nuvoton NCT6102D超级I/O驱动程序
o Enable power-sequencing drivers
启用电源排序驱动程序
o Enable PCA9551 LED driver
启用PCA9551 LED驱动器
o Enable TWL4030 LED controller
启用TWL4030 LED控制器
o Enable Winbond Super I/O driver
启用Winbond Super I/O驱动程序
o (0x0) Set the I2C MAC offset
设置I2C MAC偏移
o MMC Host controller Support --->
二级路径
o MMC/SD/SDIO card support
MMC/SD/SDIO卡支持
o support for MMC/SD write operations
支持MMC/SD写入操作
o Poll for broken card detection case
轮询断卡检测案例
o Enable MMC controllers using Driver Model
使用驱动程序模型启用MMC控制器
o ARM AMBA Multimedia Card Interface and compatible support
ARM AMBA多媒体卡接口和兼容支持
o Enable quirks
某些卡和主机有时会表现出意外的行为(怪癖)。该选项允许变通方法来处理这些怪癖。其中一些是默认启用的,其他可能需要额外的标志或由主机驱动程序启用。
o Support for HW partitioning command(eMMC)
支持HW分区命令(eMMC)
o Support eMMC replay protected memory block (RPMB)
支持eMMC重放保护内存块(RPMB)
o Support IO voltage configuration
支持IO电压配置
o Support IO voltage configuration in SPL
支持SPL中的IO电压配置
o enable HS200 support
启用HS200支持
o enable HS200 support in SPL
启用HS200支持在SPL
o Output more information about the MMC
输出有关MMC的更多信息
o MMC debugging
MMC调试
o Tiny MMC framework in SPL
SPL中的微型MMC框架
o Synopsys DesignWare Memory Card Interface
o Freescale i.MX21/27/31 or MPC512x Multimedia Card support
o Support for MMC controllers on PCI
支持PCI上的MMC控制器
o TI OMAP High Speed Multimedia Card Interface support
o Secure Digital Host Controller Interface support
安全数字主机控制器接口支持。SD卡接口
o STMicroelectronics STM32H7 SD/MMC Host Controller support
o Ftsdc010 SD/MMC controller Support
o MediaTek SD/MMC Card Interface support
联发科SD/MMC卡接口支持
o Freescale/NXP eSDHC controller support
o MTD Support --->
二级路径
o Enable Driver Model for MTD drivers
为MTD驱动程序启用驱动程序模型
o Enable parallel NOR flash support
启用并行NOR闪存支持
o Enable MTD Device for NAND and ONENAND devices
为NAND和ONNAND设备启用MTD设备
o Add MTD Partioning infrastructure
添加MTD分区基础
o Enable Driver Model for CFI Flash driver
为CFI Flash驱动程序启用驱动程序模型
o Altera Generic Quad SPI Controller
Altera通用四线SPI控制器
o Enable NAND mapping block management
启用NAND映射块管理
o NAND Device Support ---->
二级路径
[ ] Support Atmel NAND controller
[ ] Support TI Davinci NAND controller
[ ] Support Denali NAND controller as a DT device
[ ] Support LPC32XX_SLC controller
[ ] Support for Freescale NFC for VF610
[ ] Support for NAND on PXA3xx and Armada 370/XP/38x
[ ] Configure Arasan Nand
[ ] Support for MT7621 NAND Controller
[ ] Support for Zynq Nand controller
*** Generic NAND options ***
[ ] Define U-boot binaries locations in NAND
[ ] Support Denali NAND controller for SPL
[ ] Support for MT7621 NAND Controller for SPL
[ ] Use simple SPL NAND driver
[ ] Use simplified nand base选厂家的驱动和一些简单配置
o SPI Flash Support --->
二级路径
[*] Enable Driver Model for SPI flash
启用SPI闪存的驱动程序模型
[*] Legacy SPI Flash Interface support传统SPI闪存接口支持
[*] SPI flash Bank/Extended address register supportSPI闪存库/扩展地址寄存器支持
[ ] SPI DUAL flash memory supportSPI DUAL闪存支持。目前,Xilinx Zynq qspi支持此功能。
[ ] Atmel SPI flash support
Atmel SPI闪存支持[*] EON SPI flash support
EON SPI闪存支持
[*] GigaDevice SPI flash supportGigaDevice SPI闪存支持
[*] ISSI SPI flash supportISSI SPI闪存支持
[*] Macronix SPI flash supportMacronix SPI闪存支持
[*] Spansion SPI flash supportSpansion SPI闪存支持
[*] STMicro SPI flash supportSTMicro SPI闪存支持
[*] SST SPI flash supportSST SPI闪存支持
[*] Winbond SPI flash supportWinbond SPI闪存支持
[ ] Use small 4096 B erase sectors使用小4096 B擦除扇区
[ ] AT45xxx DataFlash supportAT45xxx DataFlash支持
[*] SPI Flash MTD supportSPI闪存MTD支持
o UBI support --->
二级路径
[ ] UBI silence verbose messages
UBI静音详细消息
[ ] Enable UBI - Unsorted block images启用UBI-未排序的块镜像
o Bit-banged ethernet MII management channel support
Bit-banged以太网MII管理通道支持
o Marvell 88E6352 switch support
Marvell 88E6352交换支持
o Ethernet PHY (physical media interface) support --->
选择网络连接的物理设备PHY,通常PHY为外部的,与cpu的mac接口相连。有时soc内部会集成switch,可以选择内部PHY使用。MT7621就是使用内部PHY
o NXP PFE Ethernet driver ----
NXP PFE以太网驱动程序
o Enable Driver Model for Ethernet drivers
为以太网驱动程序启用驱动程序模型
o TI Common Platform Ethernet Switch
TI通用平台以太网交换机
o Network device support --->
二级路径
[ ] Enable GbE PHY status parsing and configuration
启用GbE PHY状态分析和配置
[ ] Altera Triple-Speed Ethernet MAC supportAltera三倍速以太网MAC支持
[ ] Broadcom SF2 (Starfighter2) Ethernet supportBroadcom SF2(Starfighter2)以太网支持
[ ] Synopsys DWC Ethernet QOS device supportSynopsys DWC以太网QOS设备支持
[ ] Intel PRO/1000 Gigabit Ethernet supportIntel PRO/1000千兆以太网支持
[ ] Synopsys Designware Ethernet MACSynopsys Designware以太网MAC
[ ] OpenCores 10/100 Mbps Ethernet MACOpenCores 10/100 Mbps以太网MAC
[ ] Ftmac100 Ethernet SupportFtmac100以太网支持
[ ] Cadence MACB/GEM Ethernet InterfaceCadence MACB/GEM以太网接口
[*] MediaTek MT7621 Ethernet Interface联发科MT7621以太网接口
[ ] Intel Platform Controller Hub EG20T GMAC driverIntel Platform Controller Hub EG20T GMAC驱动程序
[ ] Enable RGMII启用RGMII
[ ] Enable MII启用MII
[ ] Realtek 8139 series Ethernet controller driverRealtek 8139系列以太网控制器驱动程序
[ ] Realtek 8169 series Ethernet controller driverRealtek 8169系列以太网控制器驱动程序
[ ] SMSC LAN911x and LAN921x controller driverSMSC LAN911x和LAN921x控制器驱动程序
[ ] Enable Allwinner GMAC Ethernet support启用Allwinner GMAC以太网支持
[ ] Allwinner Sun4i Ethernet MAC support
[ ] Allwinner Sun8i Ethernet MAC support
[ ] Renesas SH Ethernet MAC瑞萨SH以太网MAC
[ ] TI Davinci EMAC
[ ] Xilinx Ethernetlite
[ ] Enable Three-Speed Ethernet Controller启用三速以太网控制器
o NVM Express device support
NVM Express设备支持。此选项支持NVM Express设备。它支持NVMe(读/写)的基本功能。SSD硬盘。
o PCI support --->
二级路径
[*] Enable driver model for PCI
为PCI启用驱动程序模型
[ ] Enable compatible functions for PCI为PCI启用兼容功能
[*] Enable Plug & Play support for PCI启用PCI即插即用支持
[ ] Generic ECAM-based PCI host controller support基于ECAM的通用PCI主机控制器支持
[ ] Xilinx AXI Bridge for PCI Express用于PCI Express的Xilinx AXI桥
[ ] Layerscape PCIe supportLayerscape PCIe支持
[ ] Intel FPGA PCIe supportIntel FPGA PCIe支持
o PHY Subsystem --->
该框架旨在为PHY设备提供通用接口。PHY设备是处理OSI模型中协议的物理层的专用硬件。PHY通常用于高速接口,例如串行ATA或PCI express。API提供初始化/去初始化PHY、打开/关闭PHY以及重置PHY的功能。它的目的是尽可能与linux内核中的等效框架兼容。
o ComPhy SerDes driver
ComPhy SerDes驱动程序。选择此选项可添加对Comphy驱动程序的支持。该驱动通过通道,并根据类型和速度初始化通道。
o Pin controllers --->
这实现了对pinctrl框架的基本支持。您可能需要启用更多选项,具体取决于您要执行的操作。
o Power --->
二级路径
[ ] Enable Driver Model for PMIC drivers (UCLASS_PMIC)
Enable Driver Model for PMIC drivers (UCLASS_PMIC)
[ ] Enable support for the Austria Micro Systems (AMS) AS7322 PMIC
[ ] Enable driver for Freescale MC34VR500 PMIC
[ ] Enable Driver Model for REGULATOR drivers (UCLASS_REGULATOR)
为调节器驱动程序启用驱动程序模型
主要对PMIC的支持
o Enable support for pulse-width modulation devices (PWM)
启用对脉宽调制设备(PWM)的支持
o Enable support for the sandbox PWM
启用对sandbox PWM的支持
o Enable RAM drivers using Driver Model
使用驱动程序模型启用RAM驱动程序
o Remote Processor drivers ----
远程处理器驱动程序
o Reset Controller Support --->
二级路径
[*] Enable reset controllers using Driver Model
使用驱动程序模型启用重置控制器
[*] Reset controller driver for MediaTek MT7621
重置联发科MT7621的控制器驱动程序
o Real Time Clock --->
二级路径
[ ] Enable Driver Model for RTC drivers
启用RTC驱动程序的驱动程序模型
[ ] Enable ARM AMBA PL031 RTC driver
启用ARM AMBA PL031 RTC驱动程序
[ ] Enable S35392A driver
启用S35392A驱动程序
o Support SCSI controllers
支持SCSI控制器
o Support SCSI controllers with driver model
支持带有驱动程序型号的SCSI控制器
o Serial drivers --->
二级路径
(115200) Default baudrate
默认波特率
[*] Require a serial port for console
控制台需要一个串行端口
[*] Specify the port number used for console
指定用于控制台的端口号
[*] Provide a serial driver
提供串行驱动程序
[*] Provide a serial driver in SPL
提供串行驱动程序在SPL中
(1) UART used for console
用于控制台的UART
[*] Enable Driver Model for serial drivers
为串行驱动程序启用驱动程序模型
[ ] Enable RX buffer for serial input
为串行输入启用RX缓冲器
[ ] Search for serial devices after default one failed
在默认设备失败后搜索串行设备
[ ] Enable Driver Model for serial drivers in TPL
为TPL中的串行驱动程序启用驱动程序模型
[*] Enable an early debug UART for debugging
启用早期调试UART进行调试
Select which UART will provide the debug UART (MediaTek High-speed UART) --->
选择哪个UART将提供调试UART(联发科高速UART)
(0xbe000c00) Base address of UART
UART的基址
(50000000) UART input clock
ART输入时钟
(2) UART register shift
UART寄存器移位
[*] Enable board-specific debug UART init
启用特定于板的调试UART初始化
[ ] Show a message when the debug UART starts up
调试UART启动时显示消息
[ ] Skip UART initialization
跳过UART初始化
[ ] Altera JTAG UART support
[ ] Altera UART support
[ ] ARC UART support
[ ] Atmel USART support
[ ] Freescale Linflex UART support
[ ] Freescale LPUART support
[ ] UART support for Armada 3700
[ ] Null serial device
空串行设备
[ ] NS16550 UART or compatible
NS16550 UART或兼容
[ ] ARM PL010 and PL011 driver
ARM PL010和PL011驱动程序
[ ] Qualcomm on-chip UART
高通公司片上UART
[ ] PXA serial port support
PXA串行端口支持
[*] MediaTek High-speed UART support
联发科高速UART支持
o SMEM (Shared Memory mamanger) support ----
SMEM(共享内存管理器)支持
o Sound support --->
主要对I2S的支持
o SPI Support --->
二级路径
[*] Enable Driver Model for SPI drivers
为SPI驱动程序启用驱动程序模型
[ ] Altera SPI driver
[ ] Andestech ATCSPI200 SPI driver
[ ] Atmel SPI driver
[ ] BCMSTB SPI driver
[ ] Cadence QSPI driver
[ ] Designware SPI driver
[ ] Samsung Exynos SPI driver
[ ] Freescale DSPI driver
[ ] Intel ICH SPI driver
[ ] Marvell Armada 3700 SPI driver
[*] MediaTek MT7621 SPI controller driver
[ ] Rockchip SPI driver
[ ] Allwinner A10 SoCs SPI controller
[ ] nVidia Tegra114 SPI driver
[ ] nVidia Tegra20 Serial Flash controller driver
[ ] nVidia Tegra20/Tegra30 SLINK driver
[ ] nVidia Tegra210 QSPI driver
[ ] Xilinx SPI driver
[ ] Soft SPI driver
软SPI驱动程序。启用软SPI驱动程序。该驱动程序使用GPIO模拟SPI协议。
[ ] ColdFire SPI driver
[ ] Freescale eSPI driver
[ ] Freescale QSPI driver
[ ] SuperH SPI driver
[ ] Renesas Quad SPI driver
[ ] TI QSPI driver
[ ] Marvell Kirkwood SPI Driver
[ ] LPC32XX SPI Driver
[ ] MPC8XXX SPI Driver
[ ] MXC SPI Driver
[ ] MXS SPI Driver
[ ] McSPI driver for OMAP
o SPMI support --->
选择此选项以启用支持SPMI总线。SPMI(系统电源管理接口)总线用于连接各种SoC上的PMIC设备。
o System reset device drivers --->
二级路径
[ ] Enable support for system reset drivers
启用对系统重置驱动程序的支持
[ ] Enable support for mfd syscon reboot driver
启用对mfd-syscon重新启动驱动程序的支持
[ ] Enable support for watchdog reboot driver
启用对看门狗重新启动驱动程序的支持
o Driver support for thermal devices
温度传感器的驱动器支持
o Timer Support --->
为计时器驱动程序启用驱动程序模型
o TPM support ----
TPM支持。
o USB support --->
二级路径
[*] Enable driver model for USB
启用USB驱动程序模型
*** USB Host Controller Drivers ***
[*] xHCI HCD (USB 3.0) support
xHCI HCD(USB 3.0)支持
[ ] DesignWare USB3 DRD Core Support
DesignWare USB3 DRD核心支持
[ ] DesignWare USB3 DRD Generic OF Simple Glue Layer
支持基于DesignWare USB3 IP Core的USB控制器与简单SoC集成中的USB2/3功能。
[ ] Support for PCI-based xHCI USB controller
支持基于PCI的xHCI USB控制器
[ ] Support for NXP Layerscape on-chip xHCI USB controller
支持NXP Layerscape片上xHCI USB控制器
[*] Support for MediaTek MT7621 on-chip xHCI USB controller
支持联发科MT7621片上xHCI USB控制器
[ ] EHCI HCD (USB 2.0) support
EHCI HCD(USB 2.0)支持
[ ] OHCI HCD (USB 1.1) support
OHCI HCD(USB 1.1)支持
[ ] UHCI HCD (most Intel and VIA) support
UHCI HCD(大多数Intel和VIA)支持
[ ] DesignWare USB2 Core support
DesignWare USB2核心支持
[ ] DesignWare USB3 DRD Core Support
DesignWare USB3 DRD核心支持
*** Legacy MUSB Support ***
[ ] Legacy MUSB Host Controller
传统MUSB主机控制器
[ ] Legacy USB Device Controller
传统USB设备控制器
[ ] Legacy MUSB DaVinci
传统MUSB达芬奇
*** MUSB Controller Driver ***
[ ] MUSB host mode support
MUSB主机模式支持
[ ] MUSB gadget mode support
MUSB小工具模式支持
[ ] Enable TI OTG USB controller
启用TI OTG USB控制器
[ ] AM35x
[ ] TI DSPS platforms
[ ] Disable DMA (always use PIO)
禁用DMA(始终使用PIO)
*** USB Phy ***
[ ] TWL4030 PHY
[ ] OMAP PHY
[ ] Rockchip USB2 PHY
*** ULPI drivers ***
[ ] ULPI Viewport type
*** USB peripherals ***
[*] USB Mass Storage support
USB大容量存储支持
[ ] USB Keyboard support
USB键盘支持
[ ] USB Gadget Support ---->
(U-Boot) Vendor name of the USB device
USB设备的供应商名称
(0x0) Vendor ID of the USB device
USB设备的供应商ID
(0x0) Product ID of the USB device
USB设备的产品ID
[ ] Atmel USBA
[ ] Broadcom UDC OTG PHY
[ ] DesignWare USB2.0 HS OTG controller (gadget mode)
[ ] ChipIdea device controller
ChipIdea设备控制器
(2) Maximum VBUS Power usage (2-500 mA)
最大VBUS功耗
[ ] Enable USB download gadget
启用USB下载小工具
[ ] USB Ethernet Gadget
USB以太网小工具
[ ] USB to Ethernet Controller Drivers ---->
USB转以太网控制器驱动程序
[ ] ASIX AX8817X (USB 2.0) support
[ ] ASIX AX88179 (USB 3.0) support
[ ] Microchip LAN75XX support
[ ] Microchip LAN78XX support
[ ] MOSCHIP MCS7830 (7730/7830/7832) suppport
[ ] Realtek RTL8152B/RTL8153 support
[ ] SMSC LAN95x support (NEW)
o Graphics support --->
图形支持
二级路径
[ ] Enable driver model support for LCD/video
[ ] Display console as white on a black background
[ ] Skip framebuffer clear
TrueType Fonts ----
[ ] Enable VESA video driver support
[ ] ANX9804 bridge chip
[ ] SSD2828 bridge chip
[ ] Armada XP LCD controller
[ ] Enable EDID library
[ ] Enable Display support
[ ] Enable LCD support on Tegra20
[ ] Support video bridges
[ ] Enable legacy video support
[ ] Enable legacy LCD support
[ ] Simple display driver for preconfigured display
[ ] Enable SimpleFB support for passing framebuffer to OS
o Watchdog Timer Support --->
二级路径
[ ] Enable U-Boot watchdog reset
启用U-Boot看门狗重置.此选项启用U-Boot看门狗支持,其中U-Boot使用watchdog_reset功能为U-Boot中的看门狗设备提供服务。如果您想通过U-Boot服务启用的看门狗,请启用此选项。如果您希望U-Boot启动看门狗,但从不维护它,请禁用此选项。
[ ] Enable BCM2835/2836 watchdog driver
[ ] i.MX7ULP watchdog
[ ] Enable driver model for watchdog timer drivers
o Custom physical to bus address mapping
自定义物理到总线地址映射
顶层路径
File systems --->
一级路径
o Enable BTRFS filesystem support
启用BTRFS文件系统支持
o Enable CBFS (Coreboot Filesystem)
启用CBFS(Coreboot文件系统)
o Enable ext4 filesystem support
启用ext4文件系统支持
o Enable ext4 filesystem write support
启用ext4文件系统写入支持
o Enable FAT filesystem support
启用FAT文件系统支持
o Enable FAT filesystem write support
启用FAT文件系统写入支持
o (65536) Set maximum possible clustersize
设置最大可能簇大小。设置FAT文件系统的最大可能簇大小。这是可用于保存文件的最小磁盘空间量。除非内存内存限制非常严格,否则保留默认值。
o Enable JFFS2 filesystem support
启用JFFS2文件系统支持
o UBIFS silence verbose messages
UBIFS静音详细消息
o Enable CRAMFS filesystem support
启用CRAMFS文件系统支持
o YAFFS2 filesystem support
YAFFS2文件系统支持
顶层路径
Library routines --->
一级路径
o Enable Software based BCH ECC
启用基于软件的BCH ECC
o Optimize libraries for speed
优化库以提高速度
o Enable Dynamic tables for CRC
为CRC启用动态表
o Use private libgcc
使用专用libgcc
o Enable tiny printf() version
启用微型printf()版本
o Do not reset the system on fatal error
发生严重错误时不重置系统
o Enable regular expression support
启用正则表达式支持
o Pseudo-random library support type (Pseudo-random library support) --->
二级路径
o Pseudo-random library support
伪随机库支持
o HW Engine for random libray support
用于随机库支持的HW引擎
o Use a very small memset() in SPL
在SPL中使用非常小的memset()
o Use a very small memset() in TPL
在TPL中使用非常小的memset()
o Bit reverse library from Linux
来自Linux的位反向库
o Support the 'dhry' command to run the dhrystone benchmark
支持“dhry”命令运行dhrystone基准测试
o Security support --->
二级路径
o Support the AES algorithm
支持AES算法
o Use RSA Library
使用RSA库
o Trusted Platform Module (TPM) Support
可信平台模块(TPM)支持
o Android Verified Boot ----
Android验证启动
o Hashing Support --->
二级路径
o Enable SHA1 support
启用SHA1支持
o Enable SHA256 support
启用SHA256支持
o Enable hashing using hardware
使用硬件启用哈希
o Compression Support --->
二级路径
o Enable LZ4 decompression support
启用LZ4解压缩支持
o Enable LZMA decompression support
启用LZMA解压缩支持
o Enable LZO decompression support
启用LZO解压缩支持
o Enable LZO decompression support in SPL
在SPL中启用LZO解压缩支持
o Enable gzip decompression support for SPL build
为SPL构建启用gzip解压缩支持
o Enable LZMA decompression support for SPL build
为SPL构建启用LZMA解压缩支持
o Enable function for getting errno-related string message
启用获取errno相关字符串消息的函数
o Enable hexdump
启用hexdump
o Enable the FDT library
启用FDT库
o Enable the FDT library overlay support
启用FDT库覆盖支持
o Enable the FDT library for SPL
为SPL启用FDT库
o overwrite MTD partitions in DTS through defined in 'mtdparts'
通过“mtdparts”中定义的覆盖DTS中的MTD分区
o System tables ----
系统表
o Support OPTEE images
支持OPTEE镜像
o (0x00000000) OPTEE load address
OPTEE加载地址
o Support OPTEE bootm command
支持OPTEE bootm命令
顶层路径
Unit tests
选择此选项可编译U-Boot各个部分的单元测试。测试套件将是“ut”命令的子命令。这不需要包含沙盒,但它最常在那里使用。
顶层路径
Enable Failsafe Web UI
MTK提供了一个uboot的web页面,用户可以在uboot下通过网页进行固件升级。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。