x210开发板的三种启动方式(三星推荐的,分散加载,uboot采用的)
1、三星推荐的启动方式
(1)将bl1放在在SRAM中运行,将bl2也在SRAM中运行,就像datasheet中描述那样。
(2)bootloader必须小于96KB并大于16KB,假定bootloader为80KB。
(3)启动过程
- 先开机上电后BL0运行,BL0会加载外部启动设备中的bootloader的前16KB(BL1)到SRAM中去运行;
- BL1运行时会加载BL2(bootloader中80-16=64KB)到SRAM中(从SRAM的16KB处开始用)去运行;
- BL2运行时会初始化DDR并且将OS搬运到DDR去执行OS,启动完成。
2、分散加载(两个链接地址)
文件太大,将整体分割成两个独立的部分bl1和bl2。
(1)分别烧录到sd卡的不同扇区(其中bl1肯定位于第一扇区开始的地方;bl2放在适当的位置,可以由烧录脚本知道bl2放在哪里);
(2)其中bl1在SRAM中运行,把DDR初始化后,将bl2加载到DDR中。
(3)BL1和BL2其实是2个独立的程序,链接时也是独立分开链接的,因此不能使用ldr pc, =main这种方式来通过链接地址实现远跳转到BL2。
- 使用地址进行强制跳转。因为知道BL2在内存地址0x23E00000处,所以直接去执行这个地址即可。
- 实现例子见http://blog.csdn.net/oqqhutu12345678/article/details/78942667中第8点。
3、uboot的实现方式
(1)uboot大小随意,假定为200KB。
(2)启动过程
- 先开机上电后BL0运行,BL0会加载外部启动设备中的uboot的前16KB(BL1)到SRAM中去运行;
- BL1运行时会初始化DDR,然后将整个uboot搬运到DDR中,然后用一句长跳转(从SRAM跳转到DDR)指令从SRAM中直接跳转到DDR中继续执行uboot直到uboot完全启动。
- uboot启动后在uboot命令行中去启动OS。
(3)和分散加载的异同
- 程序代码仍然包括BL1和BL2两部分,但是uboot组织形式上不分为2部分而是作为一个整体来组织。
- 它的实现方式是:iROM启动然后从SD卡的扇区1开始读取16KB的BL1然后去执行BL1,BL1负责初始化DDR,然后从SD卡中读取整个程序(BL1+BL2)到DDR中,然后从DDR中执行(利用ldr pc, =main这种方式以远跳转从SRAM中运行的BL1跳转到DDR中运行的BL2)。
x210开发板的三种启动方式(三星推荐的,分散加载,uboot采用的)相关推荐
- Spring Boot项目(Maven\Gradle)三种启动方式及后台运行详解
Spring Boot项目三种启动方式及后台运行详解 1 Spring Boot项目三种启动方法 运行Application.java类中的Main方法 项目管理工具启动 Maven项目:mvn sp ...
- Tomcat介绍及三种启动方式的区别
一.Tomcat的下载 二.Tomcat目录说明 三.Tomcat常用命令 四.Tomcat服务的安装 五.Tomcat启动的三种方式 六.三种启动方式的区别 七.Tomcat端口占用问题 一.Tom ...
- Spring Boot(4)--- spring boot的三种启动方式
springboot的三种启动方式 一:IDE 运行Application这个类的main方法 二:在springboot的应用的根目录下运行mvn spring-boot:run 三:使用mvn i ...
- GPS/BDS:星历表、历书、GPS三种启动方式
星历表.历书.GPS三种启动方式 转自:https://blog.csdn.net/longwei91/article/details/82379165 星历表(Ephemeris):包含了非常详细的 ...
- Linux安装Redis以及Redis三种启动方式
目录树 一.安装前的软件准备 二.Redis的安装 三.Redis的三种启动方式!!! 1.直接启动Redis 2.后台进程方式启动Redis 3.通过开机启动方式 四.Window上桌面连接Linu ...
- 启动指定参数_SpringBoot的三种启动方式
1.背景 这几天在看面试题,看到了有关SpringBoot的相关知识点,其中有一个问题是:"SpringBoot有哪几种启动方式?".一下子懵逼了,脑子里面只记得在本地启动的时候是 ...
- GPS接收机热启动、温启动、冷启动三种启动方式的区别
众所周知GPS接收机定位的时候,需要两种基本信息,一种卫星星历和卫星的观测数据(伪距.载波相位.测距码).定位的条件星历和卫星的观测数据,缺一不可. 卫星星历是用来描述卫星轨道的参数,用这些参数可以计 ...
- Xilinx ZYNQ 7000+Vivado2015.2系列(五)之ZYNQ的三种启动方式-JTAG、SD card、Flash
前言: 前面我们都是使用JTAG方式下载比特流文件,然后下载elf文件,最后点击Run as或者Debug as来运行程序.JTAG方式是通过tcl脚本来初始化PS,然后用JTAG收发信息,优点是可以 ...
- android+rom+bootloader+flash,Android ROM开发(4) bootloader 三种启动模式
Andrew Huang 转载请注明作者及网址 HTC手机中用的bootloader称为HBoot,不知道是不是HTC Bootloader 之意,从官网的源码看这个bootloader不象是u-bo ...
最新文章
- 计算机设备管理器不显示com,台式机设备管理器打开是空白怎么办_win10设备管理无法显示解决方法...
- 【学术研究基础】聚类分析学习
- 12道Python基础字符编码数据类型练习题
- Spatial Transformer Networks(STN)详解
- 足不出户,游遍七大洲,不可错过的14部地理纪录片!
- JDK 9是某些功能的终结
- 第51课 拍手游戏--2021.09.19
- 第3关:HDFS-JAVA接口之上传文件
- 将Windows8或WindowsServer2012装在VHD上
- 手写体识别识别(pytorch):
- BUAA(2021春) 北京地铁乘坐线路查询——Dijkstra和Floyd双解法
- 个人自媒体技术分享博客网站模板
- __stack_chk_fail之栈帧溢出检测技术
- EleutherAI GPT-Neo: 穷人的希望
- 解决jmeter5.4.3在高分辨率下的显示问题
- UVa11134 - Fabled Rooks(贪心)
- MAC 安装及配置maven
- 人机博弈小游戏(Java)
- 服务器的ftp数据库信息,如何查看ftp服务器数据库
- python 隐藏进程_运行进程隐藏Python