Il s'agit de la commande mspdebug qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks à l'aide de l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
MSPDebug - outil de débogage pour les microcontrôleurs MSP430
SYNOPSIS
mspdebug [choix] driver [commander ...]
DESCRIPTION
MSPDebug est un outil en ligne de commande conçu pour le débogage et la programmation de la famille MSP430
des MCU. Il prend en charge les eZ430-F2013, eZ430-RF2500, Launchpad, Chronos, FET430UIF,
Les outils de programmation GoodFET, Olimex MSP430-JTAG-TINY et MSP430-JTAG-ISO, ainsi qu'un
mode simulation.
Lorsqu'il est démarré avec les options appropriées, MSPDebug tentera de se connecter au débogage
l'outil spécifié et identifiez l'appareil à tester. Une fois connecté, l'utilisateur est présenté
avec une invite de commande qui peut être utilisée pour reflasher la mémoire de l'appareil, inspecter la mémoire et
registres, définir des registres et contrôler le processeur (une seule étape, exécuter et exécuter jusqu'au point d'arrêt).
Il prend en charge une variété de formats de fichiers, décrits dans la section BINARY FORMATS au dessous de. Ce
peut également être utilisé comme stub distant pour gdb (1).
Au démarrage, MSPDebug cherchera d'abord un fichier appelé .mspdebug dans le répertoire courant,
puis dans le répertoire personnel de l'utilisateur. Si l'un des fichiers existe, les commandes seront lues et
exécuté à partir de ce fichier avant d'exécuter toute autre commande ou de démarrer l'interactif
lecteur.
Alternativement, un fichier de configuration peut être explicitement spécifié avec le -C option.
LIGNE DE COMMANDE OPTIONS
Les options de ligne de commande acceptées par MSPDebug sont décrites ci-dessous. Si des commandes sont spécifiées
à la fin de la ligne de commande, puis ils sont exécutés après la connexion à l'appareil, et
l'invite interactive n'est pas lancée. Veuillez noter que les commandes consistant en
plusieurs mots doivent être mis entre guillemets, sinon ils sont traités comme
commandes simples. Ainsi, la commande prog commune serait utilisée comme "prog main.elf". Voir le
section intitulée COMMANDES pour plus d'informations.
-q Démarrer en mode silencieux. Voir l'option "silencieux" décrite ci-dessous.
-v Tension
Réglez la tension de programmation. La tension doit être spécifiée sous forme d'entier dans
millivolts. La valeur par défaut est 3000 (3.0 V).
-j Utilisez JTAG au lieu de Spy-Bi-Wire pour communiquer avec le MSP430. Cette option ne
fonctionne avec les appareils eZ430 ou eZ430-RF2500, qui prennent uniquement en charge Spy-Bi-Wire.
-d dispositif
Spécifiez que le pilote doit se connecter via un périphérique tty plutôt que via USB. Les
les méthodes de connexion prises en charge varient en fonction du pilote. Voir la rubrique PILOTES
ci-dessous pour plus de détails.
-U bus:dispositif
Spécifiez un périphérique USB particulier auquel vous connecter. Sans cette option, le premier
l'appareil du type approprié est ouvert.
-s en série
Spécifiez un numéro de série de périphérique USB particulier auquel vous connecter. Utilisez cette option pour
distinguer plusieurs appareils du même type.
-n Ne pas traiter le fichier de démarrage (~/.mspdebug).
-C filet
Spécifiez un autre fichier de configuration (la valeur par défaut est ~/.mspdebug). Si -n est
également spécifié, aucun fichier ne sera lu.
--mot de passe long
Lorsque vous utilisez le pilote flash-bsl, envoyez un mot de passe BSL de 32 octets au lieu du
mot de passe standard de 16 octets.
--help Affiche un bref message d'aide et quitte.
--fet-liste
Afficher une liste des puces prises en charge par le pilote FET (le pilote utilisé pour UIF,
appareils RF2500 et Olimex).
--fet-force-id un magnifique
Lors de l'utilisation d'un périphérique FET, forcez la puce connectée à être reconnue par MSPDebug comme
un du type donné lors de l'initialisation. Cela remplace l'ID de l'appareil renvoyé
par le FET. La chaîne donnée doit être un nom de puce sous forme longue, par exemple
"MSP430F2274".
--fet-skip-close
Lors de l'utilisation d'un périphérique FET, ignorez la procédure de fermeture JTAG lors de la déconnexion. Avec
certaines cartes, cela supprime le besoin de rebrancher le débogueur après utilisation.
--liste-usb
Répertoriez les périphériques USB disponibles et quittez.
--force-réinitialisation
Lors de l'utilisation d'un périphérique FET, envoyez toujours une réinitialisation lors de l'initialisation. Par défaut, un
l'initialisation sans réinitialisation sera tentée en premier.
--allow-fw-update
Lors de l'utilisation d'un périphérique FET V3 via la bibliothèque TI, autorisez la bibliothèque à effectuer un
mise à jour du firmware si le firmware FET est incompatible avec la bibliothèque.
--require-fw-update image.txt
Lors de l'utilisation d'un appareil V3 FET, ou de certains appareils Olimex, forcez une mise à jour du firmware
en utilisant l'image du firmware donnée. Le format du micrologiciel dépend du pilote.
--version
Afficher la version du programme et les informations de copyright.
--embarqué
Démarrez mspdebug en tant que sous-processus intégré. Voir la documentation accompagnant le
version source pour plus d'informations sur le mode embarqué.
PILOTES
Un nom de pilote doit être spécifié sur la ligne de commande pour que MSPDebug se connecte. Valide
les noms des pilotes sont répertoriés ici.
rf2500 Connectez-vous à un appareil eZ430-RF2500, Launchpad ou Chronos. Seule la connexion USB est
prise en charge.
olimex Connectez-vous à un appareil Olimex MSP430-JTAG-TINY. Les accès USB et tty sont
prise en charge.
olimex-v1
Connectez-vous à un appareil Olimex MSP430-JTAG-TINY (V1). Les accès USB et tty sont
prise en charge. Ce pilote doit être utilisé à la place de olimex si vous vous connectez à un appareil V1
via une interface tty.
olimex-iso
Connectez-vous à un appareil Olimex MSP430-JTAG-ISO. Les accès USB et tty sont pris en charge.
olimex-iso-mk2
Connectez-vous à un appareil Olimex MSP430-JTAG-ISO-MK2. Les accès USB et tty sont
prise en charge.
oui Ne vous connectez à aucun périphérique matériel, mais démarrez plutôt en mode simulation. Un 64k
tampon est alloué pour simuler la mémoire de l'appareil.
Pendant la simulation, les adresses inférieures à 0x0200 sont supposées être de la mémoire IO. Programmé
Les écritures IO vers et depuis la mémoire IO sont gérées par le simulateur IO, qui peut être
configuré et contrôlé avec le Simio commande, décrite ci-dessous.
Ce mode est destiné à tester les modifications apportées à MSPDebug et à aider le
désassemblage des binaires MSP430 (car tous les formats de table binaire et de symboles sont toujours
utilisable dans ce mode).
uif Connectez-vous à un appareil eZ430-F2013 ou FET430UIF. L'argument de périphérique doit être le
nom de fichier du périphérique tty approprié. Les puces du convertisseur série TI sur ces
les périphériques sont pris en charge par les versions plus récentes du noyau Linux et devraient apparaître comme
/dev/ttyXX lorsqu'il est attaché.
La connexion USB est prise en charge pour ce pilote. La puce d'interface USB dans ces
périphériques est un TI3410, qui nécessite un téléchargement de firmware au démarrage. MSPDebug va
recherchez un fichier appelé ti_3410.fw.ihex dans le répertoire de bibliothèque configuré et
le répertoire courant. Vous pouvez spécifier un autre emplacement pour le fichier via le
MSPDEBUG_TI3410_FW variable d'environnement.
uif-bsl
Connectez-vous au chargeur de démarrage sur un périphérique FET430UIF. Ces appareils contiennent MSP430F1612
frites. En envoyant une séquence de commandes spéciale, vous pouvez accéder au
bootloader et inspectez la mémoire sur le MSP430F1612 dans le périphérique de programmation lui-même.
Actuellement, seules la lecture/écriture et l'effacement de la mémoire sont pris en charge. Contrôle du processeur via le
le chargeur de démarrage n'est pas possible.
flash-bsl
Connectez-vous au chargeur de démarrage intégré dans les appareils MSP430 avec la mémoire flash du chargeur de démarrage.
Les périphériques avec des chargeurs de démarrage ROM nécessitent un autre pilote. Actuellement, ce pilote doit
effacez en masse l'appareil pour y accéder. Opérations de lecture, d'écriture et d'effacement
sont pris en charge.
La connexion USB n'est pas prise en charge pour ce pilote. La connexion se fait via le port série, et
L'entrée du chargeur de démarrage s'effectue via les lignes RTS et DTR. Connectez RTS au
broche TEST de l'appareil et DTR à la broche RST de l'appareil. Utilisez un numéro de série approprié
level-shifter pour faire la connexion, si nécessaire. Si vous vous connectez à un appareil avec
broches JTAG non multiplexées, connectez RTS à la broche TCK de l'appareil via un onduleur.
gdbc Mode client GDB. Connectez-vous à un serveur qui implémente le protocole distant GDB et
lui fournir une interface. Pour utiliser ce pilote, spécifiez l'adresse distante dans
nom d'hôte:port formater à l'aide du -d option.
Tilib Utilisez Texas Instruments MSP430.DLL pour accéder à l'appareil. Le fichier de la bibliothèque
(MSP430.DLL pour Windows, libmsp430.so pour les systèmes de type Unix) doit être présent dans le
chemin de recherche du chargeur dynamique.
La connexion USB n'est pas prise en charge pour ce pilote. Ce pilote prend en charge les points d'observation.
Notez que le -d L'option pour ce pilote transmet son argument directement au
la bibliothèque MSP430_Initialiser fonction. Tout argument spécial soutenu par cela
fonction est donc accessible via le -d option.
bonjour
Connectez-vous à un appareil GoodFET. Le mode JTAG doit être utilisé, et seul l'accès TTY est
prise en charge. Cet appareil peut être utilisé pour accéder à la mémoire (lecture, effacement et programme), mais
Le contrôle du processeur est limité. La CPU peut être arrêtée, exécutée et réinitialisée, mais enregistrer l'accès
et les points d'arrêt ne sont pas pris en charge.
pif Connectez-vous à un contrôleur JTAG à port parallèle. Actuellement, ce pilote est uniquement
pris en charge pour Linux. Un périphérique de port parallèle doit être spécifié via le -d option.
COMMANDES
MSPDebug peut accepter des commandes via une invite interactive ou de manière non interactive
lorsqu'il est spécifié sur la ligne de commande. Les commandes prises en charge sont répertoriées ci-dessous.
Les commandes prennent des arguments séparés par des espaces. Toute chaîne de texte entre guillemets doubles
marks est considéré comme un seul argument, même s'il contient des espaces. Dans
une chaîne entre guillemets, les substitutions habituelles de barre oblique inverse de style C peuvent être utilisées.
Les commandes peuvent être spécifiées en donnant les premiers caractères du nom de la commande, à condition
que le préfixe est sans ambiguïté. Certaines commandes prennent en charge la répétition automatique. Pour ces
commandes, appuyer sur Entrée à l'invite du lecteur sans rien taper entraînera une répétition
exécution.
= expression
Évaluez une expression d'adresse et affichez à la fois sa valeur et le résultat lorsque le
la valeur est recherchée à l'envers dans la table des mnémoniques actuelle. Ce résultat est du
formulaire symbole+compenser, Où symbole est le nom du symbole le plus proche pas après le
adresse en question.
Voir la section marquée ADRESSE EXPRESSIONS pour plus d'informations sur la syntaxe de
expressions.
alias Affiche une liste des alias de commande définis.
alias prénom
Supprimez un alias de commande précédemment défini.
alias prénom commander
Définissez un alias de commande. Le texte commander sera remplacé par prénom en regardant
vers le haut des commandes. Le texte de commande donné peut contenir une commande plus des arguments, si le
le texte entier est entouré de guillemets lors de la définition de l'alias. Pour éviter les alias
substitution lors de l'interprétation des commandes, préfixez la commande avec \ (une barre oblique inverse
personnage).
pause Affiche une liste des points d'arrêt actifs. Des points d'arrêt peuvent être ajoutés et supprimés avec le
pause et delbreak commandes. Chaque point d'arrêt est numéroté avec un indice entier
à partir de 0.
graphique propos longueur [propos]
Construire le graphe d'appel de toutes les fonctions contenues ou référencées dans le
gamme de mémoire. Si une fonction particulière est spécifiée, les détails de ce nœud
du graphique sont affichés. Sinon, un résumé de tous les nœuds s'affiche.
Les informations de la table des symboles sont utilisées pour indiquer les emplacements possibles de
la fonction démarre. Tout symbole qui ne contient pas de "." est considéré comme une possibilité
démarrage de la fonction.
Les noms des appelants et des appelés sont préfixés par un "*" où la transition est un
transition de type appel de queue.
delbreak [indice]
Supprimez un ou tous les points d'arrêt. Si un index est donné, le point d'arrêt sélectionné est
supprimé. Sinon, tous les points d'arrêt sont effacés.
DIS propos [longueur]
Démonter une section de mémoire. Les deux arguments peuvent être des expressions d'adresse. Sinon
longueur est spécifiée, une section de la longueur par défaut (64 octets) est désassemblée et
montré.
Si des symboles sont disponibles, toutes les adresses utilisées comme opérandes sont traduites en
symbole+compenser formulaire.
Cette commande prend en charge l'exécution répétée. Si répété, il continue à se démonter
un autre bloc de mémoire suivant ce dernier imprimé.
effacer [tous|clignotant|Ségrange] [propos] [Taille] [Ségrange]
Effacez l'appareil testé. Sans arguments, toute la mémoire de code est effacée (mais pas
informations ou mémoire de démarrage). Avec l'argument "tout", un effacement en masse est effectué
(les résultats peuvent dépendre de l'état du bit LOCKA dans la mémoire flash
manette).
Spécifiez "segment" et une adresse mémoire pour effacer un segment flash individuel.
Spécifiez "segrange", une adresse, une taille et une taille de segment pour effacer un ensemble arbitraire de
segments contigus.
sortie Quittez MSPDebug.
remplir propos longueur b0 [b1 b2 ...]
Remplir la région de mémoire de taille longueur à partir de propos avec le modèle d'octets
donné (spécifié en hexadécimal). Le motif sera répété sans remplissage comme
autant de fois que nécessaire sans dépasser les limites de la région spécifiée.
gdb [port]
Démarrez un stub distant GDB, en spécifiant éventuellement un port TCP sur lequel écouter. Si aucun port
est donné, le port par défaut est contrôlé par l'option gdb_default_port.
MSPDebug attendra une connexion sur ce port, puis agira comme un stub distant GDB
jusqu'à ce que GDB se déconnecte.
La commande "monitor" de GDB peut être utilisée pour émettre des commandes MSPDebug via la GDB
interface. Les commandes fournies sont exécutées de manière non interactive et la sortie est envoyée
de nouveau pour être affiché dans GDB.
vous aider [commander]
Affiche une brève liste des commandes disponibles. Si un argument est spécifié, affiche le
syntaxe pour la commande donnée. Le texte d'aide affiché lorsqu'aucun argument n'est fourni est également
affiché au démarrage de MSPDebug.
sort propos longueur nom de fichier
Lisez la section spécifiée de la mémoire de l'appareil et enregistrez-la dans un fichier Intel HEX.
Les arguments d'adresse et de longueur peuvent tous deux être des expressions d'adresse.
Si le fichier spécifié existe déjà, il sera écrasé. Si tu as besoin de
vider la mémoire de plusieurs régions de mémoire disjointes, vous pouvez le faire en sauvegardant chacune
section dans un fichier séparé. Les fichiers résultants peuvent ensuite être concaténés
pour former un seul fichier HEX valide.
isearch propos longueur [Options ...]
Rechercher sur la plage donnée une instruction qui correspond à la recherche spécifiée
Critères. La recherche peut être restreinte en spécifiant un ou plusieurs des éléments suivants
termes:
code opération code opération
Correspond à l'opcode spécifié. Les spécificateurs d'octet/mot ne sont pas reconnus, car ils
sont spécifiés avec d'autres options.
octet Ne correspond qu'aux opérations sur les octets.
mot Faire correspondre uniquement les opérations sur les mots.
un mot Faire correspondre uniquement les opérations de mot d'adresse (20 bits).
saut Faire correspondre uniquement les instructions de saut (sauts conditionnels et inconditionnels, mais pas
instructions telles que BR qui chargent explicitement le compteur de programme).
unique Faites correspondre uniquement les instructions à un seul opérande.
double Faire correspondre uniquement les instructions à double opérande.
Noarg Faites correspondre uniquement les instructions sans arguments.
src propos
Faites correspondre les instructions avec la valeur spécifiée dans l'opérande source. La valeur
peut être donné comme expression d'adresse. Spécifier cette option implique
correspondance des instructions à double opérande uniquement.
dst propos
Faites correspondre les instructions avec la valeur spécifiée dans l'opérande de destination. Cette
L'option implique que les instructions sans argument ne correspondent pas.
srcreg vous inscrire
Faites correspondre les instructions en utilisant le registre spécifié dans l'opérande source. Cette
L'option implique la correspondance uniquement des instructions à double opérande.
dstreg vous inscrire
Faites correspondre les instructions à l'aide du registre spécifié dans l'opérande de destination.
Cette option implique que les instructions sans argument ne correspondent pas.
mode src mode
Faites correspondre les instructions en utilisant le mode spécifié dans l'opérande source. Voir ci-dessous
pour une liste des modes reconnus. Cette option implique l'appariement de seulement double-
instructions d'opérande.
mode dst mode
Faites correspondre les instructions en utilisant le mode spécifié dans l'opérande de destination. Voir
ci-dessous pour une liste des modes. Cette option implique que les instructions sans argument
ne correspondent pas.
Pour les instructions à opérande unique, l'opérande est considéré comme la destination
opérande.
Les sept modes d'adressage utilisés par le MSP430 sont représentés par des caractères simples,
et sont répertoriés ici :
R Mode d'enregistrement.
I Mode indexé.
S Mode symbolique.
& Mode absolu.
@ Mode d'enregistrement indirect.
+ Mode registre indirect avec incrémentation automatique.
# Mode immédiat.
charge nom de fichier
Programmez l'appareil à tester à l'aide du fichier binaire fourni. Cette commande est comme
prog, mais il ne charge pas les symboles ni n'efface l'appareil avant la programmation.
La CPU est réinitialisée et arrêtée avant et après la programmation.
charger_raw nom de fichier propos
Écrire les données contenues dans un fichier binaire brut à l'adresse mémoire donnée.
La CPU est réinitialisée et arrêtée avant et après la programmation.
md propos [longueur]
Lire la section spécifiée de la mémoire de l'appareil et l'afficher en tant que style canonique
vidage hexagonal. Les deux arguments peuvent être des expressions d'adresse. Si aucune longueur n'est spécifiée, un
section de la longueur par défaut (64 octets) s'affiche.
La sortie est divisée en trois colonnes. La première colonne indique l'adresse de départ
pour la ligne. La deuxième colonne répertorie les valeurs hexadécimales des octets. Les
la dernière colonne affiche les caractères ASCII correspondant aux octets imprimables, et . pour
caractères non imprimables.
Cette commande prend en charge l'exécution répétée. S'il est répété, il continue d'imprimer un autre
bloc de mémoire suivant ce dernier imprimé.
mw propos octets
Écrire une séquence d'octets à l'adresse mémoire donnée. L'adresse indiquée peut être une
expression d'adresse. Les valeurs d'octets sont des nombres hexadécimaux à deux chiffres séparés par
les espaces.
Sauf si elle est utilisée en mode simulation, cette commande ne peut être utilisée que pour la programmation
mémoire flash.
opter [prénom] [Plus-value]
Interrogez, définissez ou répertoriez les variables d'option. Le comportement de MSPDebug peut être configuré en utilisant
variables d'option, décrites ci-dessous dans la section OPTIONS.
Les variables d'option peuvent être de trois types : booléennes, numériques ou textuelles. Valeurs numériques
peuvent être spécifiés en tant qu'expressions d'adresse.
Sans arguments, cette commande affiche toutes les variables d'option disponibles. Avec juste
un nom d'option comme argument, il affiche la valeur actuelle de cette option.
power info
Afficher les statistiques de puissance de base recueillies au cours des dernières sessions. Ceci comprend
consommation de charge totale, durée de fonctionnement et courant moyen.
power clair
Effacez toutes les statistiques de puissance enregistrées.
power tous [granularité]
Afficher des exemples de données recueillies au cours de toutes les sessions. Une granularité facultative peut être
spécifié, en microsecondes. Pour chaque tranche de temps, durée de session relative, charge
la consommation, la consommation actuelle et l'emplacement approximatif du code sont affichés.
power Session N [granularité]
Pareil que power tous, sauf que les données ne sont affichées que pour le Nème séance.
power exporter-csv N nom de fichier
Exporter des données d'échantillon brutes pour le Ne session au fichier donné au format CSV. Pour
chaque ligne, les colonnes sont, dans l'ordre : temps relatif en microsecondes, courant
consommation en microampères, adresse mémoire.
power profil
Si une table de symboles est chargée, compilez et corrélez toutes les données de puissance recueillies avec
la table des symboles. Un seul tableau s'affiche alors listant, par fonction, les charges
consommation, durée de fonctionnement et courant moyen. Les fonctions sont classées par ordre de
consommation de charge (les plus gros consommateurs en premier).
prog nom de fichier
Effacez et reprogrammez l'appareil à tester à l'aide du fichier binaire fourni. Le fichier
sera détecté automatiquement et peut être l'un des formats de fichiers pris en charge.
Dans le cas d'un fichier contenant des symboles, les symboles seront automatiquement chargés depuis
le fichier dans la table des symboles (en supprimant tous les symboles existants), s'ils sont
présent.
La CPU est réinitialisée et arrêtée avant et après la programmation.
lire nom de fichier
Lire les commandes du fichier donné, ligne par ligne et traiter chacune d'elles. Toutes les lignes
dont le premier caractère non espace est # sont ignorés. Si une erreur se produit pendant
traitement d'une commande, le reste du fichier n'est pas traité.
regs Affiche la valeur actuelle de tous les registres CPU du périphérique testé.
réinitialiser Réinitialisez (et arrêtez) le processeur du périphérique testé.
courir Commencez à exécuter le processeur. L'invite de commande interactive est bloquée lorsque la CPU est
démarré et l'invite n'apparaîtra plus jusqu'à ce que le CPU s'arrête. Le CPU s'arrêtera
s'il rencontre un point d'arrêt, ou si l'utilisateur appuie sur Ctrl-C.
Après l'arrêt de la CPU, les valeurs de registre actuelles sont affichées ainsi qu'un désassemblage
des premières instructions à l'adresse sélectionnée par le compteur de programme.
sauvegarder_raw propos longueur nom de fichier
Enregistrez une région de mémoire dans un fichier binaire brut. Les arguments adresse et longueur peuvent
les deux être des expressions d'adresse.
Si le fichier spécifié existe déjà, il sera écrasé.
set vous inscrire Plus-value
Modifier la valeur d'un registre. Les registres sont spécifiés sous forme de nombres de 0 à
15. Tous les caractères non numériques de début sont ignorés (un registre peut donc être spécifié
comme, par exemple, "R12"). L'argument valeur est une expression d'adresse.
pause propos [indice]
Ajoutez un nouveau point d'arrêt. L'emplacement du point d'arrêt est une expression d'adresse. Un facultatif
index peut être spécifié, indiquant que ce nouveau point d'arrêt doit écraser un
emplacement existant. Si aucun index n'est spécifié, le point d'arrêt sera stocké dans le
prochain emplacement inutilisé.
régler la montre propos [indice]
Ajouter un nouveau point de surveillance. L'emplacement du point d'observation est une expression d'adresse et un
un index facultatif peut être spécifié. Les points de surveillance sont considérés comme un type de
point d'arrêt et peut être inspecté ou supprimé à l'aide du pause et delbreak les commandes.
Notez que tous les pilotes ne prennent pas en charge les points de surveillance.
setwatch_r propos [indice]
Ajoutez un point de surveillance qui est déclenché uniquement lors d'un accès en lecture.
setwatch_w propos [indice]
Ajoutez un point de surveillance qui est déclenché uniquement lors de l'accès en écriture.
Simio ajouter classe prénom [args ]
Ajoutez un nouveau périphérique au simulateur IO. Les classe paramètre peut être l'un des
types de périphériques nommés dans la sortie du Simio les classes commander. le prénom
paramètre est un nom unique attribué par l'utilisateur à cette instance périphérique, et est
utilisé avec d'autres commandes pour faire référence à cette instance du périphérique.
Certaines classes périphériques prennent des arguments lors de la création. Ceux-ci sont documentés dans le
sortie vers le Simio vous aider commander.
Simio les classes
Lister les noms des différents types de périphériques qui peuvent être ajoutés au
simulateur. Vous pouvez utiliser le Simio vous aider commande pour obtenir plus d'informations sur chaque
type périphérique.
Simio config prénom arrêter [args ]
Configurez ou effectuez une action sur une instance périphérique. Les arrêter l'argument est
spécifique au type de périphérique. Une liste de commandes de configuration valides peut être
obtenu en utilisant le Simio vous aider commander.
Simio de prénom
Supprimez une instance périphérique ajoutée précédemment. Les prénom l'argument doit être le nom
du périphérique qui a été affecté à la Simio ajouter commander.
Simio dispositifs
Répertoriez toutes les instances périphériques actuellement connectées au simulateur, ainsi que leurs
types et état d'interruption. Vous pouvez obtenir des informations plus détaillées pour chaque
exemple avec le Simio info commander.
Simio vous aider classe
Obtenez plus d'informations sur une classe périphérique. La documentation fournie listera
arguments du constructeur et paramètres de configuration pour le type de périphérique.
Simio info prénom
Affichez des informations d'état détaillées pour un périphérique particulier. Le type de
les informations affichées sont spécifiques à chaque type de périphérique.
étape [compter]
Faites passer le processeur à travers une ou plusieurs instructions. Après avoir franchi le pas, le nouveau registre
les valeurs sont affichées, ainsi qu'un démontage de la notice à l'adresse
sélectionné par le compteur de programme.
Un nombre facultatif peut être spécifié pour effectuer plusieurs étapes. Si aucun argument n'est donné,
le CPU marche une fois. Cette commande prend en charge l'exécution répétée.
sym clair
Effacer la table des symboles, en supprimant tous les symboles.
sym set prénom Plus-value
Définir ou modifier la valeur d'un symbole. La valeur donnée peut être une expression d'adresse.
sym de prénom
Supprimer le symbole donné de la table des symboles.
sym importer nom de fichier
Chargez les symboles du fichier spécifié et ajoutez-les à la table des symboles. Le fichier
le format sera détecté automatiquement et peut être ELF32 ou une liste de symboles de style BSD
(comme la sortie de nm(1)).
Les symboles peuvent être combinés à partir de nombreuses sources, car la commande syms s'ajoute à l'existant
table des symboles sans supprimer les symboles existants.
sym importer+ nom de fichier
Cette commande est similaire à sym importer, sauf que la table des symboles n'est pas effacée
premier. En utilisant cette commande, les symboles de plusieurs sources peuvent être combinés.
sym Exporter nom de fichier
Enregistrez tous les symboles actuellement définis dans le fichier donné. Les symboles sont enregistrés en tant que
Table de symboles de style BSD. Notez que les types de symboles ne sont pas stockés par MSPDebug, et tous
les symboles sont enregistrés en tant que type t.
sym trouver [regex]
Rechercher des symboles. Si une expression régulière est donnée, alors tous les symboles correspondant à la
expression sont imprimées. Si aucune expression n'est spécifiée, alors toute la table des symboles
est listé.
sym rebaptiser regex un magnifique
Renommer les symboles en recherchant ceux qui correspondent à l'expression régulière donnée et
en remplaçant la chaîne donnée par la partie correspondante. Les symboles renommés sont
affiché, ainsi qu'un nombre total de tous les symboles renommés.
vérifier nom de fichier
Comparez le contenu du fichier binaire donné à la mémoire de la puce. Si seulement
des différences sont trouvées, un message est imprimé pour le premier octet non concordant.
vérifier_raw nom de fichier propos
Comparez le contenu d'un fichier binaire brut à la mémoire de l'appareil au moment donné
adresse. Si des différences sont trouvées, un message est imprimé pour la première
octet incompatible.
BINARY FORMATS
Les formats binaires/symboles suivants sont pris en charge par MSPDebug :
ELF32
COFF
Intel HEX (programme uniquement)
Table des symboles BSD (symboles uniquement)
TI Text (programme uniquement)
SREC (programme seulement)
IO SIMULATEUR
Le sous-système du simulateur d'E/S se compose d'une base de données de classes d'appareils et d'une liste de
instances de ces classes. Chaque classe de périphérique a un ensemble différent de constructeur
arguments, paramètres de configuration et informations pouvant être affichés. Cette section
décrit en détail le fonctionnement des classes d'appareils disponibles.
Dans la liste ci-dessous, chaque classe de périphérique est répertoriée, suivie de ses arguments de constructeur.
gpio Simulateur de port IO numérique. Cet appareil simule l'un des ports numériques avec ou
sans capacité d'interruption. Il a les paramètres de configuration suivants :
base propos
Définissez l'adresse de base pour ce port. Notez que pour les ports sans interruption
capacité, le port d'activation de la résistance a une adresse spéciale qui est
calculable à partir de l'adresse de base.
irq vecteur
Activer la fonctionnalité d'interruption pour ce port en spécifiant une interruption
numéro de vecteur.
noirq Désactivez la fonctionnalité d'interruption pour ce port.
verbeux
Imprimez un message de changement d'état chaque fois que la sortie du port change.
calme N'imprimez rien lorsque l'état du port change (valeur par défaut).
set épingle Plus-value
Définissez l'état de la broche d'entrée pour la broche donnée sur ce port. Les épingle paramètre
doit être un indice compris entre 0 et 7. Le Plus-value doit être soit zéro (pour un
état bas) ou non nul (pour un état haut).
hwmult Ce périphérique simule le multiplicateur matériel. Il n'a pas de constructeur ou
paramètres de configuration et ne fournit aucune information détaillée.
minuteur [Taille]
Ce périphérique simule les modules Timer_A, et peut être utilisé pour simuler Timer_B
modules, à condition que les fonctionnalités étendues ne soient pas nécessaires.
Le constructeur prend un argument de taille spécifiant le nombre de capture/comparaison
s'enregistre dans cette instance périphérique. Le nombre de ces registres ne peut être inférieur
supérieur à 2 ou supérieur à 7.
Les adresses IO et IRQ utilisées sont configurables. Les adresses IO par défaut utilisées sont
ceux spécifiés pour Timer_A dans la documentation du matériel MSP430.
base propos
Modifiez l'adresse IO de base. Par défaut, il s'agit de 0x0160. En définissant ceci sur
0x0180, un module Timer_B peut être simulé.
irq0 nombre
Définissez le numéro du vecteur d'interruption TACCR0. Par défaut, il s'agit d'un vecteur d'interruption
9. Cette interruption s'efface automatiquement et a une priorité plus élevée que la
Vecteur TACCR1/TAIFG.
irq1 nombre
Définissez le vecteur d'interruption TACCR1/TAIFG. Par défaut, il s'agit d'un vecteur d'interruption
8.
iv propos
Modifiez l'adresse du registre du vecteur d'interruption. Par défaut, c'est
0x012E. En définissant ce paramètre sur 0x011E, un module Timer_B peut être simulé.
set indirect Plus-value
Lorsque Timer_A est utilisé en mode capture, le bit CCI dans chaque registre de capture
reflète l'état de la broche d'entrée correspondante et ne peut pas être modifié dans
Logiciel. Cette commande de configuration peut être utilisée pour simuler des changements de
état de la broche d'entrée, et déclenchera les interruptions correspondantes si le
périphérique est ainsi configuré.
traceur [historique-taille]
Le périphérique traceur est un dispositif de débogage. Il peut être utilisé pour enquêter et
enregistrer l'activité d'E/S d'un programme en cours d'exécution, pour évaluer le temps d'exécution et pour
simuler des interruptions.
Les informations affichées par le traceur donnent un compte courant de cycles d'horloge à partir de
chacune des horloges système et un compte d'instructions. Une liste des N OI le plus récent
événements est également affiché (cela est configurable via le historique-taille argument de la
constructeur). Chaque événement IO est horodaté par le nombre de cycles MCLK qui ont
écoulé depuis la dernière remise à zéro du compteur de l'appareil.
Les événements d'E/S qu'il enregistre consistent en des lectures et écritures d'E/S programmées, des interruptions
l'acceptation et les réinitialisations du système. En plus de garder les événements d'IO dans une rotation
buffer, le traceur peut être configuré pour afficher les événements au fur et à mesure qu'ils se produisent.
Notez que puisque les cycles d'horloge n'avancent pas lorsque le processeur ne fonctionne pas, cela
périphérique peut être utilisé pour calculer les temps d'exécution de blocs de code. Cela peut être
obtenu en définissant un point d'arrêt à la fin du bloc de code, en définissant le programme
compteur au début du bloc de code, en effaçant le traceur et en exécutant le code.
Une fois le point d'arrêt atteint, les informations affichées par le traceur seront
contiennent un nombre de cycles MCLK écoulés au cours de la dernière exécution.
Les paramètres de configuration pour cette classe d'appareils sont :
verbeux
Commencez à afficher les événements d'E/S au fur et à mesure qu'ils se produisent, ainsi qu'à les enregistrer dans le
tampon tournant.
calme Arrêtez d'afficher les événements d'E/S au fur et à mesure qu'ils se produisent et enregistrez-les simplement dans la mémoire tampon.
déclencher irq
Signalez une demande d'interruption à la CPU. Cette demande restera soulevée
jusqu'à ce qu'il soit accepté par la CPU ou autorisé par l'utilisateur.
désenclencher
Effacer une demande d'interruption signalée.
clair Réinitialisez le cycle d'horloge et le nombre d'instructions à 0 et effacez l'événement IO
l'histoire.
wdt Ce périphérique simule le Watchdog Timer+, qui peut être utilisé dans le logiciel soit
comme chien de garde ou comme temporisateur d'intervalle. Il n'a pas d'arguments constructeur.
L'état simulé de la broche NMI/RST# peut être contrôlé via une configuration
paramètre. Notez que si cet état de broche est maintenu bas avec le mode de broche sélectionné comme
reset (valeur par défaut), le CPU ne fonctionnera pas.
Les informations étendues pour ce périphérique montrent tous les états de registre, y compris
le registre de compteur caché. Les paramètres de configuration sont :
nmi Etat
Définissez l'état de la broche NMI/RST#. L'argument doit être zéro pour indiquer un faible
état ou non nul pour un état haut.
irq irq
Sélectionnez le vecteur d'interruption pour le mode de minuterie d'intervalle. La valeur par défaut est d'utiliser
vecteur d'interruption 10.
ADRESSE EXPRESSIONS
Toute commande qui accepte une adresse mémoire, une longueur ou une valeur de registre comme argument peut être
étant donné une expression d'adresse. Une expression d'adresse consiste en une combinaison algébrique de
valeurs.
Une valeur d'adresse peut être soit un nom de symbole, soit une valeur hexadécimale précédée du spécificateur
"0x", une valeur décimale précédée du spécificateur "0d", ou un nombre dans l'entrée par défaut
radix (sans spécificateur). Voir l'option radix pour plus d'informations.
Les opérateurs reconnus sont les opérateurs algébriques usuels : +, -, *, /, %, ( et ).
La priorité des opérateurs est la même que dans les langages de type C, et le - l'opérateur peut être utilisé comme
un opérateur de négation unaire.
Voici tous des exemples valides d'expressions d'adresse :
2 + 2
table_start + (elem_size + elem_pad)*4
principal+0x3f
__bss_end-__bss_start
OPTIONS
Le comportement de MSPDebug peut être configuré via les variables suivantes :
couleur (booléen)
Si vrai, MSPDebug colorisera la sortie de débogage.
fet_block_size (numérique)
Modifiez la taille du tampon utilisé pour transférer la mémoire vers et depuis le FET.
L'augmentation de la valeur par défaut de 64 améliorera la vitesse de transfert, mais peut
causer des problèmes avec certaines puces.
activer_bsl_access (booléen)
S'il est défini, certains pilotes autoriseront l'effacement/l'accès au programme à la mémoire flash BSL. Si dans
doute, ne l'activez pas.
activer_locked_flash_access (booléen)
S'il est défini, certains pilotes autoriseront l'effacement/programme d'accès au segment d'information A. Si dans
doute, ne l'activez pas. Actuellement, les pilotes tilib et uif sont affectés par
cette option.
gdb_default_port (numérique)
Cette option contrôle le port TCP par défaut du serveur GDB, si aucun argument n'est
donné au "gdb"commande.
boucle_gdb (booléen)
Redémarrez automatiquement le serveur GDB après la déconnexion. Si cette option est définie,
alors le serveur GDB continue de fonctionner jusqu'à ce qu'une erreur se produise ou que l'utilisateur interrompe
avec Ctrl+C.
gdbc_xfer_size (numérique)
Taille maximale des transferts mémoire pour le client GDB. L'augmentation de cette valeur
entraînent des transferts plus rapides, mais peuvent causer des problèmes avec certains serveurs.
radix (numérique)
Base d'entrée par défaut pour les expressions d'adresse. Pour les valeurs d'adresse sans base
spécificateur, cette valeur donne la base d'entrée, qui est 10 (décimal) par défaut.
calme (booléen)
S'il est défini, MSPDebug supprimera la plupart de ses sorties liées au débogage. Cette option
la valeur par défaut est false, mais peut être définie sur true au démarrage à l'aide de la -q de ligne de commande
option.
ENVIRONNEMENT
MSPDEBUG_TI3410_FW
Spécifie l'emplacement du micrologiciel TI3410, pour l'accès USB brut à FET430UIF ou eZ430
dispositifs. Cette variable doit contenir le chemin d'accès à un fichier Intel HEX contenant
firmware approprié pour la TI3410.
Utiliser mspdebug en ligne à l'aide des services onworks.net