一、拿到新板子后要改的核心文件

按重要性和改动频率从高到低排列:

1. Device Tree (DTS) — 最核心,几乎必改

位置: sysdrv/source/kernel/arch/arm/boot/dts/

这是硬件描述文件,PCB 上每个外设都要在这里声明。你需要:

需求做法
GPIO 复用(哪个引脚做什么)改 pinctrl 节点
新增/换用 SPI/I2C/UART/PWM在 dts 里使能对应控制器,配引脚
换摄像头 sensorrockchip-cif + sensor 节点,更新 RK_CAMERA_SENSOR_IQFILES
改网口 / WiFi 模块配 gmac / sdio 节点
换屏幕改 display / backlight / panel 节点
改 DDR 类型或频率见下文 DDR 部分

推荐做法: 拷贝一个最接近你硬件的 .dts(比如 rv1106g-luckfox-pico-pro-max.dts),改成你板子的名字,然后:

  • 删掉你板上没有的外设
  • 加上你板上有但 Luckfox 没有的外设
  • 检查所有 GPIO 引脚号是否匹配 PCB 原理图

然后在对应 BoardConfig .mk 里把 RK_KERNEL_DTS 指向你的新 .dts


2. BoardConfig.mk — 每块板子一个配置文件

位置: project/cfg/BoardConfig_IPC/

存放位置,把你的配置拷贝一份,改成你自己的名字:

cp BoardConfig-SPI_NAND-Buildroot-RV1106_Luckfox_Pico_Pro_Max-IPC.mk \
   BoardConfig-SPI_NAND-Buildroot-RV1106_My_Company_Board-IPC.mk

需要修改的关键项:

RK_KERNEL_DTS          → 指向你的新 dts
RK_PARTITION_CMD_IN_ENV → 按 flash 大小调整分区
RK_CAMERA_SENSOR_IQFILES → 换成你用的 sensor
LF_WIFI_SSID / LF_WIFI_PSK → 公司 WiFi
RK_POST_OVERLAY        → 你的自定义 overlay

最后 ln -sf.BoardConfig.mk


3. U-Boot Defconfig — 一般不动,除非换了启动介质

位置: sysdrv/source/uboot/u-boot/configs/luckfox_rv1106_uboot_defconfig

Luckfox 的 U-Boot 配置已经适配了 RV1106,大多数情况下直接用。需要改的情况:

  • 换了 SPI NAND / SPI NOR / eMMC / SD 卡启动 → 换 RK_UBOOT_DEFCONFIG_FRAGMENT
  • 换了 DDR 频率 → 改 RKBOOT/*.ini 里选的 DDR bin
  • 需要在 U-Boot 阶段加驱动(比如网卡)→ 改 defconfig

4. DDR 配置 — 换 RAM 芯片才需要动

位置: sysdrv/source/uboot/rkbin/

DDR 是 Rockchip 提供的闭源二进制 .bin。Luckfox 默认使用 rv1106_ddr_924MHz_v1.15.bin

如果你公司板子换了 DDR 颗粒(比如 DDR3→DDR4、或改了频率),需要用 tools/ddrbin_param.txt + tools/ddrbin_tool 生成新的 DDR bin,然后修改 RKBOOT/RV1106MINIALL.ini 指向新 bin。


5. Kernel Defconfig — 加驱动才需要动

位置: sysdrv/source/kernel/arch/arm/configs/luckfox_rv1106_linux_defconfig

默认已经启用了常用的驱动。你如果需要:

  • 新的 USB 设备驱动 → make menuconfig 或直接改 defconfig
  • 额外的网络协议 / 文件系统
  • 开启/关闭某些内核特性

二、新板 bring-up 的标准流程

1.  PCB 工程师给原理图
      ↓
2.  选一个最接近的 Luckfox dts 拷贝为 xxx-my-board.dts
      ↓
3.  根据原理图改 pinctrl(GPIO复用)、regulator(电源)、
     i2c/spi/uart/pwm 等外设节点
      ↓
4.  编译内核:./build.sh kernel  → 出 dtb
      ↓
5.  如果能进系统了,逐个验证外设:
    - 串口 →  dmesg | grep tty
    - 网络 → ifconfig, ping
    - 摄像头 → v4l2-ctl --list-devices
    - 屏幕 → 看背光、fb 设备
      ↓
6.  调 ISP(摄像头画质),需要 IQ 文件调优
      ↓
7.  固件打包:./build.sh firmware
      ↓
8.  烧录验证

三、总结对照表

你要做什么改哪个文件
改 GPIO / 外设.dts (kernel)
换 flash / 调分区BoardConfig.mk
换摄像头 sensor.dts + RK_CAMERA_SENSOR_IQFILES
换 WiFi 模块.dts + kernel defconfig
改主机名/密码overlay 或 defconfig
换 DDR 颗粒rkbin/ DDR bin + INI
加内核驱动kernel defconfig
换启动方式U-Boot defconfig