elf32-littlearm.lds 분석

/* 2008.09.10. */

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

/*ELF32의 little endian으로 코드를 생성하겠다.*/

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

OUTPUT_ARCH(arm)/* binary를 실행할 수 있는 CPU architecture로 Arm*/

ENTRY(reset_handler)/* 프로그램의 시작을 가리키며, 시작되는 함수의 */

/* 이름은 "reset_handler"*/

/* reset_hanger은 cstartup.S의 파일에 있는 루틴*/

SECTIONS

{

.text : { /*실행할 프로그램 코드영역 */

_stext = .;/*Makefile파일에서 가져와서 넣어준다 . 운영체제가.*/

*(.text)/*함수위치*/

*(.rodata)/*Read only Data의 위치 */

*(.rodata*)/*그외에 잡다한것들 */

. = ALIGN(4);/*4바위트 단위로 */

_etext = . ;/*텍스트 영역의 끝주소*/

}

/* collect all initialized .data sections that go into FLASH */

.data : AT ( ADDR (.text) + SIZEOF (.text) ) {

_sdata = .;/* 텍스트 영역의 시작주소 Makefile 로부터 받아옴 */

*(.vectors)/* 벡터테이블 */

*(.data)/* 초기화된 데이타 영역 */

_edata = .;/* 마지막주소 End */

}

/* collect all uninitialized .bss sections that go into FLASH */

.bss (NOLOAD) : { /* 0값이므로 마지막을 게산할 필요가 없음 */

. = ALIGN(4);

_sbss = .;

*(.bss)/*초기화되지 않은 데이타 영역 */

_ebss = .;/*bss영역의 마지막 주소 */

}

}

end = .;

Posted by 응이

Dream come true.
응이

달력

태그목록