您的位置:首页 > 其它

uboot 2014.07 啟動流程分析 for pandaboard

2014-08-26 09:57 190 查看
pandaboard 規格為omap4460

為一個armv7架構

頂層Makefile

#
# (C) Copyright 2000-2013
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
#
# SPDX-License-Identifier:      GPL-2.0+
#

VERSION = 2014
PATCHLEVEL = 07
SUBLEVEL =
EXTRAVERSION =
NAME =


uboot的進入點請先參考arch/arm/cpu/u-boot.lds

/*
* Copyright (c) 2004-2008 Texas Instruments
*
* (C) Copyright 2002
* Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
*
* SPDX-License-Identifier:     GPL-2.0+
*/

OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(<span style="color:#ff0000;">_start</span>)
SECTIONS
{
. = 0x00000000;

. = ALIGN(4);
.text :
{
*(.__image_copy_start)
*(.vectors)
CPUDIR/start.o (.text*)
*(.text*)
}

. = ALIGN(4);
.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }

. = ALIGN(4);
.data : {
*(.data*)
}

. = ALIGN(4);

. = .;

. = ALIGN(4);
.u_boot_list : {
KEEP(*(SORT(.u_boot_list*)));
}

. = ALIGN(4);

.image_copy_end :
{
*(.__image_copy_end)
}

.rel_dyn_start :
{
*(.__rel_dyn_start)
}

.rel.dyn : {
*(.rel*)
}

.rel_dyn_end :
{
*(.__rel_dyn_end)
}

.end :
{
*(.__end)
}

_image_binary_end = .;

/*
* Deprecated: this MMU section is used by pxa at present but
* should not be used by new boards/CPUs.
*/
. = ALIGN(4096);
.mmutable : {
*(.mmutable)
}

/*
* Compiler-generated __bss_start and __bss_end, see arch/arm/lib/bss.c
* __bss_base and __bss_limit are for linker only (overlay ordering)
*/

.bss_start __rel_dyn_start (OVERLAY) : {
KEEP(*(.__bss_start));
__bss_base = .;
}

.bss __bss_base (OVERLAY) : {
*(.bss*)
. = ALIGN(4);
__bss_limit = .;
}

.bss_end __bss_limit (OVERLAY) : {
KEEP(*(.__bss_end));
}

.dynsym _image_binary_end : { *(.dynsym) }
.dynbss : { *(.dynbss) }
.dynstr : { *(.dynstr*) }
.dynamic : { *(.dynamic*) }
.plt : { *(.plt*) }
.interp : { *(.interp*) }
.gnu.hash : { *(.gnu.hash) }
.gnu : { *(.gnu*) }
.ARM.exidx : { *(.ARM.exidx*) }
.gnu.linkonce.armexidx : { *(.gnu.linkonce.armexidx.*) }
}


重要函數為

_start

_main

board_init_f

board_init_r

relocate_code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: