uboot的作用和启动方式

声明:本文由个人学习过程中整理而成,转载请注明出处。

1、uboot主要的作用就是启动操作系统内核。

linux内核设计成可以被传参。

可以在uboot中准备好要传给linux内核的一些参数,然后放在内存中特定位置等待linux内核获取。

内核启动后会到特定位置去取uboot留给他的参数,然后内核解析这些参数用来指导linux内核的启动过程。

2、uboot的启动方式:uboot大小随意,假定为200KB。

启动过程:先开机上电后BL0(iROM)运行,BL0会加载外部启动设备中的uboot的前16KB(BL1)到SRAM中去运行,BL1运行时会初始化DDR,然后将整个uboot搬运到DDR中,然后用一句长跳转(从SRAM跳转到DDR)指令从SRAM中直接跳转到DDR中继续执行uboot直到uboot完全启动。

3、S5PV210的启动方式:内置SRAM(iRAM)的容量是96KB,内置的NorFlash(iROM)的容量是64KB。大致可以分三步。

第一步:CPU先读取运行iROM里面设定好的代码,这一段代码会做一些基本的初始化(比如关看门狗...),然后选择判断启动模式,在相对应的外部存储器中读取一部分代码(BL1,大小16KB)到iRAM。

第二步:运行、执行读取到iRAM中的BL1,负责将BL2(大小80KB)读取到iRAM中。

第三步:运行、执行读取到iRAM中的BL2,负责初始化DRAM,然后将OS读取到DRAM中启动OS。

参考资料:《朱老师物联网大讲堂---ARM裸机全集》

时间: 2024-12-16 13:34:28

uboot的作用和启动方式的相关文章

S5PV210使用的启动方式

2017年12月25日1. S5PV210存储配置: +内置64KB NorFlash(上电不需要初始化)(叫IROM 内部外存):用于存储预先设置的BL0; + SoC内置96KB SRAM(上电不需要初始化)(叫IRAM) : 用于加载,存储,运行BL1; +外接的大容量NandFlash (硬盘,上电需要初始化) --如SD卡,iNand等,用于存储uboot + 外接大容量DRAM(动态内存,上电需要初始化) :被BL1初始化,并通过BL2将OS从NandFlash读取到DRAM中; 2

为什么要有uboot?带你全面分析嵌入式linux系统启动过程中uboot的作用

1.为什么要有uboot 1.1.计算机系统的主要部件 (1)计算机系统就是以CPU为核心来运行的系统.典型的计算机系统有:PC机(台式机+笔记本).嵌入式设备(手机.平板电脑.游戏机).单片机(家用电器像电饭锅.空调) (2)计算机系统的组成部件非常多,不同的计算机系统组成部件也不同.但是所有的计算机系统运行时需要的主要核心部件都是3个东西: CPU + 外部存储器(Flash/硬盘) + 内部存储器(DDR SDRAM/SDRAM/SRAM) 1.2.PC机的启动过程 (1)部署:典型的PC

服务【启动方式】生命周期 通讯

基本概念 Service通常总是称之为"后台服务",其中"后台"一词是相对于前台而言的,具体是指其本身的运行并不依赖于用户可视的UI界面,因此,从实际业务需求上来理解,Service的适用场景应该具备以下条件: 1.并不依赖于用户可视的UI界面(当然,这一条其实也不是绝对的,如前台Service就是与Notification界面结合使用的) 2.具有较长时间的运行特性 服务的两(三)种启动方式 1.startService方式启动服务 最核心的一句话:当Client

Activity启动方式

Activity启动方式有四种,分别是: standard singleTop singleTask singleInstance 可以根据实际的需求为Activity设置对应的启动模式,从而可以避免创建大量重复的Activity等问题. 设置Activity的启动模式,只需要在AndroidManifest.xml里对应的标签设置Android:launchMode属性,例如: <activity android:name=".A1" android:launchMode=&q

Samsung_tiny4412(笔记)--&gt;linux 3.5,U-Boot,Busybox,SD卡启动环境搭建

/*********************************************************************************** * * Samsung_tiny4412(笔记)-->linux 3.5,U-Boot,Busybox,SD卡启动环境搭建 * * 声明: * 1. 以下所有的shell命令都是在root权限下运行的; * 2. minicom(U-Boot)指的是用minicom连接开发板作为U-Boot的终端; * 3. 文中在需要往文件中

Activity四种启动方式

Activity启动方式有四种,分别是: standardsingleTopsingleTasksingleInstance 可以根据实际的需求为Activity设置对应的启动模式,从而可以避免创建大量重复的Activity等问题. 设置Activity的启动模式,只需要在AndroidManifest.xml里对应的<activity>标签设置android:launchMode属性,例如: [html] view plaincopy <activity android:name=&q

Android service介绍和启动方式

1.Android service的作用: service通常是用来处理一些耗时操作,或后台执行不提供用户交互界面的操作,例如:下载.播放音乐. 2.Android service的生命周期: service生命周期没有activity生命周期那么复杂,它只有onCreate().onStart().onDestroy()三个方法,当第一次启动Service时,先后调用了onCreate(),onStart()这两个方法,当停止Service时,则执行onDestroy()方法,这里需要注意的是

u-boot 内核、文件系统下载方式

1 准备工作 1.1 TFTP server 上位机使用的是Ubuntu系统,TFTP server的安装方式如下: $ sudo apt-get install tftpd-hpa 打开tftp的配置文件,路径为:/etc/default/tftpd-hpa,如下: TFTP_USERNAME="tftp" TFTP_DIRECTORY="" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="-l -c

【教程】在UEFI启动方式下,通过GRUB2引导,直接从硬盘ISO文件安装Windows10和Ubuntu双系统

本文为作者原创,允许转载,但必须注明原文地址: https://www.cnblogs.com/byronxie/p/9949789.html 动机 最近在自学MIT6.828 Operating System Engineering, 这门课程的代码是针对Linux系统(Ubuntu)的. 我有一台WIN10平板电脑,基本信息如下: 型号是酷比魔方KNOTE8 处理器是Intel Core m3-7Y30 CPU @1.00GHz 1.61GHz RAM 8.00GB 学习编程,必须要动手练习