Bibliothèque technique gratuite ENCYCLOPÉDIE DE LA RADIOÉLECTRONIQUE ET DU GÉNIE ÉLECTRIQUE Comment vérifier un fichier HEX. Encyclopédie de l'électronique radio et de l'électrotechnique Encyclopédie de l'électronique radio et de l'électrotechnique / microcontrôleurs De nombreux radioamateurs, essayant de répéter tel ou tel appareil sur un microcontrôleur selon une publication de magazine, rencontrent souvent des difficultés inexplicables à première vue. Il semblerait que la santé du microcontrôleur ne fasse aucun doute, que le programmeur soit en parfait état et que l'appareil soit assemblé exactement selon le schéma, mais il refuse de fonctionner comme il se doit. Dans une telle situation, les plaintes contre l'auteur du développement ne sont pas rares - il a présenté, disent-ils, un programme inutilisable! En fait, dans la grande majorité des cas, les choses sont différentes. Les erreurs commises lors de la saisie manuelle du fichier HEX du programme dans l'ordinateur par son "impression" sur les pages de l'édition imprimée sont à blâmer. Beaucoup moins souvent, il y a des échecs lors de la copie de fichiers à partir de disquettes ou de leur "téléchargement" depuis Internet. Comment vérifier un fichier HEX ? La réponse à cette question se trouve dans l'article publié. Tout, à première vue, le plus inoffensif, à première vue, la faute de frappe dans le fichier HEX conduit à l'exécution d'une commande incorrecte par le microcontrôleur (MC), déforme souvent complètement l'algorithme spécifié de son fonctionnement et peut conduire à un comportement complètement imprévisible de l'appareil fabriqué. Aucun spécialiste le plus qualifié dans cette situation ne sera en mesure d'indiquer avec précision l'emplacement de l'erreur par des signes extérieurs. Il reste à vérifier le fichier HEX avec l'original très soigneusement et à plusieurs reprises. La particularité de notre psychisme est que, après avoir vérifié quelque chose une fois, nous sommes inconsciemment convaincus de notre propre infaillibilité, et lors de vérifications répétées, nous manquons souvent ce que nous n'avons pas remarqué la première fois. Par conséquent, il est utile d'avoir un assistant qui, sans même plonger dans l'essence du travail, effectuera un "contrôle indépendant". Vous ne devez en aucun cas partir sans vérifier les textes des programmes lus par le scanner avec reconnaissance ultérieure à l'aide du programme FineReader, etc. La pratique montre que les erreurs de reconnaissance de caractères sont inévitables même avec un texte imprimé de très haute qualité. Lors de la saisie manuelle des fichiers HEX (à partir du clavier) ou de leurs versions électroniques obtenues par numérisation, les événements suivants se produisent le plus souvent :
Le plus inoffensif de ces défauts est le dernier. Contrairement à d'autres, cela n'affecte pas les performances du programme. La même chose dans la plupart des cas peut être dite à propos de la violation de l'ordre des lignes. Cependant, les programmeurs qui assurent un contrôle strict sur l'exactitude des données d'entrée peuvent toujours rejeter un fichier contenant de telles erreurs. Il faut dire que le contrôle de l'exactitude de la structure du fichier HEX en cours de lecture à partir du disque est effectué par le logiciel de très nombreux programmeurs. Certaines possibilités sont inhérentes à la structure même d'un tel fichier, que l'on peut lire, par exemple, dans l'article de l'auteur "Développement et débogage d'appareils sur le MK" ("Radio", 2001, n ° 5, p. 19). Le problème est que le programmeur signale souvent uniquement le fait qu'une erreur a été détectée sans aucun détail, laissant l'utilisateur le découvrir par lui-même. Dans ce cas, le fichier défectueux s'avère souvent être complètement ou partiellement chargé dans le programmeur, et si vous donnez négligemment la commande "Programmation", des données erronées seront transférées dans la mémoire du MK. Après cela, la vérification sera terminée avec succès (vérification du contenu de la mémoire du MK et du programmeur) et l'utilisateur aura l'impression que tout est en ordre. À cet égard, le programme PonyProg (version 2.05 et antérieure) se comporte très dangereusement. En plus de HEX, il fournit plusieurs autres formats de fichiers d'entrée, et lors du chargement, il essaie de choisir le bon par lui-même. Ne reconnaissant pas correctement le format de fichier avec des erreurs, elle le saisit toujours en binaire. Sur la fig. 1 montre la vue de la fenêtre du programmeur PonyProg après une telle saisie. La mémoire ne contient pas les codes de commande de la machine, mais les codes ASCI de lettres et de chiffres qui composent un fichier texte HEX. Naturellement, selon un tel "programme", MK ne fonctionnera pas. La vue de la même fenêtre après avoir saisi le fichier sans erreur identique au premier est illustrée à la Fig. 2. Notez que le programmeur n'a donné aucun message d'erreur ou sur le format de fichier déterminé automatiquement dans les deux cas. Le programme sera en mesure d'aider à trouver et à corriger les erreurs dans le fichier HEX avant de le saisir dans le programmeur. VérifierHEX. Avec son aide, vous pouvez créer un nouveau fichier HEX en tapant son contenu sur le clavier de l'ordinateur. Dans ce dernier cas, la vérification a lieu simultanément à la saisie des données. La fenêtre de données du programme CheckHEX après la saisie d'un fichier HEX contenant plusieurs erreurs est illustrée à la Fig. 3. Dans sa partie supérieure, à gauche, les coordonnées actuelles du curseur sont affichées, indiquant où le caractère sera saisi lorsque la touche est enfoncée. Sur la droite se trouve une fenêtre, en cliquant dessus avec la "souris", vous pouvez à tout moment annuler ou réactiver la vérification des erreurs. Le contrôle de blocage peut être utile pendant la durée de la saisie manuelle des données, sinon chaque ligne incomplète est accompagnée de beaucoup de messages qui ne font que détourner l'attention. La fenêtre des messages d'avertissement et d'erreur (Fig. 4) est située sous la fenêtre principale. Les messages commençant par le mot "Information" indiquent uniquement le statut particulier de certaines lignes du fichier HEX. Dans ce cas, il existe deux lignes de ce type. Le premier d'entre eux est facultatif, car en son absence, le décompte des adresses commencera à zéro. De telles lignes (il peut y en avoir plusieurs à différents endroits du fichier) permettent d'adresser plus de 64 Ko (32 Kmots) de mémoire. C'est leur présence qui distingue les fichiers HEX du format INX32 de ceux du format INX8M. La ligne 25 marque la fin du fichier HEX. Si des données se trouvent après (ligne 26), elles ne seront pas acceptées par le programmeur. Cela peut être utilisé, par exemple, pour placer un commentaire textuel dans un fichier HEX. Dans l'exemple, la ligne 20 du fichier source a simplement été déplacée ici, qui est restée vide. En principe, la présence de lignes vides dans un fichier HEX est acceptable, mais certains programmeurs peuvent toujours les considérer comme des erreurs. Le programme CheckHEX, juste au cas où, avertit à ce sujet. Notez le message d'erreur de somme de contrôle à la ligne 3. Cela peut être le résultat d'une erreur de frappe dans n'importe quel caractère (sauf deux-points) de la chaîne, qui doit être vérifié très attentivement. La somme de contrôle "correcte" indiquée entre parenthèses est utile si un ou plusieurs caractères de la chaîne ont été modifiés intentionnellement (par exemple, pour corriger une erreur de programme réelle). Dans ce cas, l'erreur est le résultat de la saisie du chiffre 8 au lieu de la lettre B. La nature de l'erreur dans le cinquième caractère de la quatrième ligne est claire. Notons seulement que pour faciliter la recherche visuelle des erreurs, la police du texte dans la fenêtre principale ne contient pas de caractères cyrilliques, leur place est occupée par des caractères qui n'ont rien à voir avec les bons. Cependant, les lettres russes sont présentées dans des messages d'erreur. À droite de la fenêtre de données, il y a une fenêtre montrant l'image du remplissage de la mémoire MC avec les codes du fichier analysé. Un fragment de cette fenêtre est représenté sur la Fig. 5. La couleur blanche correspond aux cellules libres, bleues ou rouges - occupées. Les inscriptions explicatives sur la figure (elles ne sont pas dans la fenêtre réelle) font référence à la distribution de mémoire typique pour les contrôleurs RIS, pour les autres MK et EPROM, cela peut être complètement différent. En déplaçant le curseur de la souris à l'intérieur de la fenêtre, vous pouvez déterminer l'adresse de n'importe laquelle des cellules qui y sont affichées. Dans ce cas, le curseur (réticule en haut à droite de la fenêtre) pointe sur l'octet à l'adresse OOSON - junior dans le mot de deux octets à l'adresse 0060H. Bien sûr, un utilisateur qui n'a pas développé de programme téléchargeable et ne l'a pas analysé attentivement, en règle générale, ne sait pas quelles cellules doivent être occupées et lesquelles ne doivent pas l'être. Néanmoins, il est logique de prêter attention aux lacunes dans la séquence continue des cellules occupées et de s'assurer une fois de plus qu'elles n'apparaissent pas à la suite d'erreurs, comme dans le cas considéré. Le segment rouge indique que les codes saisis à ces adresses ont été rencontrés plus d'une fois dans le fichier. Dans l'exemple (voir Fig. 3), les septième et huitième lignes sont identiques. Si la ligne en double est le résultat d'une inattention lors de la saisie manuelle des données, elle peut être supprimée. Mais le plus souvent, l'erreur commise dans la partie adresse de la ligne (caractères du quatrième au septième) est à blâmer. Dans un tel cas, non seulement les codes aux adresses erronées seront déformés, mais la zone mémoire à laquelle appartenait initialement la ligne donnée restera également indéfinie. Tout cela doit être vérifié encore et encore. En conclusion, notons qu'il y a trois boutons de contrôle dans la fenêtre du programme CheckHEX : - créer un nouveau fichier HEX ; - ouvrir et vérifier l'existant ; - enregistrer le fichier créé ou modifié. Lorsque vous essayez de télécharger ou de créer un autre fichier sans enregistrer au préalable la version modifiée de l'ancien, le programme vous rappelle toujours la nécessité de le faire. La même chose se produit avant la fin du programme. Auteur : A. Dolgiy, Moscou Voir d'autres articles section microcontrôleurs. Lire et écrire utile commentaires sur cet article. Dernières nouvelles de la science et de la technologie, nouvelle électronique : Machine pour éclaircir les fleurs dans les jardins
02.05.2024 Microscope infrarouge avancé
02.05.2024 Piège à air pour insectes
01.05.2024
Autres nouvelles intéressantes : ▪ Le vaisseau spatial de la NASA a réussi à résister à une explosion sur le Soleil ▪ La formule pour une famille heureuse a été découverte ▪ Accumulateurs du troisième millénaire ▪ Trou noir pour les micro-ondes ▪ Cardiographe dans votre poche Fil d'actualité de la science et de la technologie, nouvelle électronique
Matériaux intéressants de la bibliothèque technique gratuite : ▪ section du site Musicien. Sélection d'articles ▪ article À la poursuite du rouble long. Expression populaire ▪ article Quel appareil d'avion contredit complètement son nom d'argot ? Réponse détaillée ▪ article Applique salle de bain et WC. Annuaire ▪ article Purification des huiles lubrifiantes. Recettes et astuces simples
Laissez votre commentaire sur cet article : Toutes les langues de cette page Page principale | bibliothèque | Articles | Plan du site | Avis sur le site www.diagramme.com.ua |