ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • embedded system에서 Linker
    compiler 2015. 1. 22. 11:15




    symbol resolution


    사실 같은 core내에서 개발하는 native개발환경에서는 실행 이미지를 메모리에 어떻게 로드할 것인지 같은걸 고려할 필요가 없다. 운영체제가 알아서 해주기때문이다.

    그러나 임베디드 시스템용 프로그램은 일반적으로 재배치 가능 형식이 아니다.

    booting program을 실행할때, MMU가 있다면 비활성화 상태이다. 부팅시에는 로더가 존재 하지 않는다. 그래서 메모리의 고정 위치에 코드를 올릴 수 있도록 빌드해야한다.




    Linker Description Script


    Linker Description Script 혹은 Scatter loading 


    unix쪽에서 사용하는 용어에 따르면,

    RW = .data

    ZI = .bss

    RO = .constdata + .text

    이런 것든 symbol(global)을 사용할 때 분류하는 카테고리이다.



    map file



    linking시 옵션을 주어서 mapfile을 만들 수 있다.

    Allocating common symbols, Memory Configuration, Linker script and memory map등의 정보를 가진다.


    u-boot.map



    system.map

    'compiler' 카테고리의 다른 글

    gcc 옵션  (0) 2017.01.31
Designed by Tistory.