2. 功能概述¶
2.1. 目的¶
cv180x/cv181x/cv184x列处理器在主板上 Bootloader 采用 U-boot-2021.10。当配置的不同外围处理器的(亦即开发版和公版上相异),需要修改 U-boot 相关程序代码,主要包括缓存器(registers), 系统配置档(configuration)和驱动程序(drivers)。
2.2. U-boot 目录结构¶
下表列出常用修改目录和档案
目录名 |
描述 |
arch |
RISC-V处理器开发相关程序代码。 |
arch/arm/dts or arch/riscv/dts |
Linux/uboot共享 DTS配置文件。 DTS 实际档案存放路径(非在u-boot folder 底下)为 sdk_source/build/boards/$(CHIP_ARCH)/$(BOARD)/dts_arm (arm)/$(BOARD).dts (for cv184x) ex: cv184x 处理器系列 EVB board名称为 cv1842hp_wevb_0014a_spinor sdk_source/build/boards/cv184x/cv1842hp_wevb_0014a_spinor/ dts_arm/$(BOARD).dts |
configs |
uboot config配置文件。 configs 实际档案存放路径为 sdk_source/build/boards/$(CHIP_ARCH)/$(BOARD)/u-boot/ cvitek_$(BOARD)_defconfig defconfig: uboot 原生或新增configuration ex: cv184x 处理器系列 EVB board名称为 cv1842hp_wevb_0014a_spinor sdk_source/build/boards/cv184x/cv1842hp_wevb_0014a_spinor/ u-boot/cvitek_cv1842hp_wevb_0014a_spinor_defconfig |
Board |
各家SOC处理器厂商开发版相关程序代码,EVB开机之后需要配置的板端设定。 cvitek.h : 设定GPIO definition 和不同EVB相异处 cvi_board_init.c: 控制EVB板段I/O, PINMUX外围处理器设置 board.c/cvitek.h 实际档案存放路径为 sdk_source/build/boards/$(CHIP_ARCH)/$(BOARD)/u-boot/ cvi_board_init.c sdk_source/build/boards/$(CHIP_ARCH)/$(BOARD)/u-boot/ cvitek.h ex: cv184x 处理器系列 EVB board名称为 cv1842hp_wevb_0014a_spinor sdk_source/build/boards/cv184x/cv1842hp_wevb_0014a_spinor/ u-boot/cvi_board_init.c sdk_source/build/boards/cv184x/cv1842hp_wevb_0014a_spinor/ u-boot/cvitek.h |
Include |
Header files |
Include/configs |
cv184x-asic.h 设定boot command/configuration. |
cmd |
Uboot console 指令实作程序代码 |
drivers |
Ethernet, usb, storage等相关驱动程序 |