J'ai un émulateur de pouce qui devrait compiler n'importe où, windows, linux, mac, peu importe. thumbulator.blogspot.com. Ajoutez quelques printfs où vous voulez voir quelque chose et vous êtes en or. ARMs émulateur de l'armator, est disponible sous forme de source dans de nombreux endroits, dans les sources gdb par exemple. Qemu fonctionne très bien, mais il va être difficile de "voir votre code". le mieux serait d'avoir une source hdl (verilog par exemple) pour un noyau de bras et de créer des fichiers vcd ou d'autres formats de forme d'onde. Sauf si vous travaillez pour une entreprise de puces avec un bras incorporé, mais vous n'allez probablement pas en trouver un. Je peux me tromper mais je pense que tous les cœurs de bras ouverts sont rapidement retirés par ARM.
mame a un noyau de bras ou deux. avance garçon visuel a un noyau de bras. les émulateurs nds ont des coeurs de bras. Ou vous pouvez faire ce que j'ai fait avec le thumbulator et écrire le vôtre, je l'ai trouvé plus facile que d'essayer d'obtenir l'un des autres pour me montrer ce que je voulais voir. Bien sûr, j'étais fainéant et je n'ai fait qu'un émulateur de jeu d'instructions au lieu d'un émulateur de bras complet. Ce n'est pas difficile du tout juste du temps.
EDIT
OK Je suis resté corrigé. google les mots bras verilog. isc.tgz contient un modèle de comportement d'un bras qui compile et fonctionne très bien avec icarus verilog (gratuit).
Commentez tous les $ save_store(); lignes (comme C utiliser un //).
Ajoutez quelques lignes de code à testarm.v (après l'arm10 et avant le début initial par exemple).
initiale début $ dumpfile ("test.vcd"); $ dumpvars (0, arm10); fin
toujours # 50000 $ fini;
puis
iverilog -o bonjour testarm.v ARM10.v
VVP bonjour
et il fonctionnera 50000 unités de temps, terminer la sim et fermez le fichier vcd. Pour rendre le sim plus long ou plus court, changez toujours la ligne # 50000.
Obtenez une copie de gtkwave (gratuit) pour voir le fichier vcd. Utiliser gtkwave est un autre article, vous voudrez faire quelque chose comme cliquer sur le signe + à côté de test_arm, puis cliquer sur l'arm10 qui est là, sous les signaux cliquer sur dire addr_bus pour mettre la ligne en surbrillance puis cliquer sur la case append, cliquez sur le bus de données et cliquez sur le bouton ajouter, peut-être ajouter des registres, r1, r2, etc. Il y a une barre d'outils mais vous pouvez aussi utiliser le menu time-> zoom-> zoom plein qui est ALT-F sur mon installation. Ensuite, vous apprendre à faire un zoom avant et arrière sur les choses. En parlant d'expérience personnelle, vous ne verrez pas votre code fonctionner mieux que d'utiliser un simulateur HDL. En fait, une fois que vous vous êtes habitué à cela, vous pouvez avoir du mal à fonctionner sur du silicium où vous ne pouvez pratiquement rien voir.
Je n'ai pas fait plus qu'exécuter le programme de test inclus avec ce modèle comportemental. Je ne sais pas ce que vous pouvez ou ne peux pas faire avec. Un verilog $ readmemh est assez simple, il veut juste lire les lignes d'hex dans n'importe quelle mémoire spécifiée. Donc, vous pouvez facilement créer un outil qui prend votre code de bras compilé et crée le fichier ASCII que la simulation de Verilog veut.
Notez qu'un modèle comportemental (HDL) n'est pas un modèle synthétisable signifiant que vous ne pouvez pas en faire une puce, rien ARM ne doit s'inquiéter d'être là dehors à l'air libre. –