__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>' 중 하나를 선택합니다.
모든 제품 이름은 해당 소유자의 상표 또는 등록 상표입니다.