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' 창을 활용합니다. 여기서는 (컨텍스트 메뉴를 사용하여) 두 이미지 중 하나의 디버그 정보를 숨길 수 있습니다.
모든 제품 이름은 해당 소유자의 상표 또는 등록 상표입니다.