转 http://tieba.baidu.com/p/2836672721

对uboot-2010.06及其以后的版本,将体系结构相关的内容合并,增加include文件夹,分离出通用库文件lib,其各主目录下的内容说明如下
api: 存放uboot提供的接口函数
arch: 与体系结构相关的代码
board: 根据不同开发板所定制的代码
common: 通用的代码,涵盖各个方面,已对命令行的处理为主
disk: 磁盘分区相关代码
doc: 文档,readme
drivers: 驱动相关代码,每种类型的设备驱动占用一个子目录
examples: 示例程序
fs: 文件系统,支持嵌入式开发板常见的文件系统
include: 头文件,以通用的头文件为主
lib: 通用库文件
nand_spl: nand存储器相关的代码
net: 网络相关的代码,小型的协议栈
onenand_ipl: onenand存储器启动的代码
post: 上电自检程序
tools: 辅助功能程序,用于制作uboot镜像等

spl: second program loader

uboot的spl分析:
芯片到uboot的启动流程为 芯片-》spl-》uboot
芯片中的ROM code是第一级的bootloader,芯片上电后会自动执行这一部分的代码,完成部分初始化并引导第二级的bootloader,第二级的bootloader再引导第三级的bootloader,
对于ti-am3517而言,二三级的bootloader均由uboot提供。
spl复用的是uboot里面的代码.
spl要做的事情如下:
1.Basic Arm Initialization 对芯片进行基本的初始化
2.UART console initialization 串口控制终端的初始化
3.Clocks and DPLL Locking(minimal) 时钟和锁相环
4.SDRAM initialization
5.Mux(minimal)
6.Boot Device Initialization, based on where we are booting from MMC1, or MMC2, or Nand, or Onenand
7.Bootloading real u-boot from the Boot Device and passing control to it.

当选择从nand flash启动时,spl为第一阶段,copy前4K到iram,然后完成初始化ddr后,重定位,跳转到ddr,copy剩余uboot到ddr,开始启动第二阶段。

U-boot的目录结构及spl功能的更多相关文章

  1. 使用SpringBoot的推荐项目目录结构

    一.Spring Boot 推荐目录结构 (1)代码层的结构 根目录:com.springboot 1.工程启动类(ApplicationServer.java)置于com.springboot.bu ...

  2. Nginx 目录结构

    Nginx 目录结构 Nginx 安装后整体的目录结构及文件功能如下: [root@localhost ~]# tree /usr/local/nginx /usr/local/nginx ├── c ...

  3. discuz目录结构和插件创建

    discuz目录结构 api 外部接口功能实现 archiver 静态文档,静态化所用 config 配置 data 生成的数据 install 安装目录 source 源代码核心目录 |--modu ...

  4. sdk的目录结构及其功能

    sdk的目录结构及其功能 add-ons: 这里面保存着附加库,比如GoogleMaps,当然你如果安装OphoneSDK,这里也会有一些类库在里面. build-tools: 各个版本的sdk编译工 ...

  5. 使用递归方法实现,向FTP服务器上传整个目录结构、从FTP服务器下载整个目录到本地的功能

    我最近由于在做一个关于FTP文件上传和下载的功能时候,发现Apache FTP jar包没有提供对整个目录结构的上传和下载功能,只能非目录类型的文件进行上传和下载操作,后来我查阅很多网上的实现方法,再 ...

  6. Spring Boot 主类及目录结构介绍

    Spring Boot 与传统项目最大的区别是,传统项目都是打成 WAR 包部署到服务器上面,需要额外的 Servlet 容器, 而 Spring Boot 则可以直接打成 jar 包,并内置集成了 ...

  7. Spring Boot打war包和jar包的目录结构简单讲解

    Spring Boot项目可以制作成jar包和war包,其目录结构是不一样的,具体的如下所示: 1.war包目录结构分析WAR(Web Archivefile)网络应用程序文件,是与平台无关的文件格式 ...

  8. spring boot 项目开发常用目录结构

    在spring boot开发中一些常用的目录划分 转载自https://blog.csdn.net/Auntvt/article/details/80381756: 一.代码层结构 根目录:net.c ...

  9. 【JMeter_02】JMeter目录结构与功能模块介绍

    安装包目录结构 1.backups: 存放jmeter对脚本的自动备份保存文件 2.bin:jmeter的可执行文件目录,包含启动.配置等相关文件 3.dosc:程序自带的官方文档本地存放目录 4.e ...

随机推荐

  1. Kruskal(测试源代码)

    1.此程序为c++程序 2.以下代码可实现手动输入,即去掉代码中的/*...*/注释符,并同时去掉赋值代码段 3.源代码 #include<iostream> using namespac ...

  2. SQL Server如何编辑超过前200行的数据

    从SQL Server 2008开始,微软为了提高查询效率等原因,右键点击表时弹出菜单中默认没有"显示所有行",而以"选择前1000行"替代.这有时会为我们带来 ...

  3. JavaScript和Java之间的关系

    今天来简单而又详细地说说JavaScript和Java的关系. 开门见山总结性一句话,它们之间的关系 = 雷锋和雷峰塔之间的关系,换句话说:它们之间没什么关系. 但往往有不少初学者甚至中级者认为它们之 ...

  4. Android 学习第18课,单元测试

    1. 准备一个待测试的类 package com.example.Service; public class PersonService { public void save(String userN ...

  5. python requests 模块初探

    现在经常需要在网页中获取相关内容. 其中无非获取网页返回状态,以及查看网页获取的内容几个方面,那么在这方面来看requests可能比urllib2库更简便一些. 比如:先用方法获取网页 r = req ...

  6. ARM Linux Qt 5.x.x 无标题栏

    /********************************************************************************* * ARM Linux Qt 5. ...

  7. js中 ||的意思,js中 o = o || {};是什么意思呢?

    o = o || {} 表示:如果o为null或undefined,则将o初始化空对象(即{}),否则o不变.目的是防止o为null或未定义的错误. 其中:||表示或操作,第一个条件为真,则结果为真而 ...

  8. printf函数

    printf函数的格式及含义 d                    以十进制带符号的形式输出整数(对正数不输出符号) o                    以八进制无符号的形式输出整数(不输出 ...

  9. R 在linux redhat 6.5的编译安装过程

    下载源码包 在http://cran.r-project.org/mirrors.html,选择一个国内镜像下载需要的版本,比如:http://mirror.lzu.edu.cn/CRAN/src/b ...

  10. VMvare克隆复制多个操作系统

    目的:完成linux的双机和集群实验 2016-12-06 在网上查找了一些资料现整理如下,以供之后查看和帮助他人. 注意事项: 1.关闭源虚拟机的电源: 操作很简单 选择完整创建 输入源克隆机的用户 ...