Débuter en microprocesseur/microcontrôleur à cœur d’ARM
Répondre à la discussion
Affichage des résultats 1 à 16 sur 16

Débuter en microprocesseur/microcontrôleur à cœur d’ARM



  1. #1
    invitef5766415

    Débuter en microprocesseur/microcontrôleur à cœur d’ARM


    ------

    Bonjour,

    En voyant la prolifération de gadget électronique utilisant les microprocesseurs ARM, j’ai commencé récemment la programmation de ces derniers avec les microcontroleurs ARM7 NXP LPC2100 après avoir travaillé plusieurs années sur les PIC.

    Seulement en tant que débutant j’ai remarqué que ce qui est à la mode maintenant ne sont plus les ARM7, 9 ou 11 mais les Cortex.

    Mes questions pour ceux qui ont des expériences sur les ARM sont :

    Primo, Es-ce que les ARM7 sont-ils obsolètes maintenant ?

    Secundo, Est-il facile de passer sur les ARM cortex (notamment les Cortex M3) après avoir travaillé sur les ARM7, concernant principalement la programmation en assembleur.

    Enfin, une question un peu différente, es-ce que quelqu’un connaît une carte de développement incluant un ARM en Hardcore dans un FPGA ?
    Merci

    -----

  2. #2
    bobflux

    Re : Débuter en microprocesseur/microcontrôleur à cœur d’ARM

    A quoi cela sert-il de programmer en assembleur sur ce genre de micro ?

  3. #3
    invitef5766415

    Re : Débuter en microprocesseur/microcontrôleur à cœur d’ARM

    Citation Envoyé par bobfuck Voir le message
    A quoi cela sert-il de programmer en assembleur sur ce genre de micro ?
    C’est vrai que l’assembleur n’est pas vraiment très utile et ne permet pas d’aller loin avec les ARM. Mais personnellement, quand je commence avec un microcontrôleur ou un microprocesseur je débute toujours avec l’assembleur pour bien maitriser le fonctionnement interne et l’architecture. C’est ma façon à moi de les côtoyer.
    Puis, avec les ARM c’est carrément une autre philosophie pour moi parce que je compte m’orienter plus dans des projets genre système d’éxploitation, multimedia, … et avec les OS embarqué par exemple c’est très probable qu’il y a des parties des codes en assembleur.

  4. #4
    zhal

    Re : Débuter en microprocesseur/microcontrôleur à cœur d’ARM

    C’est ma façon à moi de les côtoyer.
    C'est une excellente méthode je trouve, même si elle demande beaucoup de temps

    Le temps est d'ailleurs ce qui rend les langages de programmation dit haut niveau, si attrayant, car il ne faut pas le même delai pour pisser du code en c pour telle ou telle tache, que du code en assembleur.

  5. A voir en vidéo sur Futura
  6. #5
    bobflux

    Re : Débuter en microprocesseur/microcontrôleur à cœur d’ARM

    OK je vois.

    Il me semble que les jeux d'instructions diffèrent (en C, on s'en fout mais pas en asm), par exemple le Cortex-M0 est un peu simplifié, ou alors il a que le mode thumb, je sais plus. En tout cas ton code asm va devoir être revu !

    > un ARM en Hardcore dans un FPGA ?

    Genre ça ?
    http://www.xilinx.com/products/silic...7000/index.htm

    Ça a pas l'air donné !
    Il existe pas mal de cartes avec un ARM et un FPGA, genre Armadeus...

  7. #6
    zhal

    Re : Débuter en microprocesseur/microcontrôleur à cœur d’ARM

    En regle general, un language assembleur different toujours d'un processeur ou d'une famille de processeurs a l'autre ...

  8. #7
    invitef5766415

    Re : Débuter en microprocesseur/microcontrôleur à cœur d’ARM

    Merci à vous tous pour les réponses.

    Peut-être que je me suis mal exprimé, je sais bien qu’il y a des différences aux niveaux instructions entres ces cœurs mais ce que je voudrais savoir c’est surtout si c’est facile de programmer les Cortex après avoir programmé l’ARM7 (je pense au début au M3, et par la suite au A8, A9, ou tous ce qui peuvent arriver sur le marché).

    En fait, puisqu’il faut beaucoup investir en temps pour bien maitriser l’assembleur d’un microprocesseur donné et si l’apprentissage de ce dernier permet de passer facilement à un autre qui est dans une même ligne d’évolution technologique alors ça valait bien la peine. Si non, il vaut mieux commencer directement aux Cortex, sauf que l’inconvénient est qu’il y a plus de doc et de site qui parlent des ARM7 alors que ce n’est pas le cas pour les Cortex.

    Pour être plus claire, faisons l’analogie avec les PIC, en générale on commence par le 16F84 parce qu’il y a beaucoup de cours (et plus facile ) et après on peut passer aux 16F877 et après les 18F et les connaissances sur le 16F84 sont toujours utiles.

    Voilà pourquoi je demande si l’ARM7 est obsolète et qu’il vaut mieux vraiment commencer avec les Cortex si les instructions et les architectures sont tellement différentes.

  9. #8
    invitef5766415

    Re : Débuter en microprocesseur/microcontrôleur à cœur d’ARM

    Citation Envoyé par bobfuck Voir le message
    OK je vois.

    Il me semble que les jeux d'instructions diffèrent (en C, on s'en fout mais pas en asm), par exemple le Cortex-M0 est un peu simplifié, ou alors il a que le mode thumb, je sais plus. En tout cas ton code asm va devoir être revu !

    > un ARM en Hardcore dans un FPGA ?

    Genre ça ?
    http://www.xilinx.com/products/silic...7000/index.htm

    Ça a pas l'air donné !
    Il existe pas mal de cartes avec un ARM et un FPGA, genre Armadeus...
    Merci.

    J’ai déjà vu cet article mais à ma connaissance la puce proprement dit n’est pas encore sur le marché donc il n'y a pas de carte. Mais je voulais seulement savoir s’il y en a déjà parce que ça va m’intéresser énormément.

    Ce n’est pas l’ARM avec un FPGA sur la même carte que je cherche mais un cœur d’ARM dans un FPGA.

  10. #9
    ftorama

    Re : Débuter en microprocesseur/microcontrôleur à cœur d’ARM

    Citation Envoyé par LEMIL Voir le message
    Merci.

    J’ai déjà vu cet article mais à ma connaissance la puce proprement dit n’est pas encore sur le marché donc il n'y a pas de carte. Mais je voulais seulement savoir s’il y en a déjà parce que ça va m’intéresser énormément.

    Ce n’est pas l’ARM avec un FPGA sur la même carte que je cherche mais un cœur d’ARM dans un FPGA.
    ça c'est une IP à acheter....et à moins de vouloir produire 100 000 pièces, ça risque d'être hors-budget

    Sur le site d'ARM, tous les "fabricants" sont répertoriés, que ce soit ceux qui proposent une puce, ou ceux qui proposent une IP pour FPGA

  11. #10
    bobflux

    Re : Débuter en microprocesseur/microcontrôleur à cœur d’ARM

    Dans les FPGA de la génération précédente, Xilinx mettait des PowerPC... reste à voir les autres boîtes.

  12. #11
    pazcal

    Re : Débuter en microprocesseur/microcontrôleur à cœur d’ARM

    Citation Envoyé par LEMIL Voir le message
    Merci à vous tous pour les réponses.

    Peut-être que je me suis mal exprimé, je sais bien qu’il y a des différences aux niveaux instructions entres ces cœurs mais ce que je voudrais savoir c’est surtout si c’est facile de programmer les Cortex après avoir programmé l’ARM7 (je pense au début au M3, et par la suite au A8, A9, ou tous ce qui peuvent arriver sur le marché).

    En fait, puisqu’il faut beaucoup investir en temps pour bien maitriser l’assembleur d’un microprocesseur donné et si l’apprentissage de ce dernier permet de passer facilement à un autre qui est dans une même ligne d’évolution technologique alors ça valait bien la peine. Si non, il vaut mieux commencer directement aux Cortex, sauf que l’inconvénient est qu’il y a plus de doc et de site qui parlent des ARM7 alors que ce n’est pas le cas pour les Cortex.

    Pour être plus claire, faisons l’analogie avec les PIC, en générale on commence par le 16F84 parce qu’il y a beaucoup de cours (et plus facile ) et après on peut passer aux 16F877 et après les 18F et les connaissances sur le 16F84 sont toujours utiles.

    Voilà pourquoi je demande si l’ARM7 est obsolète et qu’il vaut mieux vraiment commencer avec les Cortex si les instructions et les architectures sont tellement différentes.
    Pour toutes tes questions existencielles, le mieux est encore d'aller sur le site d'arm, tu trouveras toutes les réponses à tes questions.
    Tu verras par exemple que les CPU ARM7/9/11, cortex A/M/R utilisent de base la même ISA (thumb et 32 bits), c'est la microarchitecture qui change... Seule exception, les cortex m0 qui n'implémentent pas l'ISA 32 bits.
    En connaissant le jeu d'instruction ARM, et thumb, tu peux programmer quasiment tous les coeurs de la famille Arm. Ensuite comme pour intel, tu as des jeux d'instructions étendus thumb2, DSP, Jazelle, Simd... qui sont spécifiques à certains coeurs.
    Un petit résumé ici : http://arm.com/products/processors/index.php
    A plus

  13. #12
    albanxiii
    Modérateur

    Re : Débuter en microprocesseur/microcontrôleur à cœur d’ARM

    Bonjour,

    Déterrage

    Citation Envoyé par LEMIL Voir le message
    J’ai déjà vu cet article mais à ma connaissance la puce proprement dit n’est pas encore sur le marché donc il n'y a pas de carte. Mais je voulais seulement savoir s’il y en a déjà parce que ça va m’intéresser énormément.

    Ce n’est pas l’ARM avec un FPGA sur la même carte que je cherche mais un cœur d’ARM dans un FPGA.
    Le Zynq est maintenant sur la marché (2 cœurs ARM cortex A9, de la mémoire, des bus AXI4, des tonnes de périphériques et de la logique programmable), et il y a des demoboards (ZC702 et ZC706) disponibles.

    D'ailleurs, si quelqu'un a développé sur Zynq, cela m'intéresse de savoir s'il/elle a suivit une quelconque formation spécifique.... passque c'est un peu lourd quand même les premières fois.

    @+
    Not only is it not right, it's not even wrong!

  14. #13
    jiherve

    Re : Débuter en microprocesseur/microcontrôleur à cœur d’ARM

    Bonsoir,
    un µC c'est un µC, les bases sont les mêmes, cependant il faut se familiariser avec les subtilités de la bête, et le pas n'est pas trop dur normalement, à condition que les notions de cache, MMU et de cohérence mémoire aient bien été intégrées.
    Bien étudier ici le bus AXI, cela peut paraitre surprenant au premier abord.
    JR
    l'électronique c'est pas du vaudou!

  15. #14
    drbug

    Re : Débuter en microprocesseur/microcontrôleur à cœur d’ARM

    Bonjour,

    Sur les Cortex on programme surtout en C sauf pour des parties comme le noyau des RTOS.
    Pour l'assembleur tu peux lire ces deux livres :
    The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors
    http://www.amazon.fr/Definitive-Guid...eywords=cortex
    The Definitive Guide to the ARM Cortex-M0
    http://www.amazon.fr/Definitive-Guid...eywords=cortex

    Pour les cartes pour apprendre les mieux je pense sont les LPCXpresso. Idem coté IDE.

    Pour le Cortex-M1 présent dans un FPGA on en parle ici :
    http://www.arm.com/products/processo.../cortex-m1.php

    Cela présente qu'un intérêt limité, mieux vaut utiliser Nios II d'Altera ou son équivalent xilinx.

    De toute façon coté programmation on utilise les CMSIS :
    http://www.arm.com/products/processo...e-standard.php

    C'est une librairie en C qui fait le lien entre le hardware et le software et qui rend compatible les programme en C entre les différents processeurs.
    Il existe des drivers de périphériques pour gérer les périphériques inclues dans les µC comme l'UART, le SPP, l'I2C etc mais attention car il existe plusieurs implémentations qui sont incompatibles entre elles.
    Une des mieux à mon avis est celle ci : http://www.lpcware.com/content/nxpfile/lpcopen-platform

    Autre difficulté : Tu trouveras tout sur les petit cortex du genre LPC1114 mais plus tu montes en gamme et moins il y a de docs ou d'explications.

    Les ARM Cortex sont bien plus puissants que les PICs ou les AVR et la doc est bien plus volumineuse? Il faut au moins lire la datasheet ET le user manual. Par exemple pour le LPC1749 il y a 849 pages pour le manuel.

    Autre difficulté, l'environnement de développement. Le mieux serait d'utiliser un environnement 100% free à base de GNU mais c'est très complexe à mettre en oeuvre.

    Autre difficulté, les processeurs Cortex intéressants sont en général en BGA et donc très difficile voir impossible à utiliser sans multicouches.

    Bref la route sera bien longue pour maîtriser les Cortex

    Amicalement,

    Hervé

  16. #15
    albanxiii
    Modérateur

    Re : Débuter en microprocesseur/microcontrôleur à cœur d’ARM

    Re,

    Merci de vos réponses, mais le problème n'est pas là.
    Je vais me débrouiller autrement, vous ne pouvez pas facilement voir ce dont je parle si vous n'utilisez pas vous même la demoboard ZC702 ou même si vous n'êtes pas familiers avec le Zynq.

    @+
    Not only is it not right, it's not even wrong!

  17. #16
    drbug

    Re : Débuter en microprocesseur/microcontrôleur à cœur d’ARM

    Re,

    Cependant ta question est un peu décalée par rapport au sujet du début du thread.

    Pour le Zync, et les formations, il y a des formations : http://www.mvd-fpga.com

    et des postes ?
    http://www.en-formation.com/offre/In...9-50e9c12f8dca

    Sur cette plateforme on parle plutôt d'adapter le noyau linux. C'est plus de la programmation système que de l'électronique. Tu peux toucher aux parties en assembleur du kernel mais c'est hyper spécifique.
    A ce moment là seule une lecture approfondie de la doc et beaucoup de temps seront tes seuls alliés.

    Sinon contacte SILICA qui te dira où trouver une formation adaptée à tes besoins.

    Les cortex M et A (et R) sont complètement différents et ont des domaines d'application différents.
    http://www.arm.com/products/processors/index.php

    Je t'ai juste dit ce qu'il fallait regarder pour les Cortex M.

    Si tu veux de l'ARM couplé avec du FPGA, les cortex-R avec un bon cyclone sont pas mal pour commencer.
    Tout dépend de l'application ciblée.

    Après les kits d'évaluations sont bien mais masquent les difficultés réelles de mise en oeuvre.
    C'est un peu comme de la poudre aux yeux. Par exemple pour du PCI express la carte marchera bien mais de là à faire sa propre carte...

    Faut comparer ce qui comparable au niveau docs et IP car tu vas surtout assembler des choses déjà programmées.
    C'est trop complexe pour partir de rien. Et y a jamais l'exemple qui colle au vrais besoins.

    Sinon tu as la DE5 chez Altera aussi :
    http://www.altera.com/education/univ...de5-board.html

    Donc la difficulté est déjà de cibler le besoins pour y associé ensuite les bons composants et outils ?
    De toute façon ton produit final n'utilisera pas une demo board donc il faut se limiter à ce que l'on peut réellement mettre en oeuvre.

    Amicalement,

    Hervé

Discussions similaires

  1. microcontroleur avr /arm /freescale
    Par invite60546543 dans le forum Électronique
    Réponses: 13
    Dernier message: 16/02/2011, 21h38
  2. Migration microcontroleur 8 bits vers ARM
    Par Tony78 dans le forum Électronique
    Réponses: 3
    Dernier message: 05/09/2009, 14h50
  3. Microcontrôleur ou Microprocesseur inconnu
    Par inviteda69515f dans le forum Électronique
    Réponses: 2
    Dernier message: 10/03/2009, 16h49
  4. µC à coeur ARM pour débuter
    Par Toufinet dans le forum Électronique
    Réponses: 14
    Dernier message: 24/02/2007, 17h50
  5. microprocesseur/microcontroleur
    Par invite51ae8ee2 dans le forum Électronique
    Réponses: 2
    Dernier message: 17/09/2006, 14h38
Découvrez nos comparatifs produits sur l'informatique et les technologies.