MSPBSL_CUSTOMBSL430 — MSB bootloader for MSP430
MSPBSL_CUSTOMBSL430 — MSB bootloader for MSP430
Source code and released BSL images for MSP430
출시 정보
Previous releases can be downloaded from here.
MSP430™ 마이크로컨트롤러(MCU)의 부트로더(BSL)를 사용하면 프로토타이핑 단계, 최종 프로덕션 및 서비스 단계에서 MSP MCU의 임베디드 메모리와 통신할 수 있습니다. 이는 UART, I2C, SPI, USB와 같은 표준 인터페이스를 통해 수행됩니다. 필요에 따라 프로그래머블 메모리(Flash/FRAM)와 데이터 메모리(RAM)를 모두 수정할 수 있습니다.
MSP 포트폴리오 전체에 걸쳐 MSPBSL을 효과적으로 이해하고 사용하는 데 필요한 단계는 다음과 같습니다. 장치의 BSL이 지원하는 기능 또는 BSL과 통신하는 데 필요한 인터페이스 방법에 대한 최신 정보는 1단계에 링크되어 있는 BSL 사용 설명서에 포함되어 있는 "표 1. BSL 기능의 개요"를 참조하십시오.
일부 애플리케이션의 경우 제공되는 BSL 이외의 요구 사항을 충족하기 위해 사용자 지정된 부트로더가 필요합니다. 또한 MSP430F5xxx, MSP430F6xxx 및 SimpleLink MSP432 MCU 제품군과 같은 일부 MSP MCU는 사용자가 출하 시 프로그래밍된 BSL을 사용자 지정할 수 있지만 대부분의 디바이스는 ROM에 BSL이 있어 변경할 수 없습니다. 이러한 장치의 경우 메인 메모리 부트로더와 같은 대체 BSL 솔루션을 사용하여 부트 부하 프로세스를 사용자 지정해야 합니다.
BSL에 대한 기본적인 이해가 이루어졌다면 이제 BSL을 사용하여 통신 및/또는 장치 프로그밍을 하고자 할 것입니다. 그렇게 하는 데에는 아래와 같이 다양한 방법이 있습니다.
커뮤니케이션 브리지 – BSL-PC 연결용 하드웨어
MSP430 MCU의 BSL을 PC에 연결하려면 몇 가지 추가 하드웨어가 필요할 수 있습니다. 다음은 MSP430 BSL을 PC에 연결하는 몇 가지 옵션입니다.
MSP430-BSL Programmer("BSL Rocket")는 MSP430 BSL과 PC의 USB 연결 간의 브리지입니다. MSP430-BSL Rocket은 Olimex LTD와 텍사스 인스트루먼트 간 협업 제품입니다. MSP430-BSL Programmer의 PCB와 펌웨어는 오픈 소스로 UART, I2C 및 SPI 통신을 지원합니다.
MSP-FET 프로그래머 및 디버거는 프로그래밍을 위한 BSL 인터페이스도 지원합니다.
MSP-GANG Production Programmer는 최대 8개의 MCU를 프로그래밍하면서 동시에 UART BSL 인터페이스도 지원합니다.
사용자 지정 보드의 USB 설계를 사용하여 USB 주변 기기가 포함된 MSP430 MCU 장치의 USB BSL에도 액세스할 수 있습니다. MSP430 장치에서 USB BSL 펌웨어 업그레이드에 유용한 Python 기반 GUI도 제공됩니다. 이 소프트웨어는 아래에 링크 연결된 USB 개발자 패키지의 일부입니다.
BSL Scripter – PC 측 소프트웨어
BSL Scripter는 통신 브리지를 통해 Windows®, Linux® 및 macOS® X를 구동하는 PC에서 MSP430 MCU BSL과 통신하는 데 사용되는 명령줄 프로그램입니다. 지원되는 통신 브리지에는 MSP-BSL 프로그래머("BSL Rocket"), MSP-FET 및 특정 MSP430 플래시 기반 장치의 USB BSL이 있습니다. 이 프로그램 사용 방법에 대한 자세한 내용은 BSL Scripter 사용 설명서를 참조하십시오. BSL Scripter 소프트웨어 다운로드 안에는 BSL Scripter가 지원하지 않는 구형 장치용으로 BSLDEMO2(더 이상 사용되지 않는 BSL용 명령줄 도구)도 포함되어 있습니다. BSLScipter는 독립적으로 사용할 수 있으며, UniFlash v4.6.0 이상 버전에 통합되어 있습니다.
임베디드 프로그래밍 솔루션
일부 애플리케이션의 경우 BSL을 통한 MSP430 MCU의 프로그래밍을 위해 PC에 액세스할 수 없습니다. UART, I2C 또는 USB를 통해 MSP430 BSL 프로토콜을 사용하도록 호스트 BSL 드라이버를 쉽게 작성할 수 있습니다. 다음 애플리케이션 노트는 이 기능을 보여줍니다. 선택한 임베디드 호스트를 위한 사용자 지정 솔루션은 1단계의 BSL 사용 설명서에 나와 있는 BSL 프로토콜을 따라야 합니다.
SimpleLink™ MCU를 지원하는 MSP430™ Bootloader는 MSP430 부트로더용 임베디드 호스트에 필요한 소프트웨어를 제공하는 앱 노트입니다.
Sitara™ Embedded Linux Host를 지원하는 MSP430™ Bootloader는 UART 기반 MSP430 부트로더에 필요한 소프트웨어를 제공하는 앱 노트입니다. 이 프로젝트는 Sitara 임베디드 Linux 호스트를 사용하여 구현되는 호스트를 기반으로 합니다.
Linux™를 이용하고 I2C를 통해 진행하는 MSP430™ 펌웨어 업데이트는 I2C 기반 MSP430 부트로더에 대한 임베디드 호스트를 위한 소프트웨어를 제공하는 앱 노트입니다. 이 프로젝트는 스톡 Debian Linux 배포를 구동하는 TI BeagleBone Black을 사용해 구현되는 호스트를 기반으로 합니다.
일부 애플리케이션의 경우 제공되는 BSL 이외의 요구 사항을 충족하기 위해 사용자 지정된 부트로더가 필요합니다. 또한 MSP430F5xxx, MSP430F6xxx 및 SimpleLink MSP432 MCU 제품군과 같은 일부 MSP MCU는 사용자가 출하 시 프로그래밍된 BSL을 사용자 지정할 수 있지만 대부분의 디바이스는 ROM에 BSL이 있어 변경할 수 없습니다.
사용자 지정 BSL 문서
플래시 기반 MSP430F5xxx 및 MSP430F6xxx MCU 제품군에서 개발자는 여러 주변 기기 인터페이스, 사용자 지정 입력 시퀀스 또는 기타 사용자 지정 기능을 표준 BSL에 추가하기 위해 BSL 소스 코드를 변경할 수 있습니다. BSL을 사용자 지정할 때는 아래에 링크 연결된 BSL 소스 코드를 참조로 사용하십시오. 사용 가능한 모든 BSL 펌웨어 이미지 및 BSL 소스 코드는 BSL430-SOURCE 소프트웨어 패키지 내에 포함되어 있습니다. BSL 소스 코드는 가장 최근 BSL 버전용으로만 제공됩니다.
MSP432E4 MCU용 소스 코드는 SimpleLink MSP432E4 SDK 내에 포함되어 있습니다.
주 메모리 BSL
MSP430 MCU에는 애플리케이션의 필요에 맞춰 사용자 지정할 수 있는 2개의 다른 주 메모리(애플리케이션 측) BSL이 있습니다. 이 솔루션은 장치에 포함되어 있는 BSL을 대체하지는 않지만 BSL을 사용자 지정하기 위해 애플리케이션 소프트웨어 위에 올라갑니다.
플래시 기반 MSP430 MCU의 경우 MSPBOOT가 제공됩니다.
FRAM 기반 MSP430 MCU의 경우 MSPFRBOOT는 무선 업데이트 옵션을 제공합니다.
안전한 펌웨어 업데이트
일부 애플리케이션의 경우 안전한 보안 펌웨어 업데이트가 필요합니다. 이러한 상황에서는 다음과 같은 기능을 사용할 수 있습니다.
Crypto Bootloader(CryptoBSL)는 MSP430FR59xx 및 MSP430FR69xx FRAM 마이크로컨트롤러에서 개발 및 구현된 사용자 지정 부트로더입니다. 이 부트로더는 암호화 기능을 사용하여 현장 펌웨어 업데이트에 대해 더욱 강력한 보안을 제공합니다.
Source code and released BSL images for MSP430
Previous releases can be downloaded from here.
MSPBSL_CustomBSL432 Package
MSPFRBoot Software Package
MSP430FRBoot – Main Memory Bootloader and Over-the-Air Updates for MSP430 FRAM
This software package includes all necessary source code and sample applications that are required to use and customize the bootloader.