【RK3588】Android系统SD卡启动详解
RK3588平台Android系统SD卡启动配置。Rockchip平台默认是不支持从SD卡启动Android系统的,需要简单的配置才可支持,接下来进行说明。
测试平台:正点原子RK3588开发板(ATK-DLRK3588)
1.BootROM的启动顺序
RK3588芯片内部集成了一个BootROM,其内有固化代码,系统上电时先运行BootROM代码,然后BootROM代码会检测外设存储器并从中加载pre-loader。
RK3588的BootROM支持从如下存储器启动系统:
BootROM代码探测外设存储器的顺序如下所示:
因为SD Card是最后探测的,所以使用SD Card启动的时候、eMMC和FSPI中不能有固件!
2.代码修改
在RK3588 Android12/13 SDK根目录下,打开device/rockchip/rk3588/BoardConfig.mk文件:
vi device/rockchip/rk3588/BoardConfig.mk
找到PRODUCT_BOOT_DEVICE变量所在行,并在其末尾增加sdmmc的节点fe2c0000.mmc,如下所示:
修改完成后保存退出!
执行如下命令重新编译Android源码:
source build/envsetup.sh
lunch ATK_DLRK3588-userdebug
make installclean
./build.sh -UCKAu -J10
编译成功后得到update.img固件,所在路径为:rockdev/Image-ATK_DLRK3588/update.img
3.制作SD启动卡
将Ubuntu下编译得到的update.img固件拷贝到Windows,打开瑞芯微SDDiskTool工具,该工具所在路径为:<SDK>/RKTools/windows/SDDiskTool_v1.74.zip,将其拷贝到Windows下并解压,如下所示:
首先,将一张SD卡(选择那种高速卡)通过读卡器连接到电脑,然后双击SD_Firmware_Tool.exe可执行文件打开SDDiskTool工具,并按照下图说明操作、制作一张SD卡启动卡:
点击“开始创建”后开始制作SD启动卡,等待其制作成功!
SD启动卡制作成功后、将其插入RK3588开发板上电启动即可!
作者:半曲江南