Cette page présente la liste des modules complémentaires OpenBLT actuellement disponibles. Ils contiennent des fonctionnalités que nous avons dérivées des personnalisations du bootloader couramment demandées. Notez que ces modules complémentaires ne sont pas publiés sous la licence GNU GPL et ne sont donc disponibles qu’en combinaison avec une version d’OpenBLT sous licence commerciale.
En utilisant OpenBLT, vous donnez à vos utilisateurs la possibilité de mettre à jour le micrologiciel de votre produit. En fonction de votre application, cela peut avoir des effets secondaires négatifs potentiels, notamment les suivants :
Le module de chiffrement du micrologiciel contrecarre ces effets secondaires indésirables. Le code de programme de votre fichier de micrologiciel est chiffré à l’aide d’une clé cryptographique AES 256 bits unique. Une fois que le bootloader a reçu le code de programme lors d’une mise à jour du micrologiciel, le code est déchiffré juste avant d'être écrit dans la mémoire non volatile du microcontrôleur.
Le chiffrement lui-même est effectué par un programme de ligne de commande. Il peut être appelé manuellement ou en tant qu’étape post-génération automatisée, après avoir compilé et lié le code source de votre logiciel.
Ce module complémentaire est livré avec :
Nous proposons un module de somme de contrôle améliorée qui utilise une somme de contrôle CRC-16 sur l’ensemble du code du programme. Avec ce module, vous pouvez avoir la certitude que le bootloader ne lance votre programme utilisateur que si tous les bits de votre code de programme sont corrects dans la mémoire flash. Cela permet d’éviter que votre programme utilisateur endommage votre système si quelqu’un a falsifié votre microcontrôleur, si une défaillance de la mémoire flash s’est produite, ou si le contenu de la mémoire flash a été accidentellement modifié.
Un programme de ligne de commande est inclus pour calculer les informations de la somme de contrôle sur l’ensemble du code de programme de votre micrologiciel. Ensuite, il corrige les informations de somme de contrôle dans le fichier du micrologiciel. Il peut être appelé manuellement ou en tant qu’étape post-génération automatisée, après avoir compilé et lié le code source de votre logiciel.
Ce module complémentaire est livré avec :
Dans un système comportant un microcontrôleur maître et un ou plusieurs microcontrôleurs esclaves, seul le maître dispose généralement d’une ligne de communication ouverte vers le monde extérieur. Lorsque vous exécutez le bootloader OpenBLT sur le maître, les mises à jour du micrologiciel peuvent être effectuées sur le maître, mais comment effectuer une mise à jour du micrologiciel sur les esclaves ? Le module complémentaire de passerelle maître/esclave est la réponse à cette question. Ce module complémentaire ajoute une passerelle au bootloader OpenBLT fonctionnant sur le maître, permettant d’effectuer des mises à jour du micrologiciel sur les esclaves par le biais de cette passerelle.
Lorsque vous lancez une mise à jour du micrologiciel avec MicroBoot ou BootCommander, vous pouvez configurer un paramètre de mode de connexion. Il s’agit d’une valeur de 8 bits qui est envoyée lors de la connexion au bootloader. Lorsque le bootloader OpenBLT sur le maître reçoit une demande de connexion, la valeur du paramètre « connection-mode » est évaluée. Si elle est égale à zéro, les mises à jour du micrologiciel se poursuivent comme d’habitude sur le maître. Si la valeur est supérieure à zéro, la passerelle est activée et la demande de connexion est transmise au réseau maître/esclave, où la demande est détectée par le bootloader OpenBLT fonctionnant sur l’esclave. Avec cette solution, il est possible de sélectionner jusqu’à 255 esclaves individuels pour une mise à jour du micrologiciel.
Le module de passerelle maître/esclave contient une couche de séparation entre la fonctionnalité de passerelle de haut niveau et la communication de bas niveau. Cela permet à la passerelle de fonctionner avec n’importe quel réseau maître/esclave. Ce module a été testé avec succès avec RS232, CAN, SPI, I2C et RS485.
Ce module complémentaire est livré avec :