애플리케이션이 독립 실행형으로 실행되지 않는 이유는 무엇입니까?

기술노트 240109

아키텍처:

Arm, Renesas Synergy

컴포넌트:

debugger

업데이트:

2024-01-15 오후 5:59

소개

애플리케이션이 실행되지 않는 데에는 여러 가지 원인이 있을 수 있습니다. 이 기술 노트는 다음 관찰과 관련이 있습니다:

  • C-SPY 디버거를 사용할 때 애플리케이션이 작동합니다.
  • 애플리케이션은 독립 실행형 모드에서 작동하지 않습니다.

독립형 실행 문제의 가장 일반적인 근본 원인은 다음과 같습니다:

  • C-SPY 디버거는 필요한 특수 기능 레지스터(SFR: Special Function Registers)을 설정하는 데 사용할 수 없습니다. 이 원인은 기술 노트 21904에서 다룹니다.
  • 해당 부팅 코드를 실행하지 않고 애플리케이션을 실행하려고 합니다. 이 원인은 이 기술 노트에서 다룹니다.

논의

애플리케이션이 'bootloader-application-pair'의 일부인 경우, 애플리케이션 자체는 독립 실행형으로 실행될 수 없습니다. C-SPY 디버거를 사용할 때, C-SPY는 메모리의 어느 위치에서나 실행 파일을 로드하고 실행할 수 있습니다. 즉, 부트로더를 설치하지 않고도 C-SPY에서 애플리케이션을 디버깅할 수 있습니다.

부트로더를 사용하도록 애플리케이션을 빌드하는 경우:

  • 그런 다음 애플리케이션은 프로세서의 RESET 시작 주소에서 실행되도록 연결되지 않습니다.
  • 따라서 애플리케이션은 시작 시 실행되는 일종의 부팅 코드에 의해 점프될 것으로 예상됩니다.
  • 그리고 사용자가 대상을 다시 시작하면(작동하는 부트로더 없이) 애플리케이션이 시작 및 실행되지 않습니다.

독립 실행형을 실행하기 위한 해결 방법은 부트로더를 대상에 다운로드하는 것인 경우가 많습니다. 그러나 다른 조치도 취해야 할 수도 있습니다. 이는 부트로더와 애플리케이션이 상호 작용하는 방식에 따라 다릅니다. (부트로더, 애플리케이션 및 상호 작용의 예는 기술 노트 160822에서 찾을 수 있습니다.)

결론

이 기술 노트는 application-bootloader-pair로 작업할 때 독립 실행형을 실행하는 문제를 다루고, 기술 노트 21904는 C-SPY와 관련된 원인을 다룹니다.

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

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