Map파일을 보다보면 알수 없는 기호들이 있다. lnear, abs18, csa등 알아야하나 싶은 명칭들이 많고 이를 왜 구분하고 사용하는지 모르고 쓰는경우들이 많다.
이번에는 이런 섹션에 따라 매핑되는 공간에 대해 알아보자.
먼저 주소 공간 종류에는 하기와 같은 구분이 있다.
- linear: 4GB의 모든 주소 공간의 지정
- abs18: 각 세그먼트의 처음 16KB(0xX000_000 ~ 0xX000_3FFF)의 주소공간
- abs24: 각 세그먼트의 처음 16KB(0xX000_000 ~ 0xX01F_FFFF)의 주소공간
-csa: Context Save Area로 context가 저장되는 공간.
모든 것을 다 안다는것은 좋지만 고닲은 일이다. 이 중에서 딱 linear, abs18 만 보도록하자.
- linear (4GB 모든 주소 공간의 지정)
.Text : 코드
.bss .zbss .data: 변수
- abs18 (0xX000 0000 ~ 0xX000 3FFF 까지의 공간 == 메모리 주소 앞 16KB 까지)
zdata : near data(초기화 됨)
zrodata : near const data
zbss : near data(초기화 안 됨)
만 기억하자.
이는 이후에 lsl 파일에서 요긴하게 사용하고 map 파일을 분석하는대도 많은 도움을 준다.
<lsl 맞보기>
Space mpe:vtc:linear (MAU = 8bit)
vtc 모든 코어에서 접근 가능
+ Space mpe:tc0:csa (MAU = 8bit)
tc0 : 코어 0에서만 접근 가능.
mpe: 멀티 프로세서
csa : context switching area
'programmer > Embedded' 카테고리의 다른 글
메모리 Section별 수행시간 차이 분석 2 (0) | 2020.07.27 |
---|---|
Tasking사용 Infineon linker script 분석 1 (0) | 2020.07.27 |
Ubuntu 16.4 LTS 에서 Ubuntu 18.4 LTS 변경시 유의 (0) | 2020.04.14 |
TC297TA Triboard 를 사용해 LED를 점등해 보자 (0) | 2020.03.30 |
Target 의 elf 위치 설정(Hightech IDE) (0) | 2020.03.27 |