RBL, UBL, Uboot的关系】的更多相关文章

RBL, UBL, Uboot的关系 1)RBL=ROM Bootloader,UBL=user Bootloader. 2)RBL为TI固化在芯片ROM中的bootloader,OMAP上电启动过后首先将运行RBL,然后通过RBL加载UBL,再通过UBL加载uboot,而uboot就是用来加载Linux内核的.如果在具体应用过程中不需要使用到Linux(实际上一般都会用到的),uboot甚至是UBL都可以省去.UBL为一级Bootloader,uboot为二级Bootloader,一级Boot…
dm3730的启动流程为RBL+X-loader+uboot+uImage分别在片内ROM(fireware),片内SRAM,片外的DDR,片外的DDR. 之所以建立这样一个复杂的启动过程,我个人的理解是.片内ROM和SRAM空间有限,uboot的大小基本达到了200KB 左右,不能放在空间有限的SRAM中(因为SRAM的集成度不高,容量越大体积也越大).于是肯定需要有前期的RAM来帮助完成加载.当然为何不让ROM直接来加载uboot的原因也是如此,因为uboot需要有ddr的环境,而这部分需要…
转:http://blog.csdn.net/zhouzhuan2008/article/details/11053877 目录 MTD总概述 MTD数据结构 MTD相关层实现 MTD,Memory Technology Device即内存技术设备 字符设备和块设备的区别在于前者只能被顺序读写,后者可以随机访问:同时,两者读写数据的基本单元不同. 字符设备,以字节为基本单位,在Linux中,字符设备实现的比较简单,不需要缓冲区即可直接读写,内核例程和用户态API一一对应,用户层的Read函数直接…
———————————————————————————————————————————————————————————————————————— seed-vpm6467 \ Hardware Test :板子硬件测试 | |Test Demos under CCS :ccs测试程序 | |FPGA下载的bit文件 :ccs测试程序需要下载的FPGA文件 \ Development Software :软件开发工具 | |1. Flash Writer :ubl uboot uImage烧写文件…
/** ****************************************************************************** * @author    Maoxiao Hu * @version   V1.0.0 * @date       Feb-2015 ****************************************************************************** * < COPYRIGHT 2015 IS…
一.补充文件系统知识 Linux根文件系统是存放tool软件.lib文件.script(脚本).配置文件.其他特殊文件.自己开发的应用程序的地方.嵌入式linux的根文件系统rootfs就像windows操作系统的C.D盘这种概念机制,FLASH对应硬盘.但linux是挂载点的概念,根文件系统是一个整体,组织到一个树状的目录结构中.这种文件组织遵守文件系统科学分类标准FHS,一种国际标准.运行.维护系统所必须的各种 在开发.测试阶段,基本上都是使用NFS(网络文件系统),NFS文件系统是在你的开…
转载:http://blog.csdn.net/olei_oleitao/article/details/7919307   一.DM36X的BOOT过程介绍 DM36x的BOOT过程和DM6446.DM6467完全是一样的,因为都是ARM926EJS架构,里边都有一个RBL,这RBL在芯片出厂的时候都烧写在ROM里,芯片上电复位后RBL在运行,然后读取BOOT MODE引脚的电平状态,决定是从NAND FLASH还是从 MMC/SD.UART .USB. SPI. EMAC.HPI中之一的方式…
基本上没有啥关系,U-boot的话你也知道,说白了就像是Dos工具箱,本身算是个精简的Linux系统了,主要是负责硬件的初始化和引导,本身带有一些工具,作为引导程序,常作为嵌入式设备的引导.当真正的系统开始运行的时候U-boot就把管理权限交了出去. Linux比较泛泛,大体来说就是一个操作系统,具有多个发行版本.大体就是这样. uboot 是Universal BootLoad .一个就算是“通用”的启动代码载入器. Linux 本身不能自己把自己读取到内存中并且运行,所以他需要一个 load…
uboot 与系统内核中MTD分区的关系: 分区只是内核的概念,就是说A-B地址放内核,C-D地址放文件系统,(也就是规定哪个地址区间放内核或者文件系统)等等. 1:在内核MTD中可以定义分区A~B,C~D......并予以绝对的地址赋值给每个分区.我们可以来看看在内核中是怎样来对MTD进行分区的:arch/arm/plat-s3c24xx/common-smdk.c static struct mtd_partition smdk_default_nand_part[] = { [0] = {…
一.u-boot中环境变量与uImage中MTD的分区关系 分区只是内核的概念,就是说A-B地址放内核,C-D地址放文件系统,(也就是规定哪个地址区间放内核或者文件系统)等等. 一般我们只需要分3-4个区,第一个为boot区,一个为boot参数区(传递给内核的参数),一个为内核区,一个为文件系统区.(但是有的内核就会有很多分区,比如内核参数会有两个,还有会Logo的地址) 而对于bootloader中只要能将内核下载到A~B区的A地址开始处就可以,C~D区的C起始地址下载文件系统…….这些起始地…
TI的davinci系列一般支持好几种启动模式,如下图TMS320DM6467的datasheet可以查到所有的BOOTMODE LVS301和LW9226的开发板上有一个选择bootmode的拨码开关 下面以LVS301为例,讲解如何通过通过串口0将UBL和u-boot写入NAND flash: 1. 断电,调整拨码开关SW501,设置为UART0 Boot (LVS301默认的boot mode是SPI Boot); 2. 链接串口CN509; 3. 从网站www.sourceforge.n…
总览: 在linux系统软件架构可以分为4个层次(从低到高分别为):   1.引导加载程序         引导加载程序(Bootloader)是固化在硬件Flash中的一段引导代码,用于完成硬件的一些基本配置,引导内核启动.         同时,Bootloader会在自身与内核分区之间存放一些可设置的参数(Boot parameters),比如IP地址,串口波特率,要传递给内核的命令行参数.   2.系统内核         系统内核(Kernel)是整个操作系统的最底层,它负责整个硬件的…
 UBL的程序设计,相对UBOOT.KERNEL.ROOTFS.设备驱动.DSP开发来说,还是比较简单.我们先从DAVINCI的启动说起,了解UBL在DAVIN系统中的位置和作用.对于固件程序烧写在NAND FLASH 的Davinci dm644x嵌入式系统, 上电启动的过程如下:     RBL(ARM ROM Boot Loader)在芯片出厂的时候就已经烧写到ROM里了,这不需要大家关心,上电后,RBL会自动从EMIFA EM_CS2 memory space (0x0200 0000)…
前言:    在嵌入式开发中,如uboot的移植,kernel的移植都需要对Flash 有基本的了解.下面细说一下标题中的中Flash中的关系 一,Flash的内存存储结构    flash按照内部存储结构不同,分为两种:nor flash和nand flash. NorFLASH使用方便,易于连接,可以在芯片上直接运行代码,稳定性出色,传输速率高,在小容量时有很高的性价比,这使其很适合应于嵌入式系统中作为 FLASH ROM.    相对于NorFLASH,NandFLASH强调更高的性能,更…
声明:该贴是通过参考其他人的帖子整理出来,从中我加深了对uboot的理解,我知道对其他人一定也是有很大的帮助,不敢私藏,如果里面的注释有什么错误请给我回复,我再加以修改.有些部分可能还没解释清楚,如果您觉得有必要注释,希望指出.再次强调该贴的大部分功劳应该归功于那些原创者,由于粗心,我没有留意参考的出处.我的目的是想让大家共同进步.希望大家念在我微不足道的心意,能够积极回馈,以便使帖子更加完善.以后还会把整理的东西陆续公布出来,谢谢光临!! 大多数bootloader都分为stage1和stag…
一:U-boot移植前建立自己的平台: 关注的相关文件:1.u-boot- 2010.03/board/samsung/ //这个目录下需要创建自己的板级目录fsc100 cp –a smdkc100 fsc100 //直接复制需要修改的文件并重命名2./u-boot-2010.03/board/samsung/fsc100 //进入刚才复制好的目录,创建必要的C文件 mv smdkc100.c fsc100.c //直接重命名里面的可用文件3. vim Makefile //将这个新的C文件编…
转自迅为讨论群:http://www.topeetboard.com 重要说明:这份笔记不是4412开发配套的,是我在网上看视频的时候下载上课老师的笔记后修改的.所以我试了一下笔记上的uboot命令,有些无法使用,可能是uboot版本问题或者文件系统问题.具体原因我目前还不是很清楚,建议第五部分uboot命令可以先不用尝试. 一切以配套视频为准. 一.为什么是uboot 1.uboot从哪里来的? (1)uboot是SourceForge上的开源项目 (2)uboot项目的作者:一个德国人最早发…
u-boot 介绍: 对于计算机来说 , 从一开始上机通电是无法直接启动操作系统的 , 这中间需要一个引导过程 , 嵌入式Linux系统同样离不开引导程序 ,  这个启动程序就叫启动加载程序(Bootloader)  ,Bootloader 主要是进行一些基础必要硬件的初始化 (cpu_init ,memory_init , UART_init ...) , 为最终调用 kernel 作准备 . 对于嵌入式系统而言 , Bootloader 是基于特定的硬件平台实现的 . 因此 , 几乎不可能有…
解压u-boot-2010.03.tar.bz2就可以得到全部U-Boot源程序.在顶层目录下有29个子目录,分别存放和管理不同的源程序.这些目录中所要存放的文件有其规则,可以分为3类. ● 与处理器体系结构或者开发板硬件直接相关.     ● 一些通用的函数或者驱动程序.     ● U-Boot的应用程序.工具或者文件. 表1.5列出了U-Boot顶层目录下各级目录的存放原则. 表1.5 U-Boot的源码顶层目录说明 目 录 特 性 解 释 说 明 board 平台依赖 存放电路板相关的目…
1.1 U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下: (1)第一阶段的功能 Ø 硬件设备初始化 Ø 加载U-Boot第二阶段代码到RAM空间 Ø 设置好栈 Ø 跳转到第二阶段代码入口 (2)第二阶段的功能 Ø 初始化本阶段使用的硬件设备 Ø 检测系统内存映射 Ø 将内核从Flash读取到RAM中 Ø 为内核设置启动参数 Ø 调用内核 1.1.1 U-Boot启动第一阶段代码分析 第一阶段对应的文件是cpu/arm920t/start.S和board/sa…
转自:http://www.aiuxian.com/article/p-2796357.html 电子产品如果没有了电,就跟废品没什么区别,是电赋予了他们生命,然而程序则是他们的灵魂. 小时候一直很好奇,一个个死板的电子产品为什么一上电以后就能够工作了呢?为什么一个小小芯片就能够运行我们编写的程序呢?一个开发板从刚上电到整个操作系统能够运行起来是怎么办到的呢?这些东西困扰了好久,参考了好多资料现在才慢慢弄明白其中一些原理. 我们现在接触的大多数电子产品都是使用数字电路设计出来的,数字电路的精髓就…
标题: Uboot -kerne-root 启动流程 内容: ※uboot启动流程 ※Kernel启动流程 ※Root启动流程 ※构建根文件系统 /********************************* *u-boot: u-boot2012.04.01 *kernel:  linux-2.6.22 *busybox:    busybox-1.1.6 *********************************/ 一.uboot启动流程 1.初始化硬件 2.把内核从NAND读…
原文网址:http://blog.csdn.net/sadamoo/article/details/8139946 来自http://blog.ednchina.com/hhuwxf/1915416/message.aspx,感谢作者 一.Bootloader的引入 从前面的硬件实验可以知道,系统上电之后,需要一段程序来进行初始化:关闭 WATCHDOG.改变系统时钟.初始化存储控制器.将更多的代码复制到内存中等等.如果它能将操作系统内核(无论从本地,比如Flash:还是从远端, 比如通过网络)…
/** ****************************************************************************** * @author    Maoxiao Hu * @version   V1.0.0 * @date       Dec-2014 ****************************************************************************** * < COPYRIGHT 2014 IS…
Linux内核与根文件系统的关系开篇题外话:对于Linux初学者来说,这是一个很纠结的问题,但这也是一个很关键的问题!一语破天机: “尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具.这对 Linux 来说尤其如此,这是因为在 UNIX 传统中,它使用文件 I/O 机制管理硬件设备和数据文件.” 一.什么是文件系统文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构.Linux文件系统中的文件是数据的集合,文件系统不仅包含着文…
U-BOOT 在启动内核时,会向内核传递一些参数.BootLoader 可以通过两种方法传递参数给内核,一种是旧的参数结构方式(parameter_struct),主要是 2.6 之前的内核使用的方式.另外一种就是现在的 2.6内核在用的参数链表 (tagged list)  方式.这些参数主要包括,系统的根设备标志,页面大小,内存的起始地址和大小,RAMDISK的起始地址和大小,压缩的RAMDISK根文件系统的起始地址和大小,当前内核命令参数等而这些参数是通过 struct tag来传递的.U…
开篇题外话:对于Linux初学者来说,这是一个很纠结的问题,但这也是一个很关键的问题!         一语破天机: “尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具.这对 Linux 来说尤其如此,这是因为在 UNIX 传统中,它使用文件 I/O 机制管理硬件设备和数据文件.” 一.什么是文件系统         文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构.Linux文件系统中的文件是数据的集合,文件系统不仅包含…
一.概述   1.理解u-boot的makefile需要的准备 linux常用命令.shell脚本基础知识.makefile脚本基础知识 2.Makefile的元素 万变不离其宗,无论工程多么复杂,文件多么庞大,其实源于最简单的makefile.Makefile典型的规则如下. 目标:依赖1,依赖2•••••• 命令 举一个简单的例子 nand.bin : head.o nand.o main.o arm-linux-ld -Tnand.lds -o nand_elf head.o main.o…
一.概述 u-boot的子目录Makefile是整个Makefile体系的重要组成部分,决定了对应子目录的编译过程. 二.分析 以cpu/arm920t/Makefile为例进行说明 (1)首先,调用顶层目录定义的编译规则config.mk include $(TOPDIR)/config.mk (2)然后,定义生成的所有目标,例如下边定义的代码的所有目标是 $(obj).depend $(START) $(LIB) LIB = $(obj)lib$(CPU).a START = start.o…
说明:文件位置:在uboot的目录下,文件名为:config.mk.是一个makefile文件,以后会被主Makefile调用. 它的主要作用的是: (1)具体的设置交叉编译工具链接(主Makefile中也有设置交叉编译工具链) (2)加载include/autoconfig.mk文件(这个文件是在主Makefile中生成的) (3)指定-Ttext链接地址 (4)makefile的推导规则   下面来具体的分析代码: 1.设置交叉编译工具链…