尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

RK3576 Android 14 SD卡启动实战:3处源码修改与V1.78工具制作全流程

RK3576 Android 14 SD卡启动实战:3处源码修改与V1.78工具制作全流程
📅 发布时间:2026/7/10 10:08:51

RK3576 Android 14 SD卡启动全流程实战指南

1. 环境准备与硬件选型

在开始RK3576平台的SD卡启动调试前,确保您已准备好以下硬件和软件环境:

硬件清单:

  • RK3576 EVB开发板(带SD卡槽)
  • 符合规格的SD卡(建议选择工业级产品)
    • 容量:8GB-32GB(实测64GB部分型号也可用)
    • 速度等级:Class10/UHS-I及以上
    • 推荐品牌:SanDisk Extreme、Samsung Pro Endurance

软件工具:

# 工具链验证命令 $ git --version git version 2.25.1 $ repo --version repo version v2.4.3

开发环境配置要点:

  1. 推荐Ubuntu 20.04 LTS作为编译主机
  2. 磁盘空间至少预留200GB(Android源码约150GB)
  3. 安装必要依赖包:
sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \ lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev \ libgl1-mesa-dev libxml2-utils xsltproc unzip

2. 源码修改关键步骤

2.1 Android层配置修改

进入device/rockchip/rk3576目录,修改BoardConfig.mk:

# 修改前 PRODUCT_BOOT_DEVICE := 2a2d0000.ufs,2a330000.mmc PRODUCT_SDMMC_DEVICE := 2a310000.mmc # 修改后 PRODUCT_BOOT_DEVICE := 2a2d0000.ufs,2a330000.mmc,2a310000.mmc # PRODUCT_SDMMC_DEVICE := 2a310000.mmc

修改说明:

  1. 在PRODUCT_BOOT_DEVICE中添加SD控制器节点2a310000.mmc
  2. 注释掉PRODUCT_SDMMC_DEVICE定义(避免冲突)
  3. 保留AVB相关配置(如BOARD_AVB_ENABLE)

2.2 Kernel设备树调整

修改内核设备树文件(如rk3576-evb1.dtsi):

&sdmmc { + supports-emmc; status = "okay"; };

关键参数解析:

参数作用推荐值
supports-emmc启用eMMC兼容模式必须添加
max-frequencySD卡工作频率150000000
bus-width数据总线宽度4
cap-sd-highspeed高速模式支持1

3. 固件编译与验证

3.1 完整编译流程

# 初始化repo repo init -u https://github.com/rockchip-linux/manifests -b android-14.0 # 同步代码 repo sync -j8 --no-tags --no-clone-bundle # 应用修改后编译 source build/envsetup.sh lunch rk3576_evb-userdebug make -j$(nproc) update.img

编译产物验证:

$ ls -lh out/target/product/rk3576/update.img -rw-r--r-- 1 user user 1.8G Jul 15 10:30 update.img

3.2 编译常见问题处理

问题1:SD控制器未识别

[ 2.345678] mmc1: error -110 whilst initialising SD card

解决方案:

  1. 检查设备树sdmmc节点配置
  2. 验证硬件原理图电压切换电路
  3. 更换SD卡测试

问题2:启动卡在uboot阶段

MMC: no card present

解决方案:

// 修改uboot配置 + CONFIG_MMC_DW_ROCKCHIP=y + CONFIG_MMC_SDHCI_ROCKCHIP=y

4. SD卡制作工具实操

使用瑞芯微SD卡制作工具V1.78的具体步骤:

  1. 工具准备:

    • 下载SD_Firmware_Tool_v1.78.zip
    • 解压后以管理员身份运行SD_Firmware_Tool.exe
  2. 制作流程:

    1. 插入SD卡到读卡器
    2. 选择正确的磁盘设备(务必确认避免误操作)
    3. 勾选"SD启动"模式
    4. 选择编译生成的update.img
    5. 点击"开始创建"按钮

操作界面关键区域说明:

+-----------------------------+ | ① 设备选择下拉框 | | ② 工作模式单选按钮 | | ③ 固件选择按钮 | | ④ 进度条显示区域 | | ⑤ 操作日志输出框 | +-----------------------------+

5. 上电验证与调试

5.1 启动流程检查

正常启动日志应包含以下关键节点:

[ 0.000000] Booting Linux on physical CPU 0x0000000000 [ 0.220000] mmc1: new high speed SDHC card [ 0.250000] mmcblk1: mmc1:0001 SD32G 29.7 GiB [ 1.800000] android: mounting /mnt/runtime/default/emulated

5.2 常见故障排查表

现象可能原因排查方法
卡在uboot设备树配置错误检查sdmmc节点status
反复重启电源不稳定测量3.3V/1.8V电压
识别为只读文件系统损坏重新制作SD卡
速度异常慢时钟配置问题检查max-frequency参数

6. 高级配置与优化

6.1 双启动配置方案

通过修改parameter.txt实现SD卡与eMMC双启动:

FIRMWARE_VER: 1.0 MACHINE_MODEL: RK3576 MACHINE_ID: 007 BOOT_FROM: sdmmc

启动优先级配置:

  1. 同时插入SD卡和eMMC时
  2. 修改BOOT_FROM字段:
    • sdmmc:优先SD卡
    • emmc:优先eMMC
    • auto:自动选择

6.2 性能优化参数

在kernel的dts中添加SD卡性能优化配置:

&sdmmc { clock-frequency = <150000000>; supports-sd; bus-width = <4>; cap-mmc-highspeed; cap-sd-highspeed; disable-wp; sd-uhs-sdr104; vqmmc-supply = <&vccio_sd>; vmmc-supply = <&vcc_sd>; };

7. 工程实践建议

  1. 批量生产方案:

    • 使用dd命令制作镜像模板:
    dd if=/dev/sdb of=sd_boot.img bs=4M status=progress
    • 通过USB集线器同时烧录多张SD卡
  2. 温度适应性测试:

    • 工业级应用需验证-40℃~85℃工作范围
    • 关注低温下的SD卡初始化成功率
  3. 长期运行稳定性:

    • 建议启用内核错误检测:
    CONFIG_MMC_DEBUG=y CONFIG_MMC_BLOCK_DEFERRED_RESUME=y

提示:实际项目中遇到SD卡频繁掉卡的情况,可尝试在电源滤波电路添加100nF+10uF组合电容,这种设计在多个工业现场验证有效。

相关新闻

  • 域名定价陷阱揭秘:如何避免建站公司的高价域名套路
  • 解锁音乐自由:3分钟掌握NCM音乐格式转换的终极方案
  • 2026中山小鹏G6音响升级观察:乌托邦声场为什么要系统搭建?

最新新闻

  • STM32C552定时器输入捕获实现高精度频率测量技术详解
  • Noah-MP陆面过程模型建模方法与站点、区域模拟技术
  • Python-docx 批量处理 Word 文档:3 步自动识别并格式化 JSON 代码块
  • 五声调式音程关系解析:3个大二度与2个小三度的听觉密码
  • 邢台黄金回收安全透明渠道汇总|2026 年 7 月实时大盘金价,襄都 / 信都 / 任泽 24 小时上门实体门店白名单 - 不晚生活号
  • Altium Designer 24 高速PCB布线:5步完成阻抗控制与差分对长度匹配

日新闻

  • OpenClaw本地化部署:xParse文档解析引擎实战指南
  • 蓝牙 5.4 协议栈深度解析:从 HCI 到 L2CAP 的 7 层数据流
  • PyTorch nn.CrossEntropyLoss 实战:3种权重设置与标签平滑对比(附代码)

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号