rk3568uboot启动流程分析
1. BootROM 载入 TPL 到 SRAMBootROM 是芯片固化代码无源码。但它调用的第一个函数在 U-Boot 中相关源码 bootrom.c2. TP 在 SRAM 中运行初始化 DDR相关源码tpl.c3. BootROM 加载 SPL 到 DDRBootROM 收到 TPL 返回的 0 后从存储介质加载 spl.bin。此时 DDR 已经可用直接写到 DDR。RK3568 defconfig 中确认了这一布局CONFIG_TPL_RAMy ← 第 164 行TPL 的 RAM 驱动CONFIG_ROCKCHIP_TPL_INIT_DRAM_TYPE0 ← 第 168 行TPL 初始化的 DDR 类型CONFIG_SPL_SEPARATE_BSSy ← 第 41 行SPL 的 BSS 段独立DDR 中45SPL 初始化外设跳过 DDR 加载 ATF/U-Boot/FDT然后进入 spl 框架的 board_init_ruboot/common/spl/spl.c函数board_init_r()6. ATFBL31→ U-Boot ProperATF 源码在 rkbin/ 中是独立编译的二进制。U-Boot 只负责加载和跳转。ATF 做的事不在 U-Boot 代码中但理解流程很重要ATF 入口EL3├─ 初始化安全监控Secure Monitor├─ 配置 PSCICPU 电源管理├─ 初始化 GIC中断控制器的安全侧├─ 切换到 EL2非安全态└─ 跳转到 spl_image.entry_point_bl33 → U-Boot Proper7. U-Boot Proper 完整初始化分为两个阶段7a重定位前 board_init_f文件u-boot/common/board_f.c数组init_sequence_f[] → 第 825 行开始setup_mon_len → 计算 U-Boot 自身大小fdtdec_setup → 设备树基本解析initf_malloc → 分配临时堆arch_cpu_init → CPU 初始化initf_dm → ★ 加载基础驱动串口、GPIO 等timer_init → 定时器env_init → 环境变量占位serial_init → 串口console_init_f → 第一阶段控制台输出受限dram_init → ★ 获取 DDR 大小和 bank 布局setup_dest_addr → 计算重定位目标地址reserve_mmu → 保留 MMU 页表空间reserve_video → 保留显示缓冲区reserve_uboot → 保留 U-Boot 自身空间reserve_malloc → 保留堆空间setup_reloc → 设置重定位参数然后执行 relocate_code()把 U-Boot 自身从当前位置拷贝到 DDR 高端地址通常末尾附近跳转到新7b重定位后 board_init_r文件u-boot/common/board_r.c数组init_sequence_r[] → 第 821 行开始initr_caches ★ 使能 I/D Cache执行速度质的飞跃initr_malloc ★ 重定位后的完整堆bidram_initr BIDRAM 初始化 — 标记 ATF/OP-TEE 占用的内存sysmem_initr 系统内存管理 — 防止 U-Boot 破坏固件区域initr_dm ★ 完整 DM 驱动模型加载全部外设驱动在线board_init ★★★ board.c:553 — Rockchip 板级初始化├─ board_debug_init() 调试串口 热键├─ optee_client_init() OP-TEE 客户端通信├─ clks_probe() ★ 时钟树初始化总线时钟、外设时钟├─ regulators_enable() ★ 电源域开启GPU、VPU、USB 等├─ io_domain_init() IO 电压域配置├─ set_armclk_rate() ARM 核心频率设置└─ dvfs_init() DVFS 动态调频调压initr_mmc ★ eMMC/SD 卡驱动board_late_init ★★ board.c:478 — 板级延迟初始化├─ rockchip_set_ethaddr() 从 Vendor 分区读取 MAC├─ rockchip_set_serialno() 从 eFuse 读取序列号├─ rockchip_show_logo() ★ 显示开机 LOGO├─ env_fixup() 环境变量修正└─ cmdline_handle() 内核命令行拼接console_init_r ★ 完整终端可以敲命令了run_main_loop ★★★ 进入主循环 → autoboot 倒计时步骤 8U-Boot 加载 Linux Kernel移交执行文件u-boot/arch/arm/mach-rockchip/board.c// ★ autoboot 超时或输入 boot 命令后// [1042] 解析启动镜像board_do_bootm()└→ android_bootloader_boot_kernel() // Android boot.img 格式└→ 或 boot_fit / boot_uimage // FIT/uImage 格式// [1432] 拼接内核命令行board_fdt_chosen_bootargs()├─ bootargs_add_dtb_dtbo() // 从设备树提取 bootargs├─ bootargs_add_partition() // mtdparts/blkdevparts├─ bootargs_add_fwver() // androidboot.fwver...└─ bootargs_add_android() // AB 系统 slot 参数// [1179] 跳转前最后清理board_quiesce_devices()├─ atags_destroy() // 清理 ATAGS├─ misc_decompress_cleanup() // 清理硬件解压器└─ hotkey_run(HK_CLI_OS_GO) // 热键最终回调// [708] ★ 最终跳转arch_preboot_os()└─ images-ep 内核入口地址 // 修正 2MB 对齐└─ 跳转CPU 从 EL2 进入 Linux

相关新闻

计算机毕业设计之基于springboot的毕业生闲置物品交易系统

计算机毕业设计之基于springboot的毕业生闲置物品交易系统

自从新冠疫情爆发以来,各个线下实体越来越难做,线下购物的人也越来越少,随之带来的是一些不必要的浪费,尤其是即将毕业的大学生,各种用品不方便携带走导致被遗弃,造成大量的浪费。本系统目的就是让毕业生的…

2026/7/29 22:44:35 阅读更多 →
multiyolov5推理实战:使用detect.py实现实时视频流的目标检测与语义分割可视化

multiyolov5推理实战:使用detect.py实现实时视频流的目标检测与语义分割可视化

multiyolov5推理实战:使用detect.py实现实时视频流的目标检测与语义分割可视化 【免费下载链接】multiyolov5 joint detection and semantic segmentation, based on ultralytics/yolov5, 项目地址: https://gitcode.com/gh_mirrors/mu/multiyolov5 multiyo…

2026/7/29 22:44:35 阅读更多 →
2026论文双检避坑指南|实测Paperxie AI写作如何规避查重+AIGC检测风险

2026论文双检避坑指南|实测Paperxie AI写作如何规避查重+AIGC检测风险

官方网站:https://www.paperxie.cn近两年,国内高校毕业论文审核机制全面升级,从单一知网查重,迭代为「文字重复率AI生成检测」双审机制。很多同学论文重复率达标,却因AI痕迹过重被判定为非人工写作,直接驳回…

2026/7/29 22:44:35 阅读更多 →

最新新闻

单片机计算机毕设之基于嵌入式技术的温度阈值可调加热设备设计 基于 STM32 单片机的温度检测与恒温控制系统(011201)

单片机计算机毕设之基于嵌入式技术的温度阈值可调加热设备设计 基于 STM32 单片机的温度检测与恒温控制系统(011201)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/29 23:00:47 阅读更多 →
单片机计算机毕设之基于 STM32 的声光提醒型环境监测电子钟实现 基于 STM32 的实时时钟与环境传感综合系统设计(011101)

单片机计算机毕设之基于 STM32 的声光提醒型环境监测电子钟实现 基于 STM32 的实时时钟与环境传感综合系统设计(011101)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/29 23:00:47 阅读更多 →
单片机计算机毕设之基于单片机的水产养殖水质双参数监测系统设计 基于 STM32 的手动自动切换型水质报警装置设计(011001)

单片机计算机毕设之基于单片机的水产养殖水质双参数监测系统设计 基于 STM32 的手动自动切换型水质报警装置设计(011001)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/29 23:00:47 阅读更多 →
无威不至,奔赴下一个十年!东威新能源十周年盛典圆满落幕

无威不至,奔赴下一个十年!东威新能源十周年盛典圆满落幕

2026年7月24日,东威新能源十周年品牌战略升级暨新品发布会在成都盛大启幕。本次发布以「回望十年沉淀、焕新品牌面向未来」为核心主线,不止是一场十周年庆典与新品上市会,更是面向下一个十年,正式宣告「新东威」全面登场&#xff…

2026/7/29 23:00:47 阅读更多 →
模擬不同國家真實用戶,ThorData 哪個代理最合適?

模擬不同國家真實用戶,ThorData 哪個代理最合適?

如果你的目標是模擬不同國家的真實用戶,ThorData 的住宅代理通常是最合適的選擇。住宅 IP 更接近真實家庭網路環境,適合用於 SEO 排名檢查、廣告驗證、電商價格監測、公開資料收集、本地化內容測試與跨國市場觀察。 對需要合規、安全、價格可控住宅 IP …

2026/7/29 23:00:47 阅读更多 →
5分钟搞定:永久免费使用IDM下载神器的完整指南

5分钟搞定:永久免费使用IDM下载神器的完整指南

5分钟搞定:永久免费使用IDM下载神器的完整指南 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script 还在为Internet Download Manager的30天试用期发愁吗&…

2026/7/29 22:59:47 阅读更多 →

日新闻

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻