首页/新闻资讯/正文详情

11 - U-Boot SPL(Secondary Program Loader)原理

发布时间:2026/9/25 5:07:09 来源:云帆数科 栏目:资讯中心
11 - U-Boot SPL(Secondary Program Loader)原理
文章目录一、概述二、形象比喻:工地上的先遣队三、SPL 在启动链中的位置四、SPL 核心函数分析4.1 board_init_f -- SPL 入口4.2 spl_next_stage -- 决定下一阶段4.3 rockchip_stimer_init -- 安全定时器五、SPL 启动设备检测六、SPL 内存布局七、SPL 配置关键选项📝 本章小结🏠 课后练习从这一章开始进入 U-Boot 启动链最核心的部分之一–SPL。前面第十节把 RK 平台的 U-Boot 启动流程过了一遍,大家应该已经对"BootROM - TPL - SPL - U-Boot Proper - Kernel"这条链有了印象。这一章专门拆 SPL 这一个环节,把它掰开揉碎讲透。要解决四个问题:为什么需要 SPL;SPL 如何在 DDR 中运行;DDR 初始化到底谁来做;RK3506 的 SPL 怎么决定下一阶段是加载 U-Boot 还是直接启动内核。这四个问题对应后面第四节的源码分析。开讲前先在板子上抓一份完整的启动日志,对照着日志听会更有感觉,因为会反复提到日志里那行"U-Boot SPL board init"。先接上一章的线:上节课编译过程里编出来的u-boot-spl.bin、u-boot-tpl.bin,就是本章要讲的东西。一、概述先看概述,把 SPL 在整个启动链里的定位搞清楚。SPL(Secondary Program Loader)是 U-Boot 启动链中最关键的"中间人"–它运行在 DDR 中(CONFIG_SPL_TEXT_BASE=0x03f00000),负责加载完整的 U-Boot(或直接加载内核)到 DDR 中运行。理解 SPL 的工作原理,是调试启动问题、优化启动时间的基础。一个反直觉的点先记住:SPL 不是跑在 SRAM 里的,而是跑在 DDR 中的。很多人直觉以为 SPL 这种早期代码一定在 SRAM,但 RK3506 不是–它能跑在 DDR 里,是因

相关推荐

10-U-Boot编译过程详解:三阶段流水线
10-U-Boot编译过程详解:三阶段流水线

文章目录 一、概述 二、形象比喻:同一部书稿的三个版本 三、编译命令速查 四、三阶段编译流程 五、关键编译产物 六、编译参数分析 七、增量编译技巧 📝 本章小结 🏠 课后练习 上一章拆了 U-Boot 的目录结构,知道了源码放在哪儿、配置文件叫什么。这一章解决一个更落地的问… · 2026/9/25 5:07:09

Agent技能体系实战:从0到1搭建稳定可靠的智能体工具层
Agent技能体系实战:从0到1搭建稳定可靠的智能体工具层

上周有朋友跟我吐槽,说他的Agent项目卡在一个很尴尬的阶段——大模型该理解的理解了,该生成的也生成了,但真让它去执行任务,总是差那么一口气:让它查个天气它把城市名传错,让它订个会议室它分不清时间格式&… · 2026/9/25 5:07:08

Atlas 300V加速卡部署YOLO全流程:从硬件到推理实战指南
Atlas 300V加速卡部署YOLO全流程:从硬件到推理实战指南

我之前在好几个项目里都踩过Atlas相关的坑,这次借着部署YOLO的实践,把从硬件选型到推理落地的完整链路梳理一遍。无论你是刚拿到一张Atlas 300V 24G加速卡,还是已经在用但推理效果不理想,这篇文章都会比官方文档更接地气一些。1. … · 2026/9/25 5:07:02

Atlas 300V 24G部署YOLO推理全流程:选型、环境搭建与调优实践
Atlas 300V 24G部署YOLO推理全流程:选型、环境搭建与调优实践

前阵子刚拿到一台带Atlas 300V 24G推理卡的服务器,折腾了近一周,把YOLOv5s和YOLOv8s的推理链路完整跑通。这卡最近在技术群和私信里被问的频率很高,问题基本集中在两个:“atlas部署yolo到底怎么搞”和“atlas 300v 24g 是运算加速… · 2026/9/25 5:36:39

FAST 组件状态调色板(ComponentStateColorPalette)完全指南:基于 @microsoft/fast-colors 为 UI 组件生成可控色板
FAST 组件状态调色板(ComponentStateColorPalette)完全指南:基于 @microsoft/fast-colors 为 UI 组件生成可控色板

前端UI组件 【免费下载链接】fast The adaptive interface system for modern web experiences. 项目地址: https://gitcode.com/gh_mirrors/fa/fast 点击查看 免费下载 本文以 fast-colors 1.x API 参考 中的 ComponentStateColorPalette 类文档为主体&#xff0c… · 2026/9/25 5:36:39

NURBS 3.0.11在VS2010下的编译集成与工程避坑指南
NURBS 3.0.11在VS2010下的编译集成与工程避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 5:36:33

zyfun 龙芯 LoongArch 平台 Electron 环境搭建与打包指南
zyfun 龙芯 LoongArch 平台 Electron 环境搭建与打包指南

桌面应用音视频即时通讯 【免费下载链接】zyfun 跨平台桌面端视频资源播放器,免费高颜值. 项目地址: https://gitcode.com/gh_mirrors/zy/zyfun 点击查看 免费下载 (文章内容同上,此处为完整输出) 赞 分享 桌面应用音视频即时通… · 2026/9/25 5:36:33

活码系统设计:动态二维码的生命周期管理与高并发路由实现
活码系统设计:动态二维码的生命周期管理与高并发路由实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 5:36:33

wp-calypso 中的 Quick Start(Business Concierge)预约流程:路由设计、多步向导组件与数据层实现
wp-calypso 中的 Quick Start(Business Concierge)预约流程:路由设计、多步向导组件与数据层实现

前端CMS 【免费下载链接】wp-calypso The JavaScript and API powered WordPress.com 项目地址: https://gitcode.com/gh_mirrors/wp/wp-calypso 点击查看 免费下载 本篇技术文章以 client/me/concierge/README.md 为骨架,结合 wp-calypso(T… · 2026/9/25 5:36:21

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码