int * ptr; int * pre_ptr = (int *) (0x60000000U); ptr = (int *)pre_ptr ; // 포인터 캐스팅 사용
위와 같이 상수 주소 값을 포인터에 할당하는 코드가 있을 경우, 테스트를 실행했을 때 signal error가 발생할 수 있습니다.
이 때 프로젝트에 사용한 툴체인의 .ini 파일에 use_memory_map=1 옵션이 설정되어 있다면, 프로젝트에서 사용할 가상 메모리 주소를 설정해줌으로써 signal error를 해결할 수 있습니다.
프로젝트에서 가상 메모리 주소를 설정하기 위해서는 아래의 방법을 사용할 수 있습니다.
- [환경설정] > [테스트] > [가상 메모리 주소] 에서 사용하고자 하는 가상 메모리 주소를 추가한 후, [프로젝트] > [특성] > [테스트] > [가상 메모리 주소] 에서 추가한 가상 메모리 주소를 설정해줍니다.
위 방법으로 가상 메모리 주소를 설정한 후, 프로젝트를 재분석하고 테스트를 실행하면 signal error 가 발생하지 않는 것을 확인할 수 있습니다.
*툴체인의 .ini 파일은 [환경설정] > [툴체인] > [설정 디렉터리 열기] 를 실행하여 확인할 수 있습니다. 옵션을 작성할 때, [CONVERTER_OPTION] 하위에 작성해야 합니다.
*일반 포인터 변수에 대해서 포인터 캐스팅을 사용하는 경우, use_memory_map와 convert_pointer_cast_variable 옵션을 전부 1로 켜야 합니다.
자세한 방법은 Controller Tester Troubleshooting Guides를 참고해주세요.
아티클이 유용했나요?
훌륭합니다!
피드백을 제공해 주셔서 감사합니다.
도움이 되지 못해 죄송합니다!
피드백을 제공해 주셔서 감사합니다.
피드백 전송
소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.