u-boot.lds分析

聲明:本文由個人學習過程中整理而成,轉載請註明出處。


鏈接器LD按照u-boot.lds鏈接腳本的規則,把所有.o文件鏈接在一起組成整體。


/*

 * (C) Copyright 2002

 * Gary Jennejohn, DENX Software Engineering, <[email protected]>

 *

 * 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

 */

 

/* 輸出格式:32位ARM指令、小端模式、elf格式 */

OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")

/*OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm")*/


/* 平臺:ARM */

OUTPUT_ARCH(arm)


/* 程序入口:_start */

ENTRY(_start)


 

SECTIONS

{

/* “.”代表當前地址 */

. = 0x00000000;


/* 4字節對齊 */

. = ALIGN(4);


/* 代碼段,存放程序中的代碼 */

.text      :

{

 cpu/s5pc11x/start.o(.text)

 cpu/s5pc11x/s5pc110/cpu_init.o(.text)

 board/samsung/x210/lowlevel_init.o(.text)

          cpu/s5pc11x/onenand_cp.o      (.text)                 

          cpu/s5pc11x/nand_cp.o (.text)                     

          cpu/s5pc11x/movi.o (.text) 

          common/secure_boot.o (.text) 

 common/ace_sha1.o (.text)

 cpu/s5pc11x/pmic.o (.text)

 *(.text)

}


. = ALIGN(4);

/* 只讀數據段 */

.rodata : { *(.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);

.mmudata : { *(.mmudata) }


. = ALIGN(4);

/* bss段,存放程序中未初始化的全局變量 */

__bss_start = .;

.bss : { *(.bss) }

_end = .;

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章