关于uboot 中nand_spl 启动

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

最近有碰到uboot 中nand_spl启动,说说我的理解!

写在前面。

1.从名字上来看,他肯定和nand有关系的。spl是什么,我网查了一下,没找到,姑且理解为second process level。

2.u-boot-spl.bin这个文件执行完毕后,就会跳转到u-boot.bin这里。其实,一般情况下,我们的arm板的bootloader只需要一个就可以了,为什么会出现两个bin文件呢?

我是这样理解的。大牛可路过,欢迎批评。u-boot-spl这个文件的主要作用是将nand初始化,然后将u-boot.bin这个文件搬运到sdram里面。u-boot-spl村子的原因可能是

现在得u-boot集成的功能越来越多,俨然就是一个缩小版的linux操作系统。编译后文件远超过4k大小,达到400k左右,一般的soc板级内存只有4k,这就造成u-boot装不下。nand-spl

这个文件很小,他的大小只有不到4k,他可以将u-boot这个文件搬运到sdram里面。然后u-boot再去搬运linux kernel。

上代码:


uboot版本: 2013-04-r2

一个文件是start_nand_spl.S,位于nand_spl/

uboot启动流程概述_uboot学习之uboot启动流程简述 一、uboot启动分为了三个阶段BL0、BL1、BL2;BL0表示上电后运行ROM中固化的一段程序,其中ROM中的程序是厂家写进去的,所以具体功能可能根据厂家芯片而有所不同。功能如下:初始化系统时钟、特殊设备的控制器、启动设备、看门狗、堆栈、SRAM等硬件;验证B1镜像,并且加载BL1镜像到SRAM中,然后跳转到BL1镜像的地址上。BL0需要将BL1加载到对应的RAM上,这就涉及到它的启动模式,详... 阅读详情

相关推荐

从 TF卡升级 f1c100s spinand

开发GUI 便宜好用的ARM 不多见了,f1c100s 作为首选,搜索相关spinand 启动支持 的uboot 帖子大多相当久远,随着uboot的升级 已经支持spinand 启动,但是spl 部分支持任然需要查询相关资料才行;得到 u-boot-sunxi-with-spl.bin ,准备一张TF 卡,将之烧入,并且格式化为FAT 格式 方便烧入 spinand 中;启动后首先应该加载的TF 卡uboot ,进入uboot 后输入命令 mtd list ,可以扫描到 spinand

qq_40545297的博客 1127

Linux驱动学习--Android项目之芯片启动流程

目录 一、引言 二、芯片启动流程分析 ------> BOOTROM ------> SPL ------> 启动流程 三、常见的存储设备 一、引言 做Android项目开发已经有段时间了,回想起来还没好好整理过芯片上电开机的一个流程,可能是相关的SDK已经比较完善吧,不过这块还是很有必要了解一下的,今天就来整理一下,期间也会介绍BOOTROM等相关部件 二、芯片启动流程分析 我们知道,刚出场的芯片或者开发板,都是还未烧写程序的一个状态,但是上电之后会直接进入maskrom模式,这其实就是

文艺小少年的博客 585

Rockchip Uboot SPL启动优化:精简存储介质探测顺序以加速启动

本文针对Rockchip平台设备启动缓慢问题,深入剖析了Uboot SPL阶段存储介质探测顺序对启动时间的影响。通过以RK3568为例,详细介绍了如何通过精简设备树中的`spl-boot-order`列表,移除不必要的存储控制器探测,从而显著缩短SPL启动时间。该方法能有效优化嵌入式设备的启动速度,提升产品体验。

weixin_29174385的博客 293

linux系统启动过程

结合代码分析linux系统的一般启动过程

F8_11的博客 635

U-BOOT小全(三):SPL框架

ARM的启动流程:(RomBoot是固化在SoC内部的。因为芯片厂商固化的ROM支持从nandflash, SDCARD等外部介质启动,所以RomBoot会根据硬件电路的启动模式选择读取对应介质一小段数据到内存。RomBoot读取多少才算合适呢?每个用户的需求不一样,大小也不能确定。很多芯片厂商干脆就只读4K/8K/16K等很小一段数据。这段数据你可以存放芯片初始化,读取介质数据到内存的工作是完全没有问题的。就这样在我们的软件界就产生了一个SPL概念,RomBoot读取这一小段代码就叫spl

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 3447

[s3c2416x移植u-boot-2015.10] 让u-boot-2015.10支持spl nand启动

s3c2416 移植 u-boot-2015.10 之支持nand-spl方式启动

开发者 1285

GNU ARM汇编--(十九)u-boot-nand-spl启动过程分析

在理解bootloader后,花些时间重新学习了开源软件的makefile和相关脚本之后,自己的u-boot移植工作也比较顺利的完成了:         移植环境:         ubuntu 12.04         U-Boot 2012.07 (Nov 28 2012 - 20:05:48)         arm-none-linux-gnueabi-gcc (Sourcery

BaikalHU 1万+

uboot之makefile源码

被export声明的变量有:HOSTARCH HOSTOS TOPDIR SRCTREE OBJTREE REMOTE_BUILD obj src CROSS_COMPILE。 总结:花了一个多的星期,整篇makefile应该算看懂了。也学到了很多,比如一些基本的shell脚本命令。当然还有make的用法啦。 另外源码目录下的mkconfig与config.mk也应该要了解。这三个文件都是互相

juxianliyu的专栏 455

uboot分析(1)

硬件平台:NUC972 uboot版本:2013.4 第一阶段:编译nand_spl,引导uboot,宏CONFIG_NAND_SPL打开。//arch/arm/cpu/arm926ejs/start.S .globl _TEXT_BASE _TEXT_BASE: .word CONFIG_SYS_TEXT_BASE //宏CONFIG_SYS_TEXT_BASE 在两个阶段都有

242

RK3568启动慢?手把手教你精简Uboot SPL的存储介质探测顺序

本文详细介绍了如何通过精简RK3568的Uboot SPL存储介质探测顺序来提升30%的启动速度。针对使用eMMC作为唯一存储介质的设备,优化SPL配置可显著减少不必要的探测时间,适用于智能硬件和工业控制等场景。文章提供了从原理分析到实际操作的完整指南,包括设备树修改、编译部署和效果验证。

weixin_30872157的博客 441

新唐NUC980实战指南:SPI NAND启动优化与U-Boot环境配置详解

本文详细介绍了新唐NUC980开发板的SPI NAND启动优化与U-Boot环境配置,涵盖硬件准备、U-Boot编译、烧录工具使用、环境变量设置、Linux内核适配及性能优化等关键步骤。通过实战案例和常见问题排查指南,帮助开发者高效完成嵌入式系统开发。

weixin_29193359的博客 489

AM335x串口烧写uboot

The release package does not contain thebinary for UART boot. Please follow the steps mentioned here for compiling u-bootand use the spl/u-boot-spl.bin file that is produced.(已有文件u-boot-spl.bin,u-b

field42zhw的专栏 6082

全志V3S嵌入式驱动开发(spi-nand image制作)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 上一篇文章,我们说到了spi-nor image的制作和输入。相比较spi-nor,spi-nand虽然在稳定性上面差一点,但是价格上面有很大的优势。举例来说,一般32M的spi-nor大约在6-7元左右,但是128M的spi-nand只需要3-4元,因此对于客户来说,哪怕实际产品中有一些简单的视频和音频文件,只要使用的是spi-nand,实际使用中也没有多大的关系。

嵌入式-老费,一个分享专业嵌入式知识的blog 1731

一篇搞懂RK3568从启动到OS全过程:存储角度

从存储器的角度理解RK3568上电启动过程:BootROM->SRAM(TPL)->SRAM(SPL)->DDR(SRAM) ->DDR(UBoot)->DDR(Kernel)

weixin_43390831的博客 242

Rockchip平台Android系统OTA升级安全加固:如何为uboot配置多备份与调整分区大小

本文深入探讨Rockchip平台Android系统OTA升级安全加固方案,重点解析如何通过配置`CONFIG_SPL_FIT_IMAGE_MULTIPLE`和`CONFIG_SPL_FIT_IMAGE_KB`参数实现uboot多备份与分区优化,显著提升系统鲁棒性。文章结合实战案例,详细介绍了FIT镜像多备份机制、分区表调整策略以及OTA升级流程的安全增强方法,为嵌入式设备开发者提供了一套完整的防变砖解决方案。

weixin_33672109的博客 413

告别迷茫!全志A33的uboot、fastboot与系统分区关系详解(附fdisk查看隐藏分区技巧)

本文深入解析全志A33嵌入式系统的启动流程,详细讲解uboot、fastboot与系统分区的关系,并提供使用fdisk查看隐藏分区的实用技巧。通过分区布局详解和工具命令解析,帮助开发者掌握嵌入式系统底层调试与优化方法,解决常见启动问题。

weixin_30542079的博客 386

linux驱动实践(二)--linux3.0.46移植和NFS根文件系统

将近两个月之前就准备开始了,但是在移植linux时候发现编译出来的Image有2.4M之大,而开发板提供的uboot最大只能烧写最大2M。所以本来准备跳过uboot的,但是如果自己不搞个好点的bootloader,我的kernel都烧不了。索性花了一个多月的时间移植了u-boot-2012.07,采用nand-spl方式启动的。可以支持tftp下载,那么我的开发流程就是用开发板自带的nor f

BaikalHU 6227

uboot系统分析

一、前言 uboot是一套小系统开源系统,在网络上我们能够找到对这个系统较多的分析,展锐团队在此基础 上适配了对应芯片的开机流程。采用了 uboot 系统, 和其它平台类似,虽然 u boot 本身就是双启动流程即( s pl -->uboot ),但是展锐依然 脱离 uboot 实现 自己 S PL 镜像, 因此小系统的组成变为 s pl/uboot 组合,和高通 xbl/uefi 及 M TK 平台 PBL /lk 类似 。 唯一的区别在于 U BOOT 的跳转过程。展锐平台的启动流程如下:

chbgoon的博客 1863

一步步玩pcDuino3--mmc下的bootloader

        pcDuino3下支持mmc启动。官方的Uboot是採用SPL框架实现的,由于内部的SRAM空间达到32K,我们全然能够在这32K空间内编写一个完整可用小巧的bootloader来完毕引导Linux kernel的目的。     我们首先介绍下SPL框架,能够先看下《GNU ARM汇编--(十八)u-boot-採用nand_spl方式的启动方法》和《GNU ARM汇编...

weixin_33968104的博客 158
上一篇: android 调试 wpa_supplicant 小技巧
下一篇: 配置网络文件系统
jiang__jiang
博客等级 码龄17年 2粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值