Quel microcontrôleur a un bon simulateur supporté par Linux?

8

Je recherche un bon microcontrôleur pour apprendre l'électronique.

ÉDITER

Je veux développer sur Linux, et je souhaite qu'il y ait un bon simulateur supporté par Linux.

Je veux utiliser le langage C.

guilin 桂林
la source
Avez-vous une idée de l'utilisation que vous souhaitez en faire et de la langue que vous souhaitez utiliser pour le programmer?
BG100
6
Si vous débutez et que vous voulez l'entrée la plus facile dans l'électronique sans vous soucier de savoir comment vous interfacer avec un MCU nu, il est très difficile de recommander autre chose qu'Arduino. L'éditeur n'est pas très bon, mais vous pouvez être opérationnel très rapidement, ce qui vous permettra de faire clignoter les lumières et de lire les états en quelques minutes. Bien que je n'aie pas essayé très fort, je n'ai toujours pas mis en place mon kit Launchpad depuis que j'ai eu des problèmes avec la chaîne d'outils. Arduino était un morceau de gâteau.
Dave
1
Définir le support: outils que vous pouvez exécuter sur X OS pour la puce Y ou pouvoir exécuter X OS sur la puce Y?
Nick T
2
Par «bon support Linux», voulez-vous dire que vous souhaitez utiliser Linux pour le développement ou exécuter Linux sur la puce?
Kevin Vermeer
@Dave quelle chaîne d'outils essayez-vous de travailler? j'ai installé mspgcc sur pclinux et ubuntu 8.4 à 10.10 et cela a fonctionné sans problème, sans chercher quelques fichiers de développement
jsolarski

Réponses:

9

Il existe un bon support Linux pour de nombreux microcontrôleurs:

Les AVR d'Atmel sont bien pris en charge, avec le compilateur GCC et avrdude pour le chargement de code. Un Arduino constitue une bonne carte de développement pour commencer.

Les PIC de Microchip sont pris en charge par MPLABX qui fournit les compilateurs, l'IDE et le chargement de code (à l'aide d'un PICkit ).

Le compilateur SDCC prend en charge 8051, Z80, HC08 et plus.

Les microcontrôleurs ARM sont bien pris en charge, avec GCC et OpenOCD + GDB pour le chargement / débogage JTAG. Une bonne chaîne d'outils GCC précompilée provient de CodeSourcery .

Les microcontrôleurs MSP430 de TI sont pris en charge avec GCC et mspdebug. Voir, http://hackaday.com/2010/08/11/how-to-launchpad-programming-with-linux/

Toby Jaffey
la source
Vous pouvez ajouter MSP430 de TI en utilisant mspgcc et mspdebug, mais en apprenant, j'irais avec PIC ou Arduino.
jsolarski
Wow, je n'avais pas entendu parler de mplabx jusqu'à présent. Je télécharge leur IDE / compilateur Linux. Le manque de prise en charge de Linux a été l'une des principales raisons pour lesquelles j'ai cessé de les utiliser dans mes conceptions. Merci!
akohlsmith
Le simulateur, le composant demandé dans la question, n'est pas traité.
Yann Vernier
@Yann Je ne suis pas convaincu que le PO signifiait vraiment simulateur, peut-être qu'il / elle peut confirmer
Toby Jaffey
Je suis suffisamment convaincu par OP en ajoutant deux fois "simulateur" dans leur montage (y compris dans le titre). Que ce soit un besoin est une autre question, mais je ne l'ignorerais pas.
Yann Vernier
4

Je suis un grand fan des microcontrôleurs basés sur ARM; les anciens travaux réguliers de GCC (j'utilise le compilateur gratuit de CodeSourcery), les anciens travaux réguliers de gdb (comme le font tous les frontends gcc / gdb) et les interfaces JTAG telles que Olimex sont peu coûteuses et fonctionnent à merveille.

J'étais un grand fan des PIC, mais le fait que le système de développement soit bloqué sur une machine Windows ne le coupait plus. Je connais sdcc et les autres efforts du compilateur PIC, mais avouons-le, pourquoi déconner? Obtenez quelque chose qui fonctionne, a une grande base de support et ne vous oblige pas à faire des bêtises. Un LPC2103 est peu coûteux (2101/2102 étant moins cher), a une quantité décente de mémoire et de ressources et est proposé dans une empreinte LQFP qui est relativement facile à travailler. Il existe des dizaines de microcontrôleurs ARM7 ou Cortex M3 sur digikey dans les packages LQFP. (il y en a aussi des centaines d'autres si vous êtes prêt à travailler avec des packages de pads ou BGA exposés.) Ce que vous voulez dépend du nombre d'E / S que vous recherchez, des périphériques, etc. NXP, ST Micro et TI proposent tous des pièces de Digikey qui sont en stock en ce moment, et je '

J'aime beaucoup les ARM, mais si ce n'est pas votre sac, CodeSourcery propose également gcc pour MIPS (cela devrait inclure PIC32), NIOS (pour votre CPU intégré dans un FPGA) et des microcontrôleurs SuperH. Je n'ai aucune expérience directe avec aucun d'entre eux, car je suis plus que satisfait d'ARM. Vous n'avez pas non plus besoin d'utiliser leur gcc; vous êtes libre de créer votre propre compilateur, mais j'en suis très content et je les branche chaque fois que je le peux. Ils ont publié une version gratuite qui n'a techniquement aucun support, mais ils sont réceptifs aux questions des amateurs et leurs listes de diffusion sont excellentes.

akohlsmith
la source
2

Je ne connais pas de très bons simulateurs - car les quelques simulateurs gratuits que je connais ne sont pas mis à jour pour les nouveaux MCU. Pour les AVR, nous avons SimulAVR et pour les PIC, nous avons gpsim . Quelques fabricants, comme XMOS , s'efforcent de fournir des outils pour plusieurs plates-formes. La plupart n'incluent pas de simulateurs, mais le leur devrait.

Lors de la simulation d'un ensemble d'instructions à des fins académiques, plutôt que d'un microcontrôleur complet, j'ai utilisé GXemul . Pour une émulation plus performante, QEMU peut être utile.

Yann Vernier
la source