Étape 8: Half-duplex UART bootloader (Visual c#)
Pour ce projet j’ai une deuxième demande, a aussi écrit en Visual c#. Il est utilisé pour mettre à jour le firmware de l’horloge sans l’ouvrir. Pour utiliser cette application, vous devez connecter le PCB externe pour faire la ligne RX semi-duplex. Le fichier joint ci-dessous contient le répertoire du projet et final, prêt pour exécuter l’application.
Infos importantes
Bootloader est le programme qui est exécuté avant le début de l’émission principale. Cela signifie, si vous souhaitez mettre à niveau le logiciel, vous devrez redémarrer votre appareil et exécutez l’application avant le délai d’attente se produit. Cela peut être difficile, et c’est pourquoi vous devez utiliser l’option « réinitialisation du logiciel ». Lorsque l’horloge reçoit une commande spéciale, il redémarre de lui-même (et exécutez le programme d’amorçage). Vous devez définir la commande correcte (pour l’horloge c’est \x00060402\x0A) et le débit en bauds (10000), sinon l’appareil ne redémarre.
Si vous ne voulez pas utiliser la réinitialisation du logiciel, vous pouvez toujours utiliser l’app, mais vous devrez redémarrer le périphérique manuellement avant de cliquer sur « lire périphérique », boutons « info » et « envoyer ».
À l’aide de l’application
Avant d’utiliser l’application, vous devez choisir un nom de port correct (cliquez sur le bouton Actualiser si nécessaire). Tous les autres paramètres doivent être chargés automatiquement lorsque vous exécutez le programme d’amorçage du panneau de commande (en cliquant sur le bouton de chargeur-amorce d’exécuter).
Tout d’abord, pour vérifier si tout fonctionne correctement, cliquez sur le bouton Info. Il va redémarrer l’horloge et vous montrer toutes les infos sur son bootloader. Ensuite, sélectionnez l’Hexagone du fichier en cliquant sur le bouton "Flash (.hex)" et cliquez sur Envoyer écrire le nouveau firmware dans l’horloge. Vous verrez une barre de progression sous - quand il s’agit de mettre fin, l’horloge va redémarrer avec le nouveau firmware.
La mise à niveau EEPROM de l’app n’est pas supporté dans cette version. Je viens de faire le bouton et la zone de texte pour une utilisation future.