Une configuration ARM amateur peut-elle être aussi simple que celle de l'AVR?

8

J'aime la simplicité d'une configuration Atmel AVR pour la programmation en langage assembleur amateur. Par exemple:

  • Mettez une puce ordinaire ATmega DIP {A} sur une planche à pain
  • Connectez 6 broches à un programmateur USB {B} connecté à un ordinateur ( par exemple ). (La puce est alimentée par une partie de cette connexion pendant l'écriture et le fonctionnement normal).
  • Écrivez un programme en langage assembleur à l'aide de n'importe quel éditeur de texte.
  • Assemblez le programme en utilisant avra {C}
  • Écrivez le programme sur la puce en utilisant avrdude {D}

Le monde ARM est-il fondamentalement de niveau supérieur / plus complexe ou pouvez-vous me dire des équivalents pour {A} {B} {C} et {D} qui permettraient une configuration simple similaire? Tout ce qui concerne Windows uniquement ne me concerne pas.

Je vous remercie.

Remarque: Le motif de la configuration simple est la programmation d'assemblage et je veux contourner complètement les compilateurs et les IDE.

xyz
la source

Réponses:

6

Le développement du microcontrôleur ARM est un peu plus complexe. Mais, seulement parce que les packages DIP ne sont généralement pas disponibles.

Si vous êtes prêt à utiliser une carte de développement, le développement d'ARM peut être encore plus facile.

Le mbed est un microcontrôleur ARM sur une carte en forme de DIP.

Le compilateur C / C ++ est basé sur le Web et la carte apparaît comme un périphérique de stockage de masse USB. Vous téléchargez le code en enregistrant de votre navigateur sur le mbed. Encore plus simple qu'une configuration AVR de base.

Une fois que vous avez dépassé cette configuration, vous pouvez exécuter gcc localement sur votre PC et continuer à télécharger via USB. Après cela, vous pouvez passer à JTAG en utilisant OpenOCD.

Toby Jaffey
la source
Je vous remercie. Le motif de la configuration simple est la programmation d'assemblage et je veux contourner complètement les compilateurs et les IDE.
xyz
Le mbed serait toujours un bon ajustement. Téléchargez une chaîne d'outils (par exemple, codesourcery) et utilisez l'assembleur GNU pour produire un binaire ELF, puis copiez-le sur le mbed via USB.
Toby Jaffey
Est-ce que quelqu'un sait si Arduino a été testé EMC comme mbed ?
Federico Russo
Il existe des options beaucoup plus économiques que mbed - 10 $ de modules eval / programmer et des puces cortex M3 ou M0 avec des roms de démarrage UART qui ne nécessitent qu'une seule résistance et les bouchons de dérivation habituels pour fonctionner. Cela rend la transition de l'expérience à l'application beaucoup plus facile.
Chris Stratton
mbed est un logiciel, pas une carte ou une puce.
Melab
5

Jetez un oeil à mbed . Il utilise un IDE en ligne, vous n'êtes donc pas limité à Windows; n'importe quelle plate-forme qui offre un navigateur fera l'affaire. Vous faites simplement glisser votre code compilé vers le contrôleur mbed qui apparaît comme un périphérique de stockage USB sur votre ordinateur.

Logiciel à installer: zéro. Configuration matérielle requise: un port USB.

Stevenvh
la source
Je vous remercie. Le mbed semble intéressant, et je jette un coup d'œil sur la base de vos réponses et celles de Toby.
xyz
5

a) soit acheter un LPC1114 (DIP28W), souder une puce ARM sur une carte DIP bereakout appropriée, ou acheter une carte d'en-tête prête à l'emploi

b) connectez les broches appropriées à un programmeur approprié. pour la plupart des puces LPC, un convertisseur USB-vers-3v3-série fera l'affaire

c) compilez votre programme en utilisant une chaîne d'outils appropriée. Codeourcery est mon préféré. Oubliez asm, passez en C ++ (ou en C si vous ne voulez pas faire le grand pas maintenant). (Vous n'avez même pas besoin de passer à ARM pour ce faire)

d) utilisez l'outil approprié en fonction de votre choix en b). Mon préféré est lpc21isp. Si vous utilisez un LPC1343, connectez-le simplement à USB, copiez-y votre application (il apparaîtra comme un périphérique de stockage de masse) et c'est parti.

Si vous êtes amoureux des solutions basées sur IDE en conserve (je ne le suis pas), vous pouvez par exemple envisager cette carte LPC1343 .

Wouter van Ooijen
la source
Je vous remercie. Je vérifie cette plage. Je programme C sur mon "ordinateur normal" et considère les microcontrôleurs amateurs comme une façon amusante d'explorer l'assemblage.
xyz
La bonne chose à propos de lpc2isp est qu'il est entièrement automatique. L'approche du stockage de masse était trop compliquée pour moi, car vous devez changer un cavalier d'avant en arrière (avec cette petite carte Olimex: olimex.com/dev/lpc-p1343.html ).
starblue
La clé USB LPC1343 est facile à configurer, mais lourde à utiliser pour le développement. J'utilise lpc21isp pour presque tout. Pour moi, sa fonctionnalité la plus intéressante est la programmation totale «sans intervention» (en utilisant les lignes de négociation pour la réinitialisation et l'activation du chargeur de démarrage), ainsi que la communication série (journal de débogage) en utilisant la même ligne série.
Wouter van Ooijen