KOKU005 February 2023
보조 부트로더는 참조용 SDK 예제의 일부로 제공됩니다. 이 섹션에서는 이에 대해 자세히 설명합니다.
설명
이 샘플 보조 부트로더는 장치의 기본 BSL(ROM BSL)과 동일한 BSL 프로토콜 형식을 사용하여 메모리의 데이터 프로그래밍/확인을 지원하며 ROM BSL과 동일한 방식으로 호출할 수 있습니다.
다음과 같은 주요 기능을 지원합니다
USB를 사용하여 PHY와 통신합니다.
이 예에서는 보조 부트로더 구현과 등록에 대해 다룹니다. 따라서 이 이미지가 장치에 로드되면 장치의 기본 부트로더를 사용할 수 없습니다. 보조 부트로더만 활성화됩니다. 기본 부트로더를 사용하도록 장치를 되돌리려면 SWD_Factory_Reset 명령을 사용해야 합니다(하위 시스템 디버그 사서함을 통해 공장 초기화). .
사용 예
소프트웨어 파일 세부 정보
파일 이름 | 세부 정보 |
---|---|
secondary_bsl.c |
BSL 작동에 필요한 주변 기기를 초기화합니다. 통신 인터페이스에서 명령 패킷을 수신하여 명령 처리 계층으로 전달합니다. 또한 BSL 구성 메모리에 2차 부트로더를 등록하는 일도 수행합니다. |
bsl_ci.c |
명령 패킷을 해석하고, 명령을 처리하고, 응답을 호스트에 다시 보냅니다 |
bsl_ci.h |
BSL 명령 및 응답의 정의가 포함되어 있습니다. bsl_ci.c의 함수 선언도 볼 수 있습니다. |
bsl_uart.c |
호스트와 BSL 코어 간의 통신을 처리합니다 |
bsl_uart.h |
bsl_uart.c의 BSL 승인 및 함수 선언에 대한 정의가 포함되어 있습니다 |
ti_msp_dl_config.h |
UART 핀, 사용된 주변 장치의 기본 주소 등과 같은 장치별 구성이 포함되어 있습니다 |
boot_config.h |
BCR 및 BSL 구성 구조를 포함하고 있습니다 |
factory_config.c |
SRAM 메모리 크기와 같이 출하 시 구성된 장치별 데이터를 가져오는 기능을 구현합니다. |
factory_config.h |
factory_config.c의 공장 구성 구조 및 함수 선언을 포함합니다 |
startup_mspm0x_ticlang |
벡터 테이블, 재설정 처리기 및 기타 핸들러가 포함된 시작 파일입니다 |
mspm0x.cmd |
보조 부트로더 이미지가 메모리 및 해당 이미지가 작동해야 하는 SRAM 영역에 있어야 하는 메모리 영역을 지정하는 링커 명령 파일입니다. |
사용자화
이 예제는 보조 부트로더에 대한 레퍼런스 구현을 제공합니다. 필요에 따라 사용자 지정할 수 있습니다. BSL 코어 계층(secondary_bsl.c, bsl_ci.c) 또는 인터페이스 계층(bsl_uart.c)은 사용자 지정이 수행되는 주요 위치입니다.
따라야 할 단계
필요에 따라 코드를 수정합니다
변경이 완료되면 코드를 컴파일합니다
BCR 구성에서 플래시 쓰기 보호 설정을 적절하게 수정합니다
BCR 구성에 대한 CRC를 계산하고 새 CRC 값을 저장합니다
코드를 다시 컴파일합니다
사용자 지정된 BSL 이미지를 로드합니다