Question

Est-il conseillé de commencer directement avec la fiche technique et le manuel d'utilisation d'un processeur ARM pour un débutant ou de commencer par se faire une idée du monde ARM, puis de continuer?

Était-ce utile?

La solution

Plusieurs bonnes ressources sont décrites dans les réponses à cette question connexe:

De plus, Hitex dispose de "guides pour initiés". pour quelques microcontrôleurs différents basés sur des processeurs ARM (gratuit, mais nécessite une inscription):

La plupart d'entre eux (si ce n'est tous) sont des téléchargements gratuits (je pense qu'ils sont sponsorisés par les fabricants de microcontrôleurs). Ils sont davantage axés sur les microcontrôleurs que sur les spécificités d'ARM, mais ils incluent certains détails d'ARM et constituent une excellente vue d'ensemble des micros et des périphériques dans les micros.

Autres conseils

Lorsque je commence avec une nouvelle technologie (pour moi), je commence par localiser autant de feuilles de données et de notes d'application que je peux et en les lisant directement. Le premier objectif est de se familiariser avec le jargon (et les noms des joueurs) propre à cette technologie.

Avec ARM, je commencerais par www.arm.com , ainsi que leur documentation à l'adresse Centre de documentation ARM .

Mise à jour: Je me plongerais également dans une ou plusieurs gammes de produits du fabricant, y compris la lecture d'au moins un manuel de programmation pour la famille. Si vos plans de projet sont suffisamment fermes pour que vous sachiez quel processeur ARM spécifique sera utilisé, vous pouvez alors vous concentrer sur ce modèle spécifique et ses proches parents. Si vous souhaitez vous familiariser avec ARM pour pouvoir choisir la CPU à utiliser dans le projet, alors échantillonner un large éventail de familles est certainement le meilleur plan.

Il existe une grande liste de détenteurs de licences de la technologie ARM . Parmi ceux-ci, quelques fabricants ont des produits (basés sur la saveur CORTEX-M3 du coeur ARM) qui se distinguent des systèmes à imbriqués profonds pour les applications de systèmes embarqués profonds.

Mon entreprise a des projets en cours basés sur la famille STM32 de ST Microelectronics . Cette famille comprend de nombreux périphériques sur puce dotés de fonctionnalités qui seront familières à toute personne du monde 8051 ou du monde PIC, et elle dispose de suffisamment de mémoire FLASH et SRAM sur la puce pour rendre les mémoires externes facultatives.

J'ai entendu beaucoup de choses positives sur la famille Stellaris dans Luminary Micro . Il semble également convenir à un certain nombre de besoins en matière de plates-formes intégrées.

Étant donné les prix actuels des cartes d’évaluation d’entrée de gamme, je vous recommande fortement d’en prendre une ou plusieurs pour des puces similaires à votre niche d’application cible anticipée. Une carte avec un petit écran LCD, un accéléromètre, quelques DEL, un bouton ou deux, l'accès aux broches GPIO non validées, une interface USB JTAG intégrée et une chaîne d'outils de développement croisé complète basée sur GCC peuvent être avait pour le STM32 (moins de 40 USD en 2009, mais ce modèle est par exemple).

Des packages similaires peuvent être trouvés pour de nombreux autres produits basés sur le coeur ARM.

ARM est également utilisé en tant que cœur de processeur dans un système sur une puce. Un certain nombre de fournisseurs de systèmes SOC accordent des licences pour un processeur ARM afin de mettre leur silicium à côté de leur matériel dédié. J'ai vu des puces de compression vidéo, des puces de réseau, des adaptateurs Firewire vers ATA et des périphériques USB ainsi construits. Ce n'est qu'un échantillon d'articles publiés et de communiqués de presse que je me souviens de ne pas avoir volé.

Mise à jour 2, 2013: Un point d’entrée très accessible vers un "typique" La famille SOC basée sur ARM est visible dans le Raspberry Pi et les divers Conseils de famille Beagle . Les deux sont destinés aux expérimentateurs et aux amateurs, utilisent des SOC avec des cœurs ARM et des ressources supplémentaires telles que des capacités vidéo et audio, et exécutent tous les deux Linux.

Il existe également une grande variété de systèmes sur un fabricant de modules fournissant une carte mezzanine contenant un système amorçable complet à monter sur une carte personnalisée fournissant l’alimentation et les connecteurs d’E / S nécessaires à un système intégré spécifique. Un de ces fournisseurs est Gumstix . Gumstix AirSTORM fournit les technologies Wi-Fi, Bluetooth, DRAM, NAND FLASH et un TI OMAP3 ARM SOC. Un sui

Je vous conseillerais de vous procurer un BeagleBoard . Ils prennent en charge JTAG afin que vous puissiez voir ce qui se passe dans le matériel, une sorte de débogueur de matériel. Il y a plusieurs versions de Linux qui fonctionnent dessus. Il existe également une grande communauté autour de celle-ci qui vous aidera à travailler avec elle. Ubuntu Jaunty tourne sur le mien, il n’ya donc aucune fin en termes d’utilitaires et de compilateurs que vous pouvez exécuter.

Je voudrais faire du surf sur sparkfun.com, ils portent des planches Olimex et en fabriquent eux-mêmes. Les luminaires Micro / stellaris sont également bons. Le beagleboard est plus une plate-forme Linux que quelque chose qui vous donne accès aux caractéristiques / instructions du bras lui-même. Vous pouvez l'utiliser, mais pour cet argent, vous pourriez acheter entre 3 et 7 cartes de microcontrôleur différentes basées sur ARM. De toute façon, je commencerais par une petite planche entourant un microcontrôleur basé sur un bras, st ou lpc probablement, le micro luminaire n’est que le pouce2, ce que je ne ferais que lorsque je me serais mouillé les pieds avec les instructions du bras, puis celles du pouce.

Je suis également fan d’utilisation de la gameboy advance comme plate-forme d’apprentissage pour arm (pas la NDS, elle est avancée, commencez par la famille GBA).

Vous voudrez utiliser ARM ARM (Manuel de référence de l’architecture ARM). Chaque noyau dispose de son propre module d’affichage des marques, vous aurez besoin des deux pour connaître les instructions à votre disposition. Pour l’essentiel, ces manuels servent à la fois de référence et d’apprentissage à partir de rien.

Je voudrais d’abord obtenir un tableau d’évaluation du type STR750 -LOVE . Ensuite, compilez et comprenez les exemples. Une fois que vous êtes à l'aise avec les exemples, il est temps de passer à la compréhension de ce qui se cache sous le capot et à l'écriture de votre propre code. Une partie importante du processus d’apprentissage consiste à essayer de faire quelque chose, puis à le déboguer et à le faire fonctionner. Si vous souhaitez devenir un expert chez ARM, vous devez être capable de lire l’ensemble en toute confiance. Je venais d'avoir une interview pour être développeur de firmware ARM et tout ce que j'ai fait pour la partie technique a été d'analyser le code d'assemblage de THUMB et de le transformer en code c. La plupart des compilateurs ont une option pour sortir l'assembly qu'ils génèrent.

Selon les mots de Tom Lehrer, "plagiez, plagiez, ne laissez aucun travail vous échapper des yeux".

Ou être comme Newton (et Bernard) se tenir sur les épaules de géants.

En d’autres termes, découvrez ce que d’autres ont fait et évitez idéalement de réinventer les rouages.

Je commencerais par une carte de développement peu coûteuse et un exemple de logiciel, puis nous examinerons ce que vous devez savoir au fur et à mesure.

Un bon guide pour le STM32 basé sur ARM-core est le guide pour STM32 .

Je ne commencerais pas par le manuel technique, sauf pour un survol très rapide. Celui du STM32 compte plus de 600 pages et le manuel Cortex-M3 qui l'accompagne, 400 pages supplémentaires. Pas vraiment une lecture légère!

Cela dépend vraiment du type d’ARM, c’est un monde très vaste. Généralement, ARM est intégré à un SoC (système sur puce). Si vous vous apprêtez à migrer vers un fournisseur de SoC spécifique, vous devrez alors en tenir compte. D'après mon expérience, les choix de périphérique et de cache de SoC ont plus d'influence que le cœur même (à l'exception des performances).

En ce qui concerne les conseils d’évaluation: j’ai une bonne expérience de Luminary micro (gamme de 50 $ à 60 $) Cortex M3 . Il est livré avec un environnement de développement complet (eclipse), des exemples, des bibliothèques et du matériel (USB, Ethernet, écran OLed) et des exemples à partir desquels vous pouvez exécuter et apprendre. Apprendre en faisant est, à mon avis, plus amusant que d’apprendre en lisant. Je pense que vous serez à l'aise pour passer de 8051 à Cortex M3.

Sur le haut de gamme, la carte Beagle est un véritable système d’échantillonnage qui peut également fonctionner sous Linux.

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