# U-Boot移植面试高频三连问 — 针对性回答模板
以下基于您的 5G 执法记录仪项目(Hi3516DV300 + SPI NOR + Linux 4.9)给出可直接套用的面试回答。问题一:移植 U-Boot 时,做了哪些修改?回答框架(按“配置层 → 代码层 → 编译层”三层展示)面试官您好,我移植 U-Boot 时,主要做了三个层面的修改: 1. 板级配置(宏定义开关) 2. 板级初始化和寄存器配置(代码层) 3. 编译配置(Makefile/Kconfig)第一层:板级配置文件(include/configs/hi3516dv300.h)这是最关键的修改文件,我用表格说明:修改项修改前(默认)修改后(我的配置)作用启动介质适配多种介质CONFIG_SYS_BOOT_SPINOR=1锁定为 SPI NOR Flash 启动环境变量存储无CONFIG_ENV_IS_IN_SPI_FLASH=1环境变量存 Flash,掉电不丢失DDR 大小默认PHYS_SDRAM_1_SIZE=0x20000000(512MB)与实际 DDR 容量匹配串口波特率默认CONFIG_BAUDRATE=115200与硬件调试串口一致网络配置默认MAC/IP/SERVERIPTFTP 烧录联调bootcmd默认值sf probe; sf read 0x82000000 0x200000 0x300000; bootm 0x82000000从 Flash 固定分区读 Kernelbootargs默认值mem=512M console=ttyAMA0,115200 root=/dev/mtdblock3 rw rootfstype=jffs2传递给 Kernel 的内存/串口/根文件系统参数第二层:板级初始化与寄存器(board/hisilicon/hi3516dv300/hi3516dv300.c和reg_config.h)