Rockchip RK3588 SD卡启动

Rockchip RK3588 SD卡启动

RK3588的BOOTROM 流程

RK3588 内部都有集成一个 BOOTROM,系统上电时先会运行 BOOTROM 代码,然后 BOOTROM 代码会探测外设存储器并加载 Loader 代码。
RK3588的bootrom支持从如下接口启动系统

  • SPI interface
  • eMMC interface
  • SD/MMC interface
    BOOTROM 探测外设存储器的顺序不同,具体顺序如下,从左到右:
SPI NOR
eMMC
SD CARD

因为SD card是最后探测的,所以在SD card启动的时候eEMMC或者SPI NOR中不能有固件

软件修改

  • kernel
    dts里面的sdmmc节点下加入supports-emmc;字段,此配置标识此插槽为 emmc 功能,为必须添加项。否则无法初始化 emmc 外设。
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-evb1-lp4x.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-evb1-lp4x.dtsi
index 5a93b3fa949c0..dd3a5aab7853b 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-evb1-lp4x.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-evb1-lp4x.dtsi
@@ -647,6 +647,7 @@
 };
 
 &sdmmc {
    
    
+       supports-emmc;
        status = "okay";
 };
  • Android
    在device下面的配置PRODUCT_BOOT_DEVICE,增加sdmmc的节点fe2c0000.mmc,不同芯片平台这个节点不一样,可以在芯片的dtsi里面查看
@sys2_206:~/4_Android12_29_sdk$ cd device/rockchip/rk3588/
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 71d04b0..525bf1a 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -25,7 +25,7 @@ PRODUCT_KERNEL_CONFIG ?= rockchip_defconfig pcie_wifi.config
 
 #BOARD_AVB_ENABLE := true
 # used for fstab_generator, sdmmc controller address
-PRODUCT_BOOT_DEVICE := fe2e0000.mmc
+PRODUCT_BOOT_DEVICE := fe2e0000.mmc,fe2c0000.mmc

改完编译update.img

制作SD卡启动卡

  • SD卡要用高速的卡
  • 工具:瑞芯微创建省级磁盘工具
  • 工具版本:V1.69
  • 工具地址在SDK的如下路径:
RKTools\windows\SDDiskTool_v1.69.zip

制作过程按下图说明操作
在这里插入图片描述
制作成功后将SD卡插入RK3588的机器上开机启动即可

猜你喜欢

转载自blog.csdn.net/weixin_43245753/article/details/125647338