Ouvrir le menu Fermer le menu

Intégrité des données composants via Checksum avec les programmateurs Cyclone de PEMicro

trait de séparation
Temps de lecture : 4 minutes
Une méthode courante que nos clients utilisent pour vérifier l'intégrité des données d'un composant testé consiste à calculer le Checksum, puis à le comparer à une valeur réputée correcte. Pour faciliter cette tâche, PEmicro a ajouté la possibilité de calculer et de récupérer le Cheksum d’un composant testé. Cette fonction est disponible sur le Cyclone LC et le Cyclone FX, à partir de la version logicielle v.10.49. Le logiciel Cyclone le plus récent est toujours disponible dans l'onglet Assistance et téléchargements des pages produits Cyclone.

Les types de Checksums

Le Cyclone peut effectuer deux types de vérifications en utilisant les checksums CRC-16 :

1- Il existe un CRC-16 calculé à partir des adresses programmées sur le composant qui est comparé au CRC-16 calculé à partir des données brutes du fichier objet. Ce type de vérification nécessite l'ajout de la commande Verify Checksum (VC) dans votre script de programmation. Dans Cyclone Image Creation Utility, cliquez sur le bouton Show Device CRC pour afficher la valeur attendue calculée à partir du fichier objet.

Illustration 1 : Ajout de la commande Verify Checksum (VC)

Illustration 2 : Show Device CRC affichera la valeur CRC attendue ($6FC6)

2- Il existe un CRC-16 calculé à partir de l'ensemble du composant programmé qui est comparé à une valeur spécifiée. Cela nécessite l'ajout de la commande Verify Module CRC to Value (VV) dans votre script de programmation.
Une fois que le composant a été programmé, le CRC-16 sera calculé et récupéré par le cyclone. Toutefois, les algorithmes ne prennent pas toujours en charge les commandes VC ou VV : vérifiez sur le site PEMicro pour plus d’informations.

Illustration 3 : Ajout de la commande Verify Module CRC to Value (VV) avec la valeur CRC spécifiée ($8630)

Affichage du Checksum

Le Cyclone peut afficher les deux checksums sur son écran une fois l'image SAP exécutée avec succès. Voici les étapes pour les ajouter à l'affichage :

Menu -> Configure Cyclone -> Configure Screen -> Configure Home Screen -> Select Display Line -> Element: Object File CRC (VC) Calculated from Target

Menu -> Configure Cyclone -> Configure Screen -> Configure Home Screen -> Select Display Line -> Element: Whole Device CRC (VV) Calculated from Target

Vous pouvez accéder à l’écran et le visualiser à distance à l’aide de l’onglet Cyclone Control GUI’s Remote Display.

Illustration 4 : Les deux checksums affichés sur l’écran LCD du Cyclone

Récupération du checksum par programme

Vous pouvez récupérer les deux checksums à partir de la ligne de commande avec l'application "CycloneControlConsole" ou par programme dans votre application à l'aide du SDK de contrôle du Cyclone . Les checksums sont les propriétés "targetobjectcrc" et "targetdevicecrc" qui font partie de la catégorie "targetproperties".

Utilisation du Cyclone Control Console

Illustration 5 : Les deux checksums peuvent être récupérés avec le Cyclone Control Console

Utilisation du Cyclone Control SDK

Pour utiliser le Cyclone Control SDK dans votre application, utilisez la catégorie "targetproperties" et la propriété "targetobjectcrc" ou "targetdevicecrc". Si vous avez des questions sur l'utilisation du Cyclone Control SDK avec les propriétés, veuillez-vous reporter à la Section 3c « Travailler avec les propriétés » («Working With Properties») dans le post Cyclone Control SDK du blog PEmicro.

Échec de vérification

Ici, l’ensemble du mauvais CRC16 du composant est spécifié à l'aide de l'exemple précédent de la figure 3 pour montrer ce qui se passe en cas d'échec de la vérification. Le résultat est un code d'erreur, généralement compris entre $4001 et $4013 affiché à l'écran après l'exécution de l'image SAP.

Illustration 6 : Échec de vérification (erreur de résultat)

CONCLUSION

PEmicro considère que l'ajout de la capacité de calculer et de récupérer un checksum sera utile pour les utilisateurs de Cyclone, en rendant cette tâche courante plus facile à réaliser.

ISIT propose un ensemble de solutions de programmation :

Source :
PEMicro (http://www.pemicro.com/blog/index.cfm?post_id=197) – Auteur : Johnny Ng

Contact ISIT :
Christian BESSOUDOUX – Responsable BU Production & Test – cbessoudoux@isit.fr
2