Edit online

Boot 配置

9 Dec 2024
Read time: 2 minute(s)

使用以下命令可以进入 menuconfig 配置界面,配置 Boot 的相关参数。

scons --menuconfig

配置 Bootloader 链接脚本

  1. Chip options 中,找到 Custom link script path (relative path in sdk) 选项。
  2. 将链接脚本的相对路径填写到该选项中,以 d21x_bootloader_gcc.ld 链接脚本为例。
    Chip options  --->
        (application/baremetal/bootloader/ldscript/d21x_bootloader_gcc.ld) Custom link script path (relative path in sdk)
  3. 保存并退出 menuconfig 界面。
  4. 重新编译项目,生成新的 Bootloader 固件。

配置串口控制台使用 UART

  1. Board Options 中,使能本项目所使用的 UART,以 uart0 为例。

    Board options  --->
            *** Peripheral Devices: ***
            [*] Using uart0
            [ ] Using uart1
            [ ] Using uart2
            [ ] Using uart3
  2. Bootloader Options 中设置控制台所使用的 UART ID。

    Bootloader options  --->
        (0) Bootloader console UART ID
  3. 保存并退出 menuconfig 界面。
  4. 重新编译项目,生成新的 Bootloader 固件。

配置 Bootloader 支持的启动介质

  1. 启用 SPI NOR 和 SPI NAND 启动支持:
    Bootloader options 中,确保以下选项被选中:
    Bootloader options  --->
        [ ] MMC boot support  ----
        [*] SPI NOR boot support  --->
        [*] SPI NAND boot support  --->
  2. 配置启动介质的相关参数。如不需要,可略过。
    部分启动介质需要进一步配置相关参数的,比如对于 SPI NAND,需要配置下列参数:
    • SPI NAND device using QSPI controller:指定了使用哪个 QSPI 控制器来访问 SPI NAND 设备。

    • SPI NAND device working frequency (Hz):设置 QSPI 总线工作频率,例如 100000000。

    示例如下:
    --- SPI NAND boot support
        (0)   SPI NAND device using QSPI controller
        (100000000) SPI NAND device working frequency(Hz)

升级功能

Bootloader options 中,选中以下选项,分别启用 USB、NAND 和 NOR 升级功能:

Bootloader options  --->
    aicupg setting  --->
        [*] aicupg usb upgrade on
        [*] aicupg nand upgrade on
        [*] aicupg nor upgrade on

编译 Boot 固件

新配置一个板子后,需要为该方案编译生成一个 bootloader.bin 文件。

Baremetal SDK 中,Boot 程序可以当作一个独立的裸机项目进行编译,与 SDK 中的其他方案编译方法相同。

例如:针对 D21x Demo88 的 SPI NAND 方案编译方法如下:

scons --apply-def d21x_demo88-nand_baremetal_bootloader_defconfig

scons

编译完成时,除了在 output/d21x_demo88-nand_baremetal_bootloader/images/ 下生成 elf 文件外, 还会将 bootloader.bin 复制到板级目录之中,供打包烧录镜像时使用:

target/d21x/demo88-nand/pack/bootloader.bin

编译 Boot 时,不会打包烧录镜像文件,编译应用时才会打包烧录镜像。

提示:

在编译应用时,如果 bootloader.bin 已经存在,并且分区等配置没有改变,则不需要重新编译 Bootloader。