Je veux commencer à utiliser des processeurs ARM, en migrant à partir de PIC que j'utilise depuis trop longtemps. Les modèles 8 bits étaient disponibles pour moins de 1 $, les programmeurs pour moins de 10 $, et j'ai été gâté par la facilité et le faible coût de démarrage. Mais vu que leur puissance est éclipsée par certaines puces ARM au même prix, et que j'en ai assez des logiciels fermés, je veux faire le changement.
Je préférerais éviter d'avoir des cartes de développement et plutôt y aller directement avec un circuit imprimé générique bon marché (1 $) et sur une planche à pain en utilisant les composants externes essentiels pour le faire fonctionner.
Quelles sont mes options pour programmer des puces ARM de cette manière? Existe-t-il des programmeurs comme le PICKit2 qui utilisent USB pour se connecter à un PC, programmant via une simple connexion série (comme ICSP) avec la puce? Quelle est la différence de configuration requise pour les différents fabricants d'ARM, les versions d'ARM et les puces individuelles? (ST, Atmel ...) Par exemple, chaque fabricant a-t-il besoin de ses propres compilateurs, programmeurs, IDE, etc.? Ou existe-t-il des outils communs pour tous?
EDIT: Très bien, donc après plus de recherches, je pense avoir trouvé une solution relativement bon marché, une carte de développement stm32 peut être flashée avec le firmware DAPLINK, mais je ne pense pas que le firmware officiel de github fonctionnera nativement (tout cela n'est que spéculation jusqu'à ce que je obtenir mon conseil de développement stm32 par la poste). Mais j'ai trouvé que la carte daplink_usb incluse avec le readbear mk20 exécute une puce stm32, ils ont publié le firmware, qui doit avoir une ligne modifiée pour le rendre compatible avec le cristal 8mhz (Détaillé dans le post du forum lié ci-dessous). Sinon, changez le cristal avec un 16 MHz. Mauvaise mise à jour une fois que j'ai confirmé cela lorsque mon kit de développement arrivera.
Réponses:
Les lignes stm32F0 et stm32L0 ont des cartes de découverte qui coûtent environ 10 $, et Keil fournira un IDE complet pour cette ligne à un coût nul.
Les instructions d'installation de Keil free pro MDK sont ICI
De plus, ARM a une feuille blanche sur la migration vers Cortex M3 depuis PIC que vous pourriez trouver utile.
la source
Moyen le plus simple: débourser> 10 000 $ USD pour un compilateur Keil Pro complet, achetez leur débogueur JLINK (un autre 1 000 $ peut-être - il y en a moins cher avec certaines limitations). IAR est une autre possibilité coûteuse (des exemples sont fournis pour le processeur STM32F7 Cortex M7 qui fonctionne sur la démo IAR de 30 jours)
Téléchargez et installez une chaîne d'outils GCC-ARM + Eclipse (gratuite) avec les plugins de débogage JLINK. Obtenez un clone JLINK pour environ 20 $, ce qui, je pense, fonctionnera bien - pas encore testé, pour le débogage.
Il existe des instructions détaillées pour ces derniers sur le net, mais ils font certaines hypothèses. Attendez-vous à passer une journée ou plus à le faire fonctionner, en particulier sous Windows. Ne vous attendez pas à pouvoir utiliser la plupart des exemples fournis pour d'autres IDE sans travail. De manière impressionnante, la chaîne d'outils gratuite peut utiliser des «packs» («expérimentaux» en ce moment).
Il existe d'autres systèmes tels que Rowley Crossworks (qui utilise gcc, je crois) qui sont moins pénibles financièrement. Atmel Studio en est un autre, mais j'ai eu des plaintes amères de mon développeur de firmware très expérimenté à ce sujet (je n'ai joué que brièvement avec lui-même).
Si vos besoins en code sont inférieurs à 32 Ko, vous pouvez utiliser le même système Keil gratuitement (version limitée au code), mais sachez que le chemin de mise à niveau est facile mais plutôt coûteux. Par exemple, il ne compilera pas les exemples Ethernet simples pour le SAME70. Bien si vous remplacez des PIC ou des AVR par des ARM bas de gamme, mais pas si bien si vous utilisez ARM car vous devez réellement parler à des écrans LCD et exécuter des protocoles de communication complexes (des modules précompilés peuvent éventuellement être inclus sans affecter la Limite 32K, je n'ai pas étudié cet angle particulier).
la source
Voici ce que j'utilise:
la source
Le début le plus simple est probablement l'un des clones tiers. Exemple aléatoire de ST . Cela nécessite un programmeur utilisant le protocole «SWD». ST fabriquez ceux de marque 'ST-LINK', je ne sais pas si vous devez utiliser ceux de ST-LINK avec des appareils ST ou si c'est vraiment générique.
Une combinaison de SWD et JTAG joue le rôle d'ICSP sur les systèmes ARM, vous offrant des capacités de programmation et de débogage.
Côté logiciel, il est généralement possible de travailler avec GCC et OpenOCD sur la plupart des puces. Les détails sont légèrement différents pour chaque appareil. Les professionnels utilisent souvent la chaîne d'outils Keil, qui est assez chère.
Certains appareils (par exemple de la série Kinetis) ont des chargeurs de démarrage USB: l'appareil apparaît comme un périphérique de stockage de masse, vous téléchargez un fichier BIN dessus et appuyez sur un bouton. Solution la plus simple possible, aucun programmeur requis. Atmel AT91 possède un chargeur de démarrage USB qui fonctionne avec un protocole propriétaire appelé SAM-BA.
la source
Côté IDE, Silicon Labs fournit Simplicity Studio , basé sur Eclipse . Il est livré en standard avec GCC.
Il existe un support intégré pour tous les kits de démarrage qu'ils vendent, ce qui rend le démarrage relativement indolore.
La programmation utilise un pilote Segger J-Link pour les kits de démarrage (gratuit). Connectez simplement le kit à l'USB et c'est parti.
Atmel a son Studio basé sur l'IDE Visual Studio et peut se connecter à n'importe quel débogueur Atmel. Cela est également livré avec GCC.
Les deux fournisseurs ont de nombreux (très nombreux) exemples pour piloter leurs appareils.
J'ai utilisé les deux et bien que la documentation ne soit pas parfaite (elle ne l'est jamais), elle était certainement suffisante pour me permettre de continuer sans douleur.
La plupart des kits ST (et d'autres) sont compatibles mbed .
la source
Cypress fabrique des cartes de dérivation basées sur PSOC-4200 (ARM Cortex M0) avec un facteur de forme DIP-40 qui incluent un adaptateur de programmation basé sur USB dans une partie de rupture. Le prix de la carte de dérivation et de l'adaptateur de programmation attaché (détachable) est un énorme 3,99 $ US de Digi-Key.
la source
Je recommanderais CooCox - c'est la même combinaison GCC + Eclipse, mais pas besoin de configurer la chaîne d'outils manuellement, installez-la et commencez à coder.
la source
À mon avis, TI, NXP (composé de NXP + Freescale) et ST sont des acteurs majeurs dans le monde du cortex M, en particulier ST et NXP offre des outils vraiment compétitifs pour les nouveaux arrivants, un autre paramètre important est la popularité dans la communauté open source qui cause une quantité de tutoriels, bibliothèques, pilotes de périphériques, outils, etc.
puis :
Les numéros 2 et 3 sont un meilleur choix pour le niveau supérieur que pour les loisirs. Rappelez-vous également qu'en utilisant une licence gratuite d'outils professionnels comme IAR, Keil ou même LPCXPRESSO, vous avez moins de douleur lorsque vous vous déplacez vers le domaine professionnel.
la source
mbed
- voir [ developer.mbed.org] [developer.mbed.org]