상수 주소를 사용할 때 signal error 가 발생하는 경우

수정일 Fri, 22 Dec 2023 시간: 05:13 PM

int * ptr;
 int * pre_ptr = (int *) (0x60000000U);
 ptr = (int *)pre_ptr ; // 포인터 캐스팅 사용


위와 같이 상수 주소 값을 포인터에 할당하는 코드가 있을 경우,
테스트를 실행했을 때 signal error가 발생할 수 있습니다.

이 때, 프로젝트에 사용한 툴체인.ini 파일에 use_memory_map=1 옵션이 설정되어 있다면,
프로젝트에서 사용할 가상 메모리 주소를 설정해줌으로써 signal error를 해결할 수 있습니다.

프로젝트에서 가상 메모리 주소를 설정하기 위해서는 아래의 방법을 사용할 수 있습니다.

1. [환경설정] > [테스트] > [가상 메모리 주소] 에서 사용하고자 하는 가상 메모리 주소 추가

2. [프로젝트] > [특성] > [테스트] > [가상 메모리 주소] 에서 추가한 가상 메모리 주소 설정


위 방법으로 가상 메모리 주소를 설정한 후,
프로젝트를 재분석하고 테스트를 실행하면 signal error 가 발생하지 않는 것을 확인할 수 있습니다.

*툴체인의 .ini 파일은 [환경설정] > [툴체인] > [설정 디렉터리 열기] 를 실행하여
확인할 수 있습니다. 옵션을 작성할 때, [CONVERTER_OPTION] 하위에 작성해야 합니다.

*일반 포인터 변수에 대해서 포인터 캐스팅을 사용하는 경우,
use_memory_map와 convert_pointer_cast_variable 옵션을 전부 1로 켜야 합니다.

자세한 방법은 Controller Tester Troubleshooting Guides를 참고해주세요.

아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.