2017-12-27 50 views
3

ARC 프로세서 맵 파일을보고 끝 주소가 시작 주소보다 작은 섹션을 찾았습니다.bss 섹션 끝 주소가 시작 주소보다 작음

이것은 정상입니까, 아니면 링커 스크립트 나 다른 문제입니까?

Section name   type  start addr end addr length 
RM0_SECTION   bss  00040000 0003ffff  00000000 
+4

'길이 00000000'입니다. 00040000/00040000이라면 길이 00000001을 의미합니다. '첫 번째 유효 주소는 00040000이고 마지막 유효 주소는 00040000'입니다. –

+0

섹션을 출력하는 소프트웨어가 더 이상하지 않을 수 있습니다. 이것이 실제로 생성 된 파일에서 표현되는 경우 놀랄 것입니다. –

답변

1

이것은 정상적인 동작입니다.
을 준수하는 공식은 다음과 같다 :

length = "end addr" - "start addr" + 1 

그래서 :
- 섹션이 비어 있지 않은 경우, end addr이 섹션에 속하는 마지막 주소에 해당합니다.
- 섹션이 비어있는 경우 end addrstart addr - 1과 같으므로 RM0_SECTION에서 확인한 것처럼 end addr은이 경우 최종 주소가 아닙니다.