U—Boot
文章平均质量分 79
hongkaicsu
这个作者很懒,什么都没留下…
展开
-
uboot-2009.01的start.S详细注解及分析
@参考天行者的vivi源码分析@参考两只蝴蝶的u-boot-1.1.6之cpu/arm920t/start.s分析/* * armboot - Startup Code for ARM920 CPU-core * * Copyright (c) 2001 Marius Gr鰃er * Copyright (c) 2002 Alex Z黳ke * Copyright (c) 2002 G转载 2010-01-13 21:23:00 · 789 阅读 · 0 评论 -
U-boot如何启动内核
我们用的u-boot已经改的面目全非,不过核心还是完全相同的,换了个面目而已。开源的好处,想改就改来玩玩。不过流程还是人家的。u-boot通过bootm命令来启动内核,这个命令的处理函数是do_bootm,这个函数处理的是uboot-mkimage制作的映像,如果正好这个映像是内核,那么它就会调用do_bootm_linux函数,并在该函数中给内核传递参数并调用内核入口函数来启动内核。下面就来转载 2010-01-06 13:00:00 · 919 阅读 · 0 评论 -
链接器脚本
****************************************************************************** 链接器脚本 ****************************************************************************** 链接器脚本控制每个链接过程,这种脚本使用链接器命令语言。 链接器的主转载 2010-01-06 13:05:00 · 1351 阅读 · 0 评论 -
U-Boot启动的函数调用过程(以arm926ejs为例)
调用链如下,后面是文字解说: reset -> cpu_init_crit -> lowlevel_init (板子相关) -> relocate (将U-boot重定位到RAM) -> stack_setup -> clear_bss -> start_armboot() (C程序) -> main_loop()转载 2010-01-06 13:04:00 · 696 阅读 · 0 评论 -
u-boot的Makefile详细分析-转帖
U-BOOT是一个LINUX下的工程,在编译之前必须已经安装对应体系结构的交叉编译环境,这里只针对ARM,编译器系列软件为arm-linux-*。U-BOOT的下载地址: http://sourceforge.net/projects/u-boot我下载的是1.1.6版本,一开始在FTP上下载了一个次新版,结果编译失败。1.1.6是没问题的。u-boot源码结构 解压就可以得到全部u转载 2010-01-06 21:58:00 · 734 阅读 · 0 评论 -
u-boot启动代码start.S详解-补充
U-BOOT一、U-BOOT的目录结构u-boot目录下有18个子目录,分别存放管理不通的源程序。这些目录中所要存放的文件有其规则,可以分成三类。■第一类目录与处理器体系结构或者开发板硬件直接相关;■第二类目录是一些通用的函数或者驱动程序;■第三类目录是u-boot的应用程序、工具或者文档。Board:和一些已有开发板相关的文件,比如Makefile和u-转载 2010-01-06 14:00:00 · 576 阅读 · 0 评论 -
u-boot源码分析 --- 启动第二阶段 ,基于2410 启动代码 分析
我们先来看初始化函数表: init_sequencelib_arm/board.c:typedef int (init_fnc_t) (void);init_fnc_t *init_sequence[] = { cpu_init, /* basic cpu dependent setup */ board_init, /* basic board转载 2010-01-19 09:37:00 · 727 阅读 · 0 评论 -
U-Boot的移植U-Boot Practically Porting Guide(转)
U-Boot的移植之(一)基础篇:添加新的目标板定义本文使用最新的U-Boot-1.3.0-rc2。U-Boot本身支持很多开发板,在其源代码中,每个板子都对应一个board/目录下的文件夹(笔者注:这并不确切,因为有的文件夹是供应商名称,下面可以有多个目标板目录,这里只考虑最简单的情况),以及include/configs/目录下的目标板配置头文件。因此,要添加U-Boot对我们的目标板的支转载 2010-01-13 21:29:00 · 720 阅读 · 0 评论 -
uboot第2阶段分析 start_armboot--转帖
通过前面的分析,知道第2阶段代码主要是start_armboot,首先我们先介绍几个比较重要的结构体。这里主要是对start_armboot中的流程做具体的分析,我的uboot-2009-06.至于具体的代码分析将在后面的文章中介绍。1.gd_t全局数据结构,主要保存了uboot的配置信息。include/asm-arm/global_data.h中定义:typedef struct gl转载 2010-01-14 14:26:00 · 832 阅读 · 0 评论 -
U-Boot如何为内核设置启动参数--转帖
大家都知道U-Boot启动的时候会将启动参数的地址放入R2中,然后再启动内核。我们看看这些参数是如何设置的。首先看两个重要的数据结构:第一个是global_data,定义在include/asm-arm/global_data.h文件中:typedef struct global_data { bd_t *bd; unsigned long flags;转载 2010-01-14 14:27:00 · 810 阅读 · 0 评论 -
U-boot-13.0-rc3 cpu/pxa/start.S 分析
#include #include #include //global声明一个符号可被其它文件引用,相当于声明了一个全局变量,.globl与.global相同。//该部分为处理器的异常处理向量表。地址范围为0x0000 0000 ~ 0x0000 0020,刚好8条指令。.globl _start_start: b reset ldr pc, _undefined_instruc转载 2010-01-13 21:57:00 · 677 阅读 · 0 评论 -
u-boot启动代码start.S详解
u-boot启动代码start.S详解 1)定义入口。由于一个可执行的Image必须有一个入口点,并且只能有一个全局入口,通常这个入口放在ROM(Flash)的0x0地址,因此,必须通知编译器以使其知道这个入口,该工作可通过修改连接器脚本来完成。(2)设置异常向量(Exception Vector)。(3)设置CPU的速度、时钟频率及终端控制寄存器。(4)初转载 2010-01-06 13:59:00 · 866 阅读 · 0 评论