003uboot目录分析和两个阶段

我们都知道s3c2440是一个soc,内含cpu和各种控制器、片内的RAM,他的CPU是arm920t。

我们先来分析一下uboot原码的各个目录

1.uboot目录分析

board:board里存放的是支持各个开发板的文件,包括链接脚本

common: common目录中存放的是uboot的各种命令

cpu:cpu目录存放的是uboot支持的各种cpu,其中包括各种cpu的启动文件

disk:存放分区的相关文件

doc:存放各种文档

drivers:存放各种驱动文件,用户可以裁剪一些不相关的驱动,只需要保留启动内核的功能、uart、等基础功能就可以了

dtt:数字温度测量器或者传感器的驱动

examples:一些独立运行的应用程序的例子

fs:支持文件系统的文件,u-boot现在支持cramfs、fat、fdos、jffs2、yaffs和registerfs

include:头文件,还有对各种硬件平台支持的会变文件,系统的配置文件和对文件系统支持的文件。
net:与网络有关的代码,BOOTP协议、TFTP协议RARP协议和NFS文件系统的实现。

lib_ppc:存放对PowerPC体系结构通用的文件,主要用于实现PowerPC平台通用的函数,与PowerPC体系结构相关的代码,对于arm平台来说此目录无需理会
lib_i386:存放对X86体系结构通用的文件,主要用于实现X86平台通用的函数,与PowerPc体系结构相关的代码,对于arm平台来说此目录无需理会
lib_arm:存放对ARM体系结构通用的文件,主要用于实现ARM平台通用的函数,与ARM体系结构相关的代码。
lib_generic:通用的多功能函数实现,包括一些字符串处理、crc校验等功能。

post:上电自检。
rtc: 实时时钟驱动。
tools:创建S-Record格式文件和U-BOOT images的工具

 2.uboot的两个阶段

第一阶段:硬件的初始化,主要代码是汇编

(1)设置cpu为管理模式

(2)关闭看门狗

(3)设置中断向量表

(4)设置cpu的时钟

(5)设置栈

(6)把代码从flash拷贝到SDRAM实现重定位

(7)清除bss段

第二阶段:第二阶段最重要的工作就是启动内核,把内核读取到SDRAM中,这部分代码都是.c文件

(1)检测系统内存映射

(2)将内核从Flash读取到RAM中

(3)为内核设置启动参数

(4)调用内核

相关推荐

  1. crc、ecc、 uboot boot的原理分析及详解

    2024-07-21 08:26:01       18 阅读
  2. 矩阵差异分析

    2024-07-21 08:26:01       23 阅读
  3. 掌握uboot使用的2关键点:命令环境变量

    2024-07-21 08:26:01       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 08:26:01       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 08:26:01       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 08:26:01       45 阅读
  4. Python语言-面向对象

    2024-07-21 08:26:01       55 阅读

热门阅读

  1. 统信UOS

    统信UOS

    2024-07-21 08:26:01      17 阅读
  2. 河南萌新联赛2024第(一)场:河南农业大学

    2024-07-21 08:26:01       18 阅读
  3. 解决echarts在uniapp里tooltip,legend不能点击的问题

    2024-07-21 08:26:01       15 阅读
  4. web学习笔记(八十一)

    2024-07-21 08:26:01       16 阅读
  5. 这些库都有什么应用场景呢

    2024-07-21 08:26:01       15 阅读
  6. linux学习笔记整理: 关于linux:Redis数据库 2024/7/20;

    2024-07-21 08:26:01       19 阅读
  7. 安卓逆向入门(3)------Frida基础

    2024-07-21 08:26:01       17 阅读
  8. SDL常用结构体和函数接口

    2024-07-21 08:26:01       20 阅读
  9. 谷粒商城实战笔记-35-前端基础-ES6-模块化

    2024-07-21 08:26:01       17 阅读