__loadModule 매크로를 사용하여 두 개의 프로그램 이미지를 디버깅

기술노트 73861

아키텍처:

ARM

컴포넌트:

debugger

업데이트:

2021-05-20 오후 3:38

소개

만약 한 프로젝트에서 빌드된 bootloader와 다른 프로젝트에서 빌드된 응용프로그램을 가지고 있다면, 디버그 정보가 활성 프로젝트에만 사용가능 하기에 동시에 디버깅 하는데 어려움이 있을 수 있습니다.

이 예시는 C-SPY 매크로 __loadModule (IAR Embedded Workbench for ARM 버전 5.30) 혹은 __loadImage (IAR Embedded Workbench for ARM 버전 6.21)를 비활성화 프로젝트의 디버그 파일에서 디버깅 정보를 읽기위해 사용하는 방법에 대해 기술합니다.

알림 IAR Embedded Workbench for ARM 버전 6.21 (혹은 상위버전)에서는 'Debugger > Images'  옵션을 매크로 대신 사용할 수 있습니다.

이 예제 프로그램은 각각 별도의 프로젝트에 구축된 bootloader와 응용프로그램으로 구성되어 있습니다.

bootloader는 활성 프로젝트로, 원시 바이너리(프로그램)를 정의된 주소로 로드하고, 이 주소로 이동(jumps)합니다.

프로젝트는 시뮬레이터에서 실행되며, 디버그 정보는 응용프로그램 뿐만아니라 bootloader에 사용할 수 있습니다.

아래 링크의 예제 프로그램을 다운로드 후, 예제 프로그램을 어떻게 빌드하고 실행하는지 readme.pdf 파일을 참고하세요.

Example application IAR Embedded Workbench for ARM 5.30 (__loadModule.zip).zip

Example application IAR Embedded Workbench for ARM 6.21 (__loadImage.zip).zip

에매한 심볼들

두 이미지에 동일한 기호가 정의되어 있는 경우 디버그 정보를 결합하면 문제가 발생할 수 있습니다.
이 상황을 처리하는 한 가지 방법은 이미지 창(Images window)을 여는 것입니다(IAR Embedded Workbench for ARM 버전 5.40 혹은 상위 버전에선, 'View > Images' 사용). 나열된 이미지 중 하나를 강조 표시하고 선택한 이미지에 대해서만 디버그 정보를 표시하도록 선택합니다. 즉, 마우스 오른쪽 버튼을 클릭하고 다른 'Show only <image>' 중 하나를 선택합니다.

 

모든 제품 이름은 해당 소유자의 상표 또는 등록 상표입니다.

죄송하지만, 당사 사이트에서는 Internet Explorer를 지원하지 않습니다.보다 편안한 사이트를 위해 Chrome, Edge, Firefox 등과 같은 최신 브라우저를 사용해 주시길 부탁드립니다.