[RK-Linux] RK3399启动流程详解

本文详细介绍了基于RK3399的SoC启动流程,从BootROM的硬件初始化到SPL的加载,再到整个启动流程。讲解了BootROM如何初始化硬件并加载程序到SRAM,以及SPL的不同加载方案。同时,文章还深入探讨了RK3399的地址空间分布和Rockchip的引导流程,包括TPL/SPL方式和官方固件方式,涉及到idbloader.img、u-boot.img、u-boot.itb和trust.img等关键文件的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、SoC启动流程

1.1 BootROM介绍

在嵌入式系统中,SoC(System on Chip)制造商通常会在芯片内部集成一段固化的启动代码,这段代码被称为BootROM,它负责系统的最初级启动程序。

1.1.1 初始化硬件

当SoC上电时,首先由BootROM接管系统,其首要任务是初始化硬件环境。这包括配置CPU、关闭看门狗定时器、初始化系统时钟以及初始化必要的外设,如USB控制器、MMC控制器、NAND控制器等。

1.1.2 加载程序到SRAM

在新的SoC应用中,硬件设计者会根据SoC的特性设计电路原理图,并选择合适的存储设备(如eMMC、NAND、Nor、SDCard等)和内存(如SDRAM、DDR等)进行外挂。随后,硬件制作完成后,需要将可执行的二进制文件烧写到这些外部存储设备上。

系统上电启动时,BootROM除了负责初始化硬件外,还需从外部存储器中读取后续可执行程序到内部内存中执行。由于SoC制造商无法预知用户使用的具体DDR类型,因此BootROM通常会先将程序加载到内部的一个小容量SRAM中执行,而不是直接加载到DDR。

为了确定从哪个外部存储器加载程序&#x

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式逍遥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值