Der Bootloader (BSL) auf MSP430™ Mikrocontrollern (MCUs) ermöglicht es dem Benutzer, während der Prototyping-Phase, der Endproduktion und im Betrieb mit dem in den MSP-MCUs eingebetteten Speicher zu kommunizieren. Diese Kommunikation über Standardschnittstellen wie UART, I2C, SPI und USB. Sowohl der programmierbare Speicher (Flash/FRAM) als auch der Datenspeicher (RAM) können nach Bedarf verändert werden.
Folgende Schritte sind erforderlich, um den MSPBSL zu verstehen und effektiv im gesamten MSP-Portfolio einzusetzen. Aktuelle Informationen darüber, welche Funktionen der BSL auf Ihrem Gerät unterstützt oder welche Schnittstellenmethoden zur Kommunikation mit dem BSL erforderlich sind, finden Sie in der „TABELLE 1. Übersicht über die BSL-Funktionen“ in den BSL-Benutzerhandbüchern, auf die in SCHRITT 1 verwiesen wird.
STEP 1: Verstehen des MSP-Bootloaders (BSL)
Einige Anwendungen benötigen einen angepassten Bootloader, um Anforderungen außerhalb des bereitgestellten BSL zu erfüllen. Darüber hinaus erlauben einige MSP-MCUs wie die MCU-Familien MSP430F5xxx, MSP430F6xxx und SimpleLink MSP432 dem Benutzer die Anpassung des werkseitig programmierten BSL. Die meisten Bausteine haben jedoch einen BSL im ROM, der nicht geändert werden kann. Für diese Bausteine müsste eine alternative BSL-Lösung wie ein Hauptspeicher-Bootloader verwendet werden, um den Bootladeprozess anzupassen
STEP 2: Aktualisieren der Anwendungsfirmware mit dem MSP BSL
Nach dem Erlangen eines Grundverständnisses des BSL kann ein Baustein mit dem BSL kommuniziert und/oder programmiert werden. Dazu gibt es verschiedene Möglichkeiten, wie unten beschrieben.
Kommunikationsbrücke – Hardware für die BSL-zu-PC-Verbinding
Um den BSL des MSP430 MCU mit einem PC zu verbinden, ist möglicherweise zusätzliche Hardware erforderlich. Im Folgenden finden Sie einige Optionen zum Verbinden des MSP430 BSL mit einem PC.
Der MSP430-BSL Programmierer („BSL Rocket“) ist eine Brücke zwischen dem MSP430 BSL und einer USB-Verbindung zu einem PC. Der MSP430-BSL Rocket ist das Produkt einer Zusammenarbeit zwischen Olimex LTD und Texas Instruments. Die PCB und Firmware des MSP430-BSL Programmierers sind quelloffen und unterstützen die UART-, I2C- und SPI-Kommunikation.
Der MSP-FET-Programmierer und Debugger unterstützt auch BSL-Schnittstellen für die Programmierung.
Der MSP-GANG-Produktionsprogrammierer kann bis zu acht MCUs gleichzeitig programmieren und unterstützt auch die UART-BSL-Schnittstelle.
Ein USB-Design auf einer kundenspezifischen Platine kann auch für den Zugriff auf die USB-BSL auf MSP430 MCU-Geräten verwendet werden, die ein USB-Peripheriegerät enthalten. Eine Python-basierte GUI hilft auch bei der Aktualisierung der USB-BSL-Firmware auf MSP430-Geräten. Diese Software ist Teil des unten verlinkten USB Entwickler-Pakets.
BSL Scripter – PC-seitige Software
Der BSL-Scripter ist ein Kommandozeilenprogramm zur Kommunikation mit dem MSP430 MCU BSL auf einem PC mit Windows®, Linux® und macOS® X über eine Kommunikationsbrücke. Zu den unterstützten Kommunikationsbrücken zählen der MSP-BSL-Programmierer („BSL Rocket“), der MSP-FET und der USB-BSL auf bestimmten MSP430 flash-basierten Geräten. Weitere Informationen zur Verwendung dieses Programms finden Sie im Benutzerhandbuch zum BSL-Skripter. Im Download der BSL-Scripter-Software ist auch BSLDEMO2 (veraltetes Befehlszeilentool für BSL) für ältere Geräte enthalten, die vom BSL-Skripter nicht unterstützt werden. BSLScipter ist als Standalone-Version verfügbar und in UniFlash v4.6.0 oder höher integriert.
Embedded-Programmierlösungen
Einige Anwendungen haben keinen Zugriff auf einen PC zur Programmierung einer MSP430-MCU über BSL. Ein Host-BSL-Treiber kann einfach geschrieben werden, um das MSP430-BSL-Protokoll über UART, I2C oder USB zu verwenden. Die folgenden Anwendungshinweise demonstrieren diese Fähigkeit. Benutzerdefinierte Lösungen für einen ausgewählten eingebetteten Host sollten dem BSL-Protokoll folgen, das in den BSL-Benutzerhandbüchern in Schritt 1 beschrieben ist.
MSP430™ Bootloader mit SimpleLink™ MCUs ist die App Note, die die Software zur Einbettung des Host für den MSP430-Bootloader bereitstellt.
MSP430&™ Bootloader mit Sitara™ Embedded Linux Host ist die App Note, die die Software zur Einbettung des Host für den UART-basierten MSP430-Bootloader bereitstellt. Das Projekt basiert auf dem Host, der mit Sitara Embedded Linux Host implementiert wurde.
MSP430™ Firmware-Updates über I2C mit Linux® ist die App Note, die die Software für einen eingebetteten Host für einen 12C-basierten MSP430-Bootloader bereitstellt. Das Projekt basiert auf dem Host, der mit dem TI BeagleBone Black und der Debian Linux-Distribution implementiert wurde.
STEP 3: Anpassen des MSP-BSL
Einige Anwendungen benötigen einen angepassten Bootloader, um Anforderungen außerhalb des bereitgestellten BSL zu erfüllen. Darüber hinaus erlauben einige MSP-MCUs wie die MCU-Familien MSP430F5xxx, MSP430F6xxx und SimpleLink MSP432 dem Benutzer die Anpassung des werkseitig programmierten BSL. Die meisten Bausteine haben jedoch einen BSL im ROM, der nicht geändert werden kann.
Benutzerdefinierte BSL-Dokumentation
Auf den Flash-basierten MSP430F5xxx- und MSP430F6xxx-MCU-Familien können Entwickler den BSL-Quellcode ändern, um dem Standard-BSL verschiedene Peripherieschnittstellen, benutzerdefinierte Eingabefolgen oder andere benutzerdefinierte Funktionen hinzuzufügen. Verwenden Sie den unten verlinkten BSL-Quellcode als Referenz beim Anpassen des BSL. Alle verfügbaren BSL-Firmware-Images und der BSL-QUELLCODE sind im Softwarepaket mit BSL430 QUELLEN enthalten. Der BSL-Quellcode ist nur für die neueste BSL-Version verfügbar.
Der Quellcode für MSP432E4-MCUs ist im SimpleLink MSP432E4 SDK verfügbar
Hauptspeicher-BSLs
MSP430 MCUs haben zwei verschiedene (anwendungsseitige) Hauptspeicher-BSLs, die an die Bedürfnisse einer Anwendung angepasst werden können. Diese Lösungen ersetzen nicht den im Lieferumfang enthaltenen BSL, sondern setzen auf der Anwendungssoftware auf, um einen BSL anzupassen.
Für Flash-basierte MSP430-MCUs wird MSPBOOT angeboten:
Für FRAM-basierte MSP430-MCUs wird MSPFRBOOT mit einer Over-the-Air-Aktualisierungsoption angeboten:
Sichere Firmware-Updates
Einige Anwendungen erfordern sichere Firmware-Updates. Für diese Fälle wird Folgendes zur Verfügung gestellt.
Der Crypto-Bootloader (CryptoBSL) ist ein benutzerdefinierter Bootloader, der auf den FRAM-Mikrocontrollern MSP430FR59xx und MSP430FR69xx entwickelt und implementiert wurde. Dieser Bootloader verwendet kryptografische Funktionen, um die Sicherheit von In-Field-Firmware-Aktualisierungen zu erhöhen.