Question

Je suis un débutant complet au monde ARM. Je dois être en mesure d'écrire du code C, compiler, puis télécharger dans un émulateur ARM, et exécuter. Je dois utiliser le compilateur GCC 4.1.2 pour la compilation de code C.

point que quelqu'un peut me dans le bon sens pour les questions suivantes?

Qu'est-ce que la chaîne d'outils à utiliser?

Qu'est-ce que l'émulateur à utiliser?

Y at-il des tutoriels ou des guides sur la mise en place de la chaîne d'outils?

Était-ce utile?

La solution

la construction d'un compilateur croisé gcc vous est assez facile. la bibliothèque gcc et la bibliothèque C et d'autres choses non pas tant, une bibliothèque intégrée et un peu plus difficile. Cela dépend de la façon dont vous voulez embedded obtenir. J'ai peu d'utilité pour gcclib ou une bibliothèque c donc rouler vos propres œuvres grand pour moi.

Après de nombreuses années de le faire, peut-être est une chose d'âge, je maintenant juste aller chercher les outils Sourcery de code. la version lite fonctionne très bien. yagarto, devkitARM, WinARM ou quelque chose comme ça (le site avec des exemples zillion) tout amende de travail. emdebian a également une bonne pré-construit toolchain. un certain nombre de ces endroits si pas toutes les informations sur la façon dont ils ont construit leurs toolchains à partir de sources gnou.

Vous avez demandé gcc, mais gardez à l'esprit que LLVM est un concurrent sérieux, et aussi loin que la compilation croisée va, car il toujours croix compiles, il est un compilateur croisé beaucoup plus facile à télécharger et à construire et faire travailler que gcc. la version la plus récente est le code produit maintenant (pour le bras) qui est en concurrence avec gcc pour la performance. gcc est en aucun cas un leader dans la performance, d'autres compilateurs que j'ai exécuter des cercles autour utilisés, mais il a amélioré à chaque nouvelle version (et les versions 3.x produisent parfois meilleur code que les versions 4.x, mais vous avez besoin 4 .x pour les nouveaux noyaux et thumb2). même si vous allez avec gcc, essayez la version stable de LLVM de temps en temps.

qemu est un bon émulateur, en fonction de ce que vous faites l'émulateur gba gameboy advance virtuel est bonne. Il y a quelques émulateurs nds aussi. GDB et d'autres endroits ont ce qui semble être propre ARMs ARMulator. Je l'ai trouvé difficile à extraire et à utiliser, donc je l'ai écrit moi-même, mais être paresseux seulement mis en œuvre le jeu d'instructions de pouce, je le mien appelé le thumbulator. facile à utiliser. Beaucoup plus facile que qemu et ARMulator d'ajouter des périphériques et regarder et déboguer votre code. YMMV.

Hmmm j'ai posté une réponse similaire pour quelqu'un récemment. Google: bras Verilog et à umich, vous trouverez un fichier isc.tgz dans lequel est un ARM10 modèle comportemental (comme vous ne pouvez pas faire une puce de celui-ci, vous pouvez donc trouver Verilog sur le net). Ce qui pour quelqu'un qui veut apprendre un jeu d'instructions, en regardant votre code exécuter au niveau de la porte est à peu près aussi bon qu'il obtient. Faites attention, comme un médicament, vous pouvez devenir accro alors avoir du mal quand vous revenez au silicium où vous avez relativement visibilité nulle dans votre code pendant son exécution. Quelque part dans stackoverflow j'ai posté les étapes pour obtenir ce modèle ARM10 et un autre fichier ou deux pour le transformer en un émulateur de bras en utilisant icarus Verilog. gtkwave est un bon outil gratuit pour examiner les fichiers wave (vcd).

Par-dessus tout ce que vous aurez besoin de l'ARM ARM. (L'ARM Architectural Manuel de référence). Juste google et trouver sur le site web de ARM. Il y a un code de pseudo pour chaque instruction vous enseigner ce qu'ils font. Utilisez le thumbulator ou ARMulator ou d'autres si vous avez besoin de comprendre plus (MAME a un noyau de bras trop). Je fais aucune garantie que le thumbulator est 100% débogués ou précis, j'ai pris quelques programmes communs et leur production par rapport au silicium à la fois le bras et non-bras pour déboguer le noyau.

Autres conseils

Toolchain vous pouvez utiliser Yagarto http://www.yagarto.de/

Emulator vous pouvez utiliser Proteus ISIS http://www.labcenter.com/index.cfm (Il existe une version de démonstration)

et des tutoriels, eh bien, google les =)

Bonne chance!

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