U-boot启动过程分哪两个阶段
“U-boot启动过程分哪两个阶段”相关的资料有哪些?“U-boot启动过程分哪两个阶段”相关的范文有哪些?怎么写?下面是小编为您精心整理的“U-boot启动过程分哪两个阶段”相关范文大全或资料大全,欢迎大家分享。
U-boot启动过程
U-Boot 1.1.6 (Nov 26 2010 - 08:49:16)
DRAM: 64 MB Flash: 2 MB NAND: 256 MiB
*** Warning - bad CRC or NAND, using default environment
In: serial Out: serial Err: serial
UPLLVal [M:38h,P:2h,S:2h] MPLLVal [M:5ch,P:1h,S:1h] CLKDIVN:5h
+---------------------------------------------+
| S3C2440A USB Downloader ver R0.03 2004 Jan | +---------------------------------------------+ USB: IN_ENDPOINT:1 OUT_ENDPOINT:3
FORMAT: +
U-Boot启动过程完全分析
1.1U-Boot工作过程
U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下:
(1)第一阶段的功能
?硬件设备初始化
?加载U-Boot第二阶段代码到RAM空间 ?设置好栈
?跳转到第二阶段代码入口
(2)第二阶段的功能
?初始化本阶段使用的硬件设备 ?检测系统内存映射
?将内核从Flash读取到RAM中 ?为内核设置启动参数 ?调用内核
1.1.1U-Boot启动第一阶段代码分析
第一阶段对应的文件是cpu/arm920t/start.S和
board/samsung/mini2440/lowlevel_init.S。
U-Boot启动第一阶段流程如下:
图 2.1 U-Boot启动第一阶段流程
根据cpu/arm920t/u-boot.lds中指定的连接方式:
ENTRY(_start) SECTIONS { }
. = 0x00000000; . = ALIGN(4); .text : { } ? ?
cpu/arm920t/start.o (.text)
board/samsung/mini2440/lowlevel_init.o (.text) board/samsung/mini244
U-Boot启动过程完全分析
1.1U-Boot工作过程
U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下:
(1)第一阶段的功能
?硬件设备初始化
?加载U-Boot第二阶段代码到RAM空间 ?设置好栈
?跳转到第二阶段代码入口
(2)第二阶段的功能
?初始化本阶段使用的硬件设备 ?检测系统内存映射
?将内核从Flash读取到RAM中 ?为内核设置启动参数 ?调用内核
1.1.1U-Boot启动第一阶段代码分析
第一阶段对应的文件是cpu/arm920t/start.S和
board/samsung/mini2440/lowlevel_init.S。
U-Boot启动第一阶段流程如下:
图 2.1 U-Boot启动第一阶段流程
根据cpu/arm920t/u-boot.lds中指定的连接方式:
ENTRY(_start) SECTIONS { }
. = 0x00000000; . = ALIGN(4); .text : { } ? ?
cpu/arm920t/start.o (.text)
board/samsung/mini2440/lowlevel_init.o (.text) board/samsung/mini244
U-Boot编译过程完全分析
2.1 U-Boot Makefile分析
2.1.1 U-Boot编译命令
对于mini2440开发板,编译U-Boot需要执行如下的命令:
$ make mini2440_config $ make all
使用上面的命令编译U-Boot,编译生成的所有文件都保存在源代码目录中。为了保持源代码目录的干净,可以使用如下
命令将编译生成的文件输出到一个外部目录,而不是在源代码目录中,下面的2种方法都将编译生成的文件输出到 /tmp/build目录:
$ export BUILD_DIR=/tmp/build $ make mini2440_config $ make all 或
$ make O=/tmp/build mini2440_config (注意是字母O,而不是数字0) $ make all
为了简化分析过程,方便读者理解,这里主要针对第一种编译方式(目标输出到源代码所在目录)进行分析。
2.1.2 U-Boot配置、编译、连接过程
U-Boot开头有一些跟主机软硬件环境相关的代码,在每次执行make命令时这些代码都被执行一次。
U-BOOT源码分析及移植
U-BOOT源码分析及移植
2008-4-29 8:44:19 收藏 | 打印 | 投票(281) | 评论(43) | 阅读(869973) ◇字体:[大中小]本文从以下几个方面粗浅地分析u-boot并移植到FS2410板上:
1、u-boot工程的总体结构
2、u-boot的流程、主要的数据结构、内存分配。
3、u-boot的重要细节,主要分析流程中各函数的功能。
4、基于FS2410板子的u-boot移植。实现了NOR Flash和NAND Flash启动,网络功能。这些认识源于自己移植u-boot过程中查找的资料和对源码的简单阅读。下面主要以
smdk2410为分析对象。
一、u-boot工程的总体结构:
1、源代码组织
对于ARM而言,主要的目录如下:
board 平台依赖存放电路板相关的目录文件,每一套板子对应一个目录。如smdk2410(arm920t)
cpu 平台依赖存放CPU相关的目录文件,每一款CPU对应一个目录,例如:arm920t、xscale、i386等目录
lib_arm 平台依赖存放对ARM体系结构通用的文件,主要用于实现ARM
U-BOOT源码分析及移植
U-BOOT源码分析及移植
U-BOOT源码分析及移植
2008-4-29 8:44:19 收藏 | 打印 | 投票(281) | 评论(43) | 阅读(869973) ◇字体:[大 中 小] 本文从以下几个方面粗浅地分析u-boot并移植到FS2410板上:
1、u-boot工程的总体结构
2、u-boot的流程、主要的数据结构、内存分配。
3、u-boot的重要细节,主要分析流程中各函数的功能。
4、基于FS2410板子的u-boot移植。实现了NOR Flash和NAND Flash启动,网络功能。 这些认识源于自己移植u-boot过程中查找的资料和对源码的简单阅读。下面主要以smdk2410为分析对象。
一、u-boot工程的总体结构:
1、源代码组织
对于ARM而言,主要的目录如下:
board 平台依赖 存放电路板相关的目录文件,每一套板子对 应一个目录。如smdk2410(arm920t)
cpu 平台依赖 存放CPU相关的目录文件,每一款CPU对应一个目录,例如:arm920t、 xscale、i386等目录
lib
U-BOOT源码分析及移植
U-BOOT源码分析及移植
U-BOOT源码分析及移植
2008-4-29 8:44:19 收藏 | 打印 | 投票(281) | 评论(43) | 阅读(869973) ◇字体:[大 中 小] 本文从以下几个方面粗浅地分析u-boot并移植到FS2410板上:
1、u-boot工程的总体结构
2、u-boot的流程、主要的数据结构、内存分配。
3、u-boot的重要细节,主要分析流程中各函数的功能。
4、基于FS2410板子的u-boot移植。实现了NOR Flash和NAND Flash启动,网络功能。 这些认识源于自己移植u-boot过程中查找的资料和对源码的简单阅读。下面主要以smdk2410为分析对象。
一、u-boot工程的总体结构:
1、源代码组织
对于ARM而言,主要的目录如下:
board 平台依赖 存放电路板相关的目录文件,每一套板子对 应一个目录。如smdk2410(arm920t)
cpu 平台依赖 存放CPU相关的目录文件,每一款CPU对应一个目录,例如:arm920t、 xscale、i386等目录
lib
U-BOOT源码分析及移植
U-BOOT源码分析及移植
2008-4-29 8:44:19 收藏 | 打印 | 投票(281) | 评论(43) | 阅读(869973) ◇字体:[大中小]本文从以下几个方面粗浅地分析u-boot并移植到FS2410板上:
1、u-boot工程的总体结构
2、u-boot的流程、主要的数据结构、内存分配。
3、u-boot的重要细节,主要分析流程中各函数的功能。
4、基于FS2410板子的u-boot移植。实现了NOR Flash和NAND Flash启动,网络功能。这些认识源于自己移植u-boot过程中查找的资料和对源码的简单阅读。下面主要以
smdk2410为分析对象。
一、u-boot工程的总体结构:
1、源代码组织
对于ARM而言,主要的目录如下:
board 平台依赖存放电路板相关的目录文件,每一套板子对应一个目录。如smdk2410(arm920t)
cpu 平台依赖存放CPU相关的目录文件,每一款CPU对应一个目录,例如:arm920t、xscale、i386等目录
lib_arm 平台依赖存放对ARM体系结构通用的文件,主要用于实现ARM
P1010rdb新单板u-boot移植过程总结
新单板P1010rdb的u-boot移植讲解 一、yocto project的建立
1. 搭建linux环境,ubuntu 12.04 2. QorIQ SDK 1.7 Documentation
(1)SDK 简介参考freescale的网站
http://www.freescale.com/infocenter/index.jsp?topic=/QORIQSDK/2880375.html
(2)安装SDK
1. Mount the ISO on your machine:
$ sudo mount -o loop QorIQ-SDK- 2. As a non-root user, install Yocto Project: $ /mnt/cdrom/install 3. When you are prompted to input the install path, ensure that the current user has the correct permission for the install path. (3)配置sdk的环境 1、$ cd
P1010rdb新单板u-boot移植过程总结
新单板P1010rdb的u-boot移植讲解 一、yocto project的建立
1. 搭建linux环境,ubuntu 12.04 2. QorIQ SDK 1.7 Documentation
(1)SDK 简介参考freescale的网站
http://www.freescale.com/infocenter/index.jsp?topic=/QORIQSDK/2880375.html
(2)安装SDK
1. Mount the ISO on your machine:
$ sudo mount -o loop QorIQ-SDK- 2. As a non-root user, install Yocto Project: $ /mnt/cdrom/install 3. When you are prompted to input the install path, ensure that the current user has the correct permission for the install path. (3)配置sdk的环境 1、$ cd