Question

Je souhaite créer / démarrer un simulateur pour la carte de microcontrôleur suivante: http://www.sparkfun.com/commerce/product_info.php?products_id=707#

Le micrologiciel étant écrit en bloc, je cherche des indications sur la manière de simuler les entrées reçues par le matériel, puis le simulateur répond aux sorties du micrologiciel. (ce qui nécessiterait également l’exécution du micrologiciel dans l’environnement simulé).

Des indications sur la façon de commencer?

Merci Chris

Était-ce utile?

La solution

Écrire un émulateur entier sera un véritable défi. J'ai déjà essayé d'écrire un émulateur ARM et laissez-moi vous dire que ce n'est pas un petit projet. Vous devrez soit émuler tout le cœur du processeur, soit en trouver un déjà écrit.

Vous aurez également besoin de comprendre le fonctionnement de tous les IO. Il se peut que sparkfun contienne des documents sur cette carte, mais vous devrez écrire un gestionnaire de mémoire s’il utilise MMIO, etc.

Le concept d'émulateur n'est pas si éloigné d'un interprète, vraiment. Vous devez interpréter le code du micrologiciel et suivre les instructions.

Je recommanderais un bon débogueur interactif au lieu de s’attaquer à un émulateur. Les chances de détruire le matériel sont faibles, mais vraiment, préféreriez-vous acheter une nouvelle carte ou passer 9 mois à écrire quelque chose qui n'implémentera pas le système en entier?

Il est probable que le PIC 18F2520 dispose déjà d'un noyau d'émulateur, mais vous devrez explorer toutes les spécifications matérielles pour voir comment tous les E / S sont mappés. Si vous vous sentez à la hauteur, ce serait un bon projet, mais j’envisagerais plutôt d’utiliser un débogueur distant.

Autres conseils

Vous devrez écrire un simulateur PIC, puis émuler la fonctionnalité IO des ports.

Pour être honnête, cela ressemble à un kit de développement. Je ne m'inquiéterais pas de la destruction de votre code par votre code si vous en prenez soin. À moins que ce ne soit un runner-up pour un package d'entreprise, je voudrais sérieusement remettre en question le retour sur investissement de l'écriture d'un sim.

Existe-t-il une raison particulière de créer un émulateur / simulateur, par opposition à la simple utilisation de la réalité?

Le conseil est peu coûteux; Microchip a maintenant le débogueur RealICE, qui est un peu plus réactif que l’ancien "puck" de la CIM2.

Le MPLAB de Microchip déjà possède un simulateur intégré. Il ne simulera pas tout le tableau pour vous, mais il gérera le 18F2520. Vous pouvez en quelque sorte utiliser les vecteurs de test d'entrée & amp; enregistrer les fichiers de sortie, je l’avais déjà fait auparavant avec un autre CI Microchip et c’était faisable, mais un peu fastidieux. Je suggérerais que vous preniez l'approche des tests unitaires et moduliez votre façon de faire les choses; Déterminez vos entrées de test et les résultats attendus pour un élément gérable du système.

  

Il est probable que le PIC 18F2520 dispose déjà d'un noyau d'émulateur écrit pour celui-ci,

Un simulateur open source et multiplate-forme pour puces / PIC est disponible sous le nom de " gpsim ".

Il est extrêmement improbable qu'un bogue dans votre code puisse endommager les circuits physiques. Si cela est possible, alors il s’agit d’un bogue dans la conception du tableau ou il devrait être très clairement documenté.

Si je peux vous suggérer de nombreuses années d’expérience avec ces appareils, ne les programmez pas en montage. Vous allez devenir fou. Utilisez C ou BASIC ou un langage de niveau supérieur. Microchip produit un compilateur C pour la plupart de ses puces (ce qui n’est pas le cas de celui-ci), mais d’autres sociétés en produisent également.

Si vous insistez pour utiliser un émulateur, je suis presque certain que Microchip fabrique un émulateur pour presque chacun de leurs microcontrôleurs (au moins un de chaque gamme de produits, ce qui serait probablement suffisant). Ces émulateurs ne sont pas toujours bon marché et je ne suis pas sûr de leur capacité à accepter des entrées externes complexes.

Si vous voulez toujours essayer d'écrire votre propre texte, je pense que vous constaterez que l'émulation du PIC lui-même sera assez simple: le format de tous les opcodes est bien documenté, de même que l'architecture de la mémoire, etc. imiter les autres périphériques du tableau et les interconnexions entre eux qui vont vous tuer. Vous voudrez peut-être envisager de coder les interconnexions entre les composants à l'aide d'un outil VHDL qui vous permettra de créer des simulations personnalisées pour les différents composants.

N’est-ce pas un problème de simulateur matériel dans la boucle? http://www.embedded.com/15201692 , par exemple

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top