Dans cet article, nous allons vous montrer l’utilisation d’un nouvel utilitaire permettant d’inter agir avec la ZiGate.
Ce logiciel fournit par NXP est un outil Windows fonctionnant en ligne de commande. Il possède globalement les mêmes fonctions que l’outil FlashProgrammer.
Cependant, (c’est souvent le cas pour les outils en ligne), il est muni de fonctions avancées très utiles. En effet, comme son nom l’indique, il est principalement développé pour de l’aide à la production.
Fonctionnalités de l’outil
Voici toutes les fonctionnalités de l’outil :
Fonctionnalités disponibles
Comme vous pouvez le constater, il y a quelques fonctionnalités très utiles.
Je sais aussi que beaucoup d’utilisateurs / développeurs de la ZiGate ont demandés des solutions pour sauvegarder / cloner la ZiGate pour faire des tests ou monter une plateforme à part.
Grâce à cet outil, vous pourrez sauvegarder et restaurer une ZiGate.
Pour bien comprendre la procédure, il est important de bien comprendre l’architecture de la mémoire d’une ZiGate. Bien entendu, je ne vais pas m’étendre sur la technique du microcontrôleur mais je vais tenter de faire très simple.
En gros, la ZiGate possède 3 types de mémoires :
- La flash : cette mémoire est non volatile et comprend le programme principal. Elle contient aussi la structure (les adresses / liens ) vers la base de données (PDM) contenant les informations de vos capteurs appairés.
- L’EEPROM : c’est une mémoire non volatile qui comprend les informations utiles de vos capteurs appairés à la ZiGate.
- La RAM : Mémoire volatile permettant de charger certaines fonctions critiques permettant une exécution plus rapide et non corruptible.
Vous l’aurez compris, pour sauvegarder ou cloner une ZiGate, il faudra sauvegarder la mémoire Flash et l’EEPROM.
Procédures à suivre
Afin de pouvoir suivre les procédures, vous devez bien entendu télécharger le programme suivant :
JN51XX_ProductionFlashProgrammer
Pour chaque commande lancée, il faut brancher la ZiGate en mode « mise à jour » en suivant la procédure suivante. (Comme si vous deviez mettre à jour la ZiGate).
Il faut brancher la ZiGate sur le port USB de votre ordinateur en maintenant le bouton appuyé.
Sauvegarder la ZiGate
Pour sauvegarder ou cloner la ZiGate, il faut lancer les deux commandes permettant de sauvegarder les 2 mémoires.
Pour cela, vous devez avant tout ouvrir une invite de commande ou un powershell.
Placez-vous dans le bon répertoire contenant l’exécutable puis lancer les commandes suivantes :
Sauvegarde de la Flash:
.\JN51xxProgrammer.exe -s COM4 -P 115200 -F Backup_ZiGate_Flash.bin
Sauvegarde de l’EEPROM
.\JN51xxProgrammer.exe -s COM4 -P 115200 -E Backup_ZiGate_EEprom.bin
Une fois effectuée, vous pouvez contrôler que les deux fichiers apparaissent bien dans le répertoire :
Restaurer la ZiGate
Tout comme la sauvegarde, on retrouve quasiment les mêmes commandes
Restauration de la Flash :
.\JN51xxProgrammer.exe -s COM4 -P 115200 -f .\Backup_Zigate_Flash_00-15-8D-00-01-ED-BE-74.bin
Restauration de l’EEprom
.\JN51xxProgrammer.exe -s COM4 -P 115200 -e .\Backup_Zigate_EEprom_00-15-8D-00-01-ED-BE-74.bin
Conclusion
Cet outil vous permettra donc de sauvegarder / cloner votre ZiGate. Cependant, il existe, à l’heure où j’écris cet article, une inconnue. En effet, La mémoire flash et intimement liée à la mémoire EEprom et actuellement, vous ne pouvez pas dissocier l’un de l’autre.
La solution serait de trouver et fixer l’adresse mémoire du PDM en flash pour que, quelque soit le firmware, on puisse garder l’EEPROM intacte.
Il sera beaucoup plus intéressant de ne sauvegarder que l’EEPROM mais aujourd’hui, ce n’est pas encore possible.
J’ai aussi rédigé cet article car la sortie du nouveau firmware (3.0e) est pour très bientôt. Il fallait bien un échappatoire au cas où la mise à jour se passe mal ;).
Bref, n’hésitez pas à me remonter vos questions, erreurs et difficultés.*
A bientôt !