新闻详情

新闻详情

首页 / 资讯中心 / 详情

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

发布时间:2026/9/25 5:07:05来源:尧图网络
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 里,是因
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

OES Plus刷Armbian后SATA硬盘系统扩容实战指南 2026/9/25 5:42:46

OES Plus刷Armbian后SATA硬盘系统扩容实战指南

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

阅读更多 →
MATLAB量子算法实现:从矩阵运算拆解叠加态与纠缠 2026/9/25 5:42:40

MATLAB量子算法实现:从矩阵运算拆解叠加态与纠缠

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

阅读更多 →
WPScan 插件版本动态检测解析:以 Pirate Forms 的 CHANGELOG.md 指纹文件为例 2026/9/25 5:42:34

WPScan 插件版本动态检测解析:以 Pirate Forms 的 CHANGELOG.md 指纹文件为例

网络安全漏洞扫描渗透测试应用安全CLI 【免费下载链接】wpscan WPScan WordPress security scanner. Written for security professionals and blog maintainers to test the security of their WordPress websites. Contact us via contactwpscan.com 项目地址: ht…

阅读更多 →
BAML 函数调用链基准测试解析:call-chain-100x10k 的设计原理与运行方法 2026/9/25 5:42:33

BAML 函数调用链基准测试解析:call-chain-100x10k 的设计原理与运行方法

编程语言AI Agent编译器CLI人工智能 【免费下载链接】baml The programming language for agents 项目地址: https://gitcode.com/gh_mirrors/ba/baml 点击查看 免费下载 导读 本文围绕 BAML 语言内置基准测试工具 speedtest 中的一个核心负载——call-chain-100x…

阅读更多 →
PaddleNLP 检索重排实战:基于 RocketQA CrossEncoder 单塔模型的全流程训练、评估与 Serving 部署指南 2026/9/25 5:42:27

PaddleNLP 检索重排实战:基于 RocketQA CrossEncoder 单塔模型的全流程训练、评估与 Serving 部署指南

人工智能大模型预训练微调LoRARLHF强化学习分布式训练 【免费下载链接】PaddleNLP Easy-to-use and powerful LLM and SLM library with awesome model zoo. 项目地址: https://gitcode.com/gh_mirrors/pa/PaddleNLP 点击查看 免费下载 本文聚焦 PaddleNLP 神经语义…

阅读更多 →
openapi-typescript Node.js API 实战指南:程序化类型生成、transform 钩子扩展与源码管线解析 2026/9/25 5:42:27

openapi-typescript Node.js API 实战指南:程序化类型生成、transform 钩子扩展与源码管线解析

开发工具代码生成后端 【免费下载链接】openapi-typescript Generate TypeScript types from OpenAPI 3 specs 项目地址: https://gitcode.com/gh_mirrors/op/openapi-typescript 点击查看 免费下载 本文基于 openapi-typescript 仓库中的 Node.js API 文档&#x…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉