|
发表于 2014-11-3 23:44:32
18168 浏览 2 回复
【uboot】启动链接文件
uboot的启动链接文件cpu/arm_cortexa9/u-boot.lds
启动时的三个文件执行顺序分别为start.o cpu_init.o lowlevel_init.o ace_sha1.o;
我们只要跟着这四个链接文件就能了解uboot启动的第一阶段代码执行过程。
/*
* January 2004 - Changed to support H4 device
* Copyright (c) 2004-2008 Texas Instruments
*
* (C) Copyright 2002
* Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS
{
. = 0x00000000;
. = ALIGN(4);
.text :
{
cpu/arm_cortexa9/start.o (.text)
cpu/arm_cortexa9/s5pc210/cpu_init.o (.text)
board/samsung/smdkc210/lowlevel_init.o (.text)
common/ace_sha1.o (.text)
*(.text)
}
. = ALIGN(4);
.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
. = ALIGN(4);
.data : { *(.data) }
. = ALIGN(4);
.got : { *(.got) }
__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;
. = ALIGN(4);
__bss_start = .;
.bss : { *(.bss) }
_end = .;
}
|
|
|
|
|
|
|
|
发表于 2014-11-6 12:27:25
对于在使用过程中,发现UBOOT起不来的问题了没?我这边经过大量测试,发现启动不来UBOOT只启动到了OK的打印信息。如果有兴趣,可以一起解决UBOOT的启动问题。 |
|
|
|
|
|
|
|
楼主|
发表于 2014-11-6 22:37:19
|
|
|
|
|
|
登录或注册
扫一扫关注迅为公众号
|