J'ai fait quelques développements avec ATMega et je cherche à élargir mes horizons. J'ai quelques puces de la série Cortex M4 et je voudrais faire un ARM équivalent au Breadboarduino
Je prévois de graver ma propre planche ou d'utiliser une planche de dérivation pour l'ARM et la planche à pain le reste. Une référence ou un schéma des composants minimaux serait grandement apprécié.
Existe-t-il de bonnes ressources pour déterminer les composants minimum requis pour faire fonctionner et idéalement programmer une puce ARM?
MISE À JOUR:
Je suis ouvert à d'autres suggestions de matériel. Voici la puce avec laquelle j'essaie actuellement de travailler:
Réponses:
Cela dépend vraiment des puces que vous utilisez - vous n'avez pas spécifié celle que vous avez reçue. En règle générale, vous auriez besoin d'au moins un cristal, des bouchons de découplage et une logique de réinitialisation. L'interface de programmation peut être une simple interface JTAG.
Mais tout cela doit être indiqué dans la fiche technique des puces.
Mise à jour (pour le STM32F407):
Regardez les pages suivantes dans la fiche technique
Vous n'aurez pas besoin d'un circuit de réinitialisation (il est intégré - voir page 23) ou d'un oscillateur (l'oscillateur intégré à 16 MHz est sélectionné au démarrage, voir page 22). Donc, utiliser une carte de dérivation LQFP144 (comme celle de futurlec (voir en bas de la page) pourrait vraiment être suffisant.
Vous pouvez également consulter le schéma de la carte STM32F4DISCOVERY (voir son manuel d'utilisation , page 33. Ce que vous voyez là est le circuit de base - et il contient même les cristaux externes.
la source
Voulez-vous vraiment effectuer cette opération pour un Cortex-M4? C'est un grand bond par rapport à AVR, et je ne vois pas comment vous utiliseriez toutes les fonctionnalités qu'il propose. Pour commencer, un Cortex-M4 est généralement livré dans un grand boîtier, généralement plus de 80 broches pour les pièces d'entrée de gamme, et 200+ n'est pas une exception, pensez QFP ou BGA. Allez-vous faire une carte de dérivation avec deux rangées de 40 broches sur la planche à pain?
Le Cortex-M4 est également conçu pour la haute vitesse: 120 MHz à 200+ MHz en général. OK, vous n'aurez peut-être pas besoin de concevoir votre PCB pour ces vitesses si vous utilisez une PLL sur puce. Mais qu'en est-il des périphériques, comme USB ou Ethernet?
Bien sûr, vous pouvez l'exécuter à des vitesses inférieures et laisser de côté la plupart des fonctionnalités sur puce, mais je me demande à quoi sert un Cortex-M4 pour commencer. Je pense qu'un Cortex-M3 ou même -M0 est plus approprié pour commencer. Je ne veux pas vous décourager, je veux rester réaliste.
Si vous ne voulez aller de l' avant avec le Cortex-M4 vous pouvez faire avec le matériel externe minimal. Le NXP LPC407x, par exemple, possède un oscillateur RC interne qui est l'oscillateur par défaut à la réinitialisation, vous n'avez donc même pas besoin d'un cristal. Un circuit de réinitialisation et un découplage adéquat de l'alimentation seront tout ce dont vous avez besoin pour le mettre en service.
Pour un Cortex-M0, le NXP LPC111x peut valoir le coup d'œil. Certes, il ne contient pas beaucoup de mémoire, mais il est disponible dans un package DIL-28 , ce qui est rare pour les ARM. Alternativement, vous pouvez utiliser une carte de développement comme le LPCXpresso ,
où la moitié droite est la carte d'application, qui peut être séparée de la liaison LPC. Comme vous pouvez le voir, il n'y a pratiquement pas de matériel externe requis pour l'application. Et si vous soudez un ensemble d'en-têtes, vous pouvez le brancher sur une planche à pain.
la source
Comme Steven le dit, c'est un grand pas en avant pour ARM à partir d'un micro 8 bits, alors attendez-vous à un peu d'apprentissage / temps passé sur le chemin.
Je n'irais pas non plus pour le M4 pour votre premier ARM, simplement parce qu'il n'est pas sorti trop longtemps et qu'il y a moins de support / d'informations là-bas. Je pense qu'un M3 ou M0 est un meilleur choix et qu'il y aura beaucoup à faire.
Vous pouvez certainement créer votre propre tableau, mais il serait peut-être préférable de prendre d'abord un tableau de développement petit / bon marché. En ce qui concerne le développement, il existe de nombreuses options, de gratuites (éclipse + GCC + OpenOCD) à coûteuses (Keil, Rowley, etc.) Personnellement, j'utilise l'IDE Raisonance Ride7 et les outils avec les ARM M3 / M4 de la série STM32, ce qui est un peu moins cher que Keil / Rowely mais assez bon.
Jetez un œil à l'une des simples cartes de développement de quelqu'un comme ST, Olimex, etc. Cette carte de développement a à peu près le schéma le plus simple que j'ai pu trouver, pour un STM32 Cortex-M3.
la source
L' Arduino Due devrait sortir bientôt:
Chip est un SAM3X8 Cortex-M3 d'Atmel. Cela peut valoir la peine d'attendre si vous connaissez déjà les cartes de style Arduino et la documentation de style Atmel. Et comme il sera open source pour répondre aux exigences Arduino, vous pouvez bien sûr le tester.
la source
Je vous recommande de vérifier que Mbed est un appareil cortex-m3 avec quelques beaux périphériques, nxp fournit un compilateur et de nombreuses bibliothèques et bibliothèques communautaires, un moyen très facile de le programmer et son déjà dans un package à utiliser sur une planche à pain. Je pense que ce serait le moyen le plus simple de passer d'AVR à ARM.
la source
De nombreuses pièces ST peuvent, du moins si elles n'utilisent pas d'émetteur-récepteur USB, fonctionner avec leur oscillateur interne haute vitesse.
Cela signifie essentiellement que votre "circuit" se compose de bouchons de dérivation et de quelques résistances sur des choses comme la réinitialisation et la terminaison sur l'interface SWD.
Les cartes d'évaluation 8-10 $ de ST programmeront les pièces que vous mettez sur votre propre carte via le bus SWD; il existe également des outils open source pour que vous puissiez placer l'opération de programmation directement dans votre Makefile.
Aller chercher quelque chose dans le 48 PQFP vous facilitera probablement la vie lors de votre première tentative de carte. Vous pouvez les assembler sans grossissement (ayez simplement une tresse fine disponible pour fixer le pont ou deux que vous créerez probablement de chaque côté), mais avoir une loupe disponible pour vérifier votre travail serait utile.
la source