MSP430 에 부트로더 생성

기술노트 13285

아키텍처:

MSP430

컴포넌트:

general

업데이트:

2021-07-15 오후 10:00

소개

본 기술 노트는 MSP430의 부트로더를 생성하는 방법에 대해서 기술합니다.

일반적인 제안

정보

MSP430용 부팅 로더와 응용 프로그램을 만드는 방법은 다양합니다. MSP430용 IAR Embedded Workbench를 사용하면 다음과 같은 두 가지 개별 프로젝트를 만들 것을 권장합니다.
부트 로더를 위한 프로젝트 하나와 응용 프로그램을 위한 프로젝트 하나.
그 후, "--image_input" 링커 옵션을 사용하여 다운로드를 위한 부트 로더와 애플리케이션 프로젝트를 "병합"할 수 있습니다.
부트 로더 코드를 주 응용 프로그램에 병합하려면 --image_input 및 -glinker 옵션을 다음과 유사한 방법으로 사용할 수 있습니다:

-gbootsymbol
--image_input=$PROJ_DIR$\Debug\Exe\Bootloader.bin,bootsymbol,BOOTLOADER,1

링커 설정 파일에 다음을 추가:

-Z(CONST)BOOTLOADER=addr1-addr2

기본 응용 프로그램이 빌드되면 부트 로더를 포함한 단일 출력 파일(디버그 정보 없음)이 생성됩니다.

배경

부팅 로더와 애플리케이션을 위한 별도의 프로젝트를 만드는 이유 중 하나는 컴파일러가 "지원 함수"를 사용하기 때문이다(예: "?"DivMod16u", "?ShiftLeft32") 및 이러한 기능은 수동으로 배치하거나 억제할 수 없습니다.

추가정보

도움말 -> IAR 링커 및 라이브러리 참조 가이드에서 "--image_input" 참조
이 옵션은 Project -> Options -> Linker -> Config의 "Raw binary image" 옵션에 해당합니다.
디버그 정보를 로드하려면 Project -> Options -> Debugger -> Images -> Download extra image를 사용하십시오(디버그 정보만 해당).

대체 해결방안 (디버깅)

적용...

...시뮬레이터 또는 FET 디버거 드라이버를 사용하여 디버깅시.

 

배경

두 드라이버 모두 추가 이미지를 다운로드할 수 있습니다. (이것은 다음 단계에서 사용됩니다.)

단계

  • (위에 사항 처럼) 부트로더를 위한 프로젝트와 프로그램을 위한 프로젝트를 빌드합니다.
  • 링크 시에 프로젝트를 "merge" 하지 않습니다
  • 프로그램 프로젝트를 활성 프로젝트로 합니다.
  • Project -> Options -> Debugger -> Images -> Download extra image 로 부트로더 프로젝트를 추가(프로그램 프로젝트에)
  • 중요 - "Debug info only" 체크 박스가 체크되지 않도록 확인 (즉, 'Generic suggestion'의 반대사항)
  • 다운로드
  • 다음 몇가지 고려사항을 확인하시기 바랍니다.
    • 2개의 주요 기능(부트 로더와 애플리케이션에 각각 하나씩)이 있으므로 "run to main"을 비활성화합니다.
    • "Stack plug in"을 사용하지 않도록 설정합니다(Tools -> Options 대화 상자).
    • 디버깅 시 - View > 'Images' 창을 활용합니다. 여기서는 (컨텍스트 메뉴를 사용하여) 두 이미지 중 하나의 디버그 정보를 숨길 수 있습니다.


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

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