[Programmation] Carte programmable en C
Discussion fermée
Page 1 sur 3 12 DernièreDernière
Affichage des résultats 1 à 30 sur 84

Carte programmable en C



  1. #1
    Matheux56

    Carte programmable en C


    ------

    Bonsoir,

    En espérant être dans la bonne section.

    Je recherche une carte type Arduino ou FPGA mais pour programmer en C. On va me dire que l'arduino est déjà en C/C++, mais je recherche une carte qui respecte le code C pure, c'est à dire qui garde par exemple les printf et autres et qui ne les remplace pas par d'autres fonctions. Je cherche cela pour acquérir des automatismes aussi. La FPGA est surtout fait pour le VHDL si je dis pas de bêtise. Si une telle carte existe, où des boutons poussoirs, LED et autres sorties pour brancher des petits moteurs, capteurs et autres existe ça serait le top.

    Je rajouterais en bonus, mais je pense pas que cela existe, une carte où il est possible de programmer en C et en VHDL, enfin passer d'un langage à un autre. Mais, je peux toujours rêver .

    Merci d'avance pour vos réponses.

    -----

  2. #2
    Matheux56

    Re : Carte programmable en C

    J'ai vu des cartes de type FRDM-KL46Z, qui sont programmable en C/C++ si je dis pas de bêtise.

    Le must serait aussi un carte avec un écran LCD pour la programmation

  3. #3
    Matheux56

    Re : Carte programmable en C

    Ah oui désolé et j'oubliais, comme c'est pour reprendre tout depuis le début, une carte pas trop chère serait le bien venu, car étant étudiant, je n'ai pas forcément énormément de sous

  4. #4
    albanxiii
    Modérateur

    Re : Carte programmable en C

    Bonjour,

    Si vous voulez vous amuser, prenez une carte à base de Zynq. Celles de Xilinx (zc702 et zc706) sont un peu chères, mais Avnet en fait de plus abordables (Zed et MicroZed par exemple).
    Not only is it not right, it's not even wrong!

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

    Re : Carte programmable en C

    Merci pour ta réponse rapide !

    J'ai été voir et même du coté des microZED, c'est hyper chère pour pas grand chose (sauf si j'ai mal cherché et je m'en excuse alors)

    J'ai vu aussi une STK3700 : https://www.digikey.fr/product-detai...8aAgigEALw_wcB

    Pour pas chère du tout. Mais comme je m'y connais très peu, j'ai peur d'acheter tout et n'importe quoi ^^
    Dernière modification par Matheux56 ; 25/02/2018 à 10h35.

  7. #6
    Matheux56

    Re : Carte programmable en C

    Je crois que j'ai quasiment trouver la solution mais j'aimerais que quelqu'un puisse me confirmer !

    J'ai vu qu'il était possible d'enlever dans l'arduino les bibliothèques qui sont la pour nous facilité la vie et de mettre des libraries AVR si je dis pas de bêtise pour faire du C pur. Est-ce vrai ?

  8. #7
    Jack
    Modérateur

    Re : Carte programmable en C

    Oui, tu peux utiliser du C classique, il existe une version de gcc pour microcontrôleurs Atmel.

  9. #8
    Matheux56

    Re : Carte programmable en C

    Frank mon sauveur *^* !

    J'aurais besoin de quelques précision si tu as du temps a m'accorder.

    L'avr fonctionne sur n'importe qu'elle carte arduino ?

    uc Atmel ? Toutes les cartes arduino ont se genre de uc ?

    Le logiciel à utilisé pour faire du code pure est gratuit ?

  10. #9
    Jack
    Modérateur

    Re : Carte programmable en C

    Citation Envoyé par Matheux56 Voir le message
    Frank mon sauveur *^* !
    Qui est Frank?

  11. #10
    Matheux56

    Re : Carte programmable en C

    Mon dieu, je sais pas pourquoi j'ai pensé à Frank, je voulais dire Jack xD

  12. #11
    Jack
    Modérateur

    Re : Carte programmable en C

    Hi, Hi!
    En fait, ça m'intéresse pour le futur, mais je n'ai jamais essayé. J'ai un peu cherché et tu devrais trouver les mêmes infos que moi.
    Dernière modification par Jack ; 25/02/2018 à 13h26.

  13. #12
    Matheux56

    Re : Carte programmable en C

    Ok, maintenant que je sais que c'est possible, je vais commander un kit. Une fois reçu, je vais essayer de voir avec l'AVR et je te tiendrais au courant. Car ça m’intéresse fortement de virer la facilité de l'arduino pour vraiment tout apprendre !

  14. #13
    Jack
    Modérateur

    Re : Carte programmable en C

    Il y a un plugin sous eclipse qui n'a pas l'air mal.

  15. #14
    Matheux56

    Re : Carte programmable en C

    Ouaip, je confirme que c'est un IDE plutôt propre. C'est ce que j'utilise en cours pour la programmation des FPGA en VHDL.

    Mais je savais pas qu'on pouvait y ajouter un plugin dessus *^* ! Merci !

  16. #15
    Jack
    Modérateur

    Re : Carte programmable en C

    Eclipse ne fonctionne que par plugin il me semble. Je l'avais essayé pour du C++, mais je l'ai trouvé trop "usine à gaz"

  17. #16
    albanxiii
    Modérateur

    Re : Carte programmable en C

    Citation Envoyé par Matheux56 Voir le message
    J'ai été voir et même du coté des microZED, c'est hyper chère pour pas grand chose (sauf si j'ai mal cherché et je m'en excuse alors)
    Ne vous excusez pas, ça n'est pas moi qui la vend.
    Comme on dit "you get what you pay for". Le Zynq est une bête de course, de mémoire, son Technical Reference Manual fait 1600 pages. Mais c'est clairement hors de portée d'un débutant ou d'un amateur sans un investissement (en temps surtout) conséquent.

    Si vous partez sur un AVR, c'est effectivement un autre monde
    Not only is it not right, it's not even wrong!

  18. #17
    lou_ibmix_xi

    Re : Carte programmable en C

    Citation Envoyé par Matheux56 Voir le message
    Je recherche une carte type Arduino ou FPGA mais pour programmer en C
    Je vais répéter ce qui as déjà été dis: oui l'arduino peut se programmer en C, et oui les FPGA sont fait pour être programmé en VHDL/VERILOG, ce n'est pas les mêmes outils.
    Il faudrait tout de même savoir à peu prêt la puissance dont tu as besoin et ce que tu veux faire de ton micro. L'arduino c'est du 16bits, tu as le cortex-M3 et cortex-M4 qui sont des 32bits et qui ont le vent en poupe, puis tu as des "mastodontes" avec les quels tu pourras faire tourner GNU/Linux dessus.
    L'avantage c'est que de nos jours en farfouillant un peu sur le net on trouve des cartes pour pas trop cher, le problème est qu'il y a beaucoup de choix, le débutant est vite perdu.
    Jette un oeil chez OLIMEX, ils ont un peu de toute les gammes, tu as également les cartes de dev des constructeurs qui sont en général à un prix raisonnable (chez ST par exemple), où des projets ouverts (arduino, beaglebone, raspberry-pi...)
    Suivant ce pour quoi c'est faire, on pourra essayer de t’aiguiller au mieux.

  19. #18
    Matheux56

    Re : Carte programmable en C

    Bonsoir,

    J'ai commandé mon arduino avec tout son pack elle arrivera demain.

    Bah ce n'est pas pour faire tourner un OS. C'est surtout pour m’entraîner par rapport au cours que j'ai en école d'ingénieur en mécatronique et avoir de bonne base solide pour les stages ou aller en entreprise. Mais comme je voulais pas coder en "arduino" et avoir juste du vrai C comme on me l'a appris, je ne voulais pas de l'arduino. Mais sachant qu'on peut faire ça avec de l'AVR, je pense que je serais comblé !

    Sauf si vous pensez le contraire, je vous écoute ^^.

    On à appris des choses classiques, comme faire des PWM, faire des timers, appuie sur bouton pour la led, des ADC etc (bon là il y a un mélange de C et de VHDL dans ce que je dis c'est vrai ^^, mais l'un est possible dans le langage de l'autre je pense).. Mais ça reste des trucs classiques. Pourquoi pas à l'avenir savoir faire un contrôle de joystick, récupérer la position d'un moteur ou se genre de chose quoi avec l'arduino avec l'avr^^..

  20. #19
    Matheux56

    Re : Carte programmable en C

    Je pensais qu'on pouvais directement programmer la carte arduino en vrai langage C, mais je commence à douter

  21. #20
    PA5CAL

    Re : Carte programmable en C

    Bonjour

    Citation Envoyé par Matheux56 Voir le message
    Je recherche une carte type Arduino ...
    Attention, Arduino est un projet global, et pour ne parler que des cartes officielles proposées, la gamme est assez variée en taille et en fonctionnalités, depuis des modèles à base de petit micro-contrôleur 8 bits jusqu'à des systèmes faisant tourner Linux.

    Citation Envoyé par Matheux56 Voir le message
    On va me dire que l'arduino est déjà en C/C++, mais je recherche une carte qui respecte le code C pure, c'est à dire qui garde par exemple les printf et autres et qui ne les remplace pas par d'autres fonctions.
    Le C pur, ça n'existe pas vraiment.

    Ce qu'on trouve, ce sont plusieurs versions spécifiant le langage, des chaînes de compilation dont les choix de configuration par le développeur permettent de s'approcher plus ou moins de ces spécifications.

    Il est un fait que le C produit aussi du code différent selon l'architecture matérielle de la cible et le compilateur utilisé.


    Il n'y a pas de raison qu'une fonction standard soit remplacée par autre chose.

    En revanche, comme d'un point de vue théorique le langage repose sur une conceptualisation particulière de la machine cible, il est normal que certaines fonctions ne puissent pas être implémentée si le matériel ne présente pas les pré-requis correspondants.

    En l'occurrence, pour pouvoir utiliser des fonctions telles que printf, scanf, fopen, ou fread il faut que la machine possède une entrée-sortie standard, un système de fichier et des ressources suffisantes pour implémenter toute la variété des traitements correspondants prévus par les normes.

    S'il paraîtrait anormal de ne pas en disposer sur un ordinateur faisant tourner un système d'exploitation et équipé d'une grosse mémoire, d'un support de masse et d'une console, il en va tout autrement sur de petites cartes à micro-contrôleur comme les Arduinos « de base », avec 8K ou 16K mots de programme et 2 Ko de RAM et quelques interfaces limitées à l'acquisition de données, à la génération de signaux et à différents modes de communication, et dont le seul périphérique externe prévu n'est pas exclusivement dédié à l'affichage de messages.


    Le langage C a été conçu à l'origine pour programmer de grosses machines UNIX (programmation système et applicative), et si on l'utilise aujourd'hui pour programmer des micro-contrôleurs (programmation de processus matériels, principalement), c'est seulement parce que sa syntaxe s'est imposée comme un standard et permet dans une certaine mesure de décrire les opérations de bas niveau nécessaires la manipulation de ce type de cible (ce qui évite dans la majorité des cas de devoir recourir à l'assembleur).

    Non seulement il n'est pas pertinent de proposer un langage C complet sur une cible qui n'a pas suffisamment de mémoire pour le contenir entièrement ni ne propose a priori les éléments tangibles nécessaires à la mise en œuvre de toutes ses fonctions, mais il apparaît que ce n'est pas un objectif prioritaire. En effet, contrairement à la programmation de plus gros systèmes qui a pour but de dérouler des algorithmes et de créer et de gérer des abstractions, celle des micro-contrôleurs vise avant tout à contrôler le plus concrètement possible le fonctionnement de circuits électroniques.


    Il me semble donc important que tu définisses ta priorité : programmer en langage C ou programmer des micro-contrôleurs. Car dans l'optique d'un travail sérieux, les deux ne sont pas totalement conciliables.
    Dernière modification par PA5CAL ; 27/02/2018 à 05h12.

  22. #21
    PA5CAL

    Re : Carte programmable en C

    Citation Envoyé par Matheux56 Voir le message
    J'ai vu qu'il était possible d'enlever dans l'arduino les bibliothèques qui sont la pour nous facilité la vie et de mettre des libraries AVR si je dis pas de bêtise pour faire du C pur. Est-ce vrai ?
    Il n'est pas nécessaire d'« enlever » les bibliothèques. Le seul fait de ne pas les utiliser permet de s'en débarrasser totalement. Quant au C/C++, il est déjà présent puisque l'environnement Arduino inclut la chaîne de compilation AVR-GCC.

    Si tu le souhaites, tu peux créer dans l'IDE Arduino un programme commençant par main() et qui n'utilise que les définitions du fabricant du micro-contrôleur (incluses lors de l'installation de la chaîne de compilation). Voici par exemple l'équivalent du programme Blink pour des cartes Arduino Uno/Nano/Mini, qui contiendra au final 0% de logiciel Arduino :

    Code:
    #include <avr/io.h>
    
    main()
    {
      DDRB = 0x20; // led pin as output
      while(1) {
        for (unsigned long i=0; i<2000000UL; i++);  // delay
        PINB = 0x20;  // toggle led
      }
    }
    D'autre part, par défaut les options de compilation sont fixées par l'IDE, mais il est tout-à-fait possible de les modifier en éditant les fichiers idoines.


    Toutefois, pour faire du travail sérieux (et notamment pour disposer d'un débogueur digne de ce nom), tu as tout intérêt à oublier l'IDE Arduino et à utiliser à la place un véritable environnement de développement professionnel. Pour rappel, l'IDE Arduino n'a pour but que de simplifier la vie aux néophytes en mettant hors de leur portée tout ce qui les gênerait pour réaliser au plus vite leur application, avec toutes les limitations et tous les inconvénients que cela suppose.

  23. #22
    PA5CAL

    Re : Carte programmable en C

    Citation Envoyé par Matheux56 Voir le message
    L'avr fonctionne sur n'importe qu'elle carte arduino ?

    uc Atmel ? Toutes les cartes arduino ont se genre de uc ?

    Le logiciel à utilisé pour faire du code pure est gratuit ?
    AVR est le nom de l'architecture matérielle RISC de l'une des gammes de micro-contrôleurs du constructeur Atmel, qui a récemment été racheté par Microchip (qui vend notamment les micro-contrôleurs PIC). Toutefois, aujourd'hui cette architecture est également disponible sous forme logicielle afin d'être mise en œuvre sur des FPGA.

    Les micro-contrôleurs AVR n'équipent que les plus petits et les plus anciens modèles de cartes officielles Arduino. La plupart des cartes récentes (et plus grosses) contiennent des micro-contrôleurs ARM Cortex M.

    Tout a été prévu pour que l'on puisse programmer ces matériels sans débourser un seul centime en logiciel (ni passer par Arduino). Après, rien ne t'empêche d'acheter des bibliothèques et des outils payants pour améliorer sans effort ta productivité et les performances de tes produits.
    Dernière modification par PA5CAL ; 27/02/2018 à 06h15.

  24. #23
    PA5CAL

    Re : Carte programmable en C

    Citation Envoyé par Matheux56 Voir le message
    Je pensais qu'on pouvais directement programmer la carte arduino en vrai langage C, mais je commence à douter
    Commence par admettre qu'à la base Arduino est du vrai C++, puis cesse de te faire des illusions quant à l'existence d'une prétendue « pureté » des langages de programmation.

    Dans le domaine informatique, d'un côté il y a une théorie idyllique qu'on apprend à l'école (qui souvent manque cruellement de réalisme), et de l'autre il y a la pratique du terrain, avec ses montagnes d'imperfections qui s'expliquent ou se justifient par les intérêts, besoins, contraintes et priorités de tous les intervenants (clients, fournisseurs, hiérarchie, soi-même ...).

    Il existe des normes (pas juste une seule), mais cela ne signifie pas qu'ils soit forcément utile ni même souhaitable de s'y conformer. Il faut juste être en mesure d'identifier et d'appliquer l'une d'elles, souvent dans des limites définies, et seulement lorsque la situation l'exige et le permet. C'est une question qui ne doit se poser qu'au cas par cas.

    Il ne me paraît donc pas très pertinent de chercher à se placer a priori dans une situation idéale qui en toute rigueur a peu de chance d'exister, et qui d'un point de vue pratique n'apporterait finalement pas grand chose.

  25. #24
    lou_ibmix_xi

    Re : Carte programmable en C

    Il me semble donc important que tu définisses ta priorité : programmer en langage C ou programmer des micro-contrôleurs. Car dans l'optique d'un travail sérieux, les deux ne sont pas totalement conciliables.
    Je ne comprends pas ce que tu entends par là... Effectivement une partie de la "bibliothèque standard" n'est pas forcément disponible (ni pertinente d'ailleurs) sur micro-contrôleur, mais la bibliothèque standard n'est qu'un part du langage, sur micro-contrôleur, dès 16 bits, à part quelques couches très basses, le C est _LE_ langage de prédilection ! (ou alors il faudra qu'on m'explique ce pour quoi je suis payé depuis 15 ans)

  26. #25
    PA5CAL

    Re : Carte programmable en C

    Citation Envoyé par lou_ibmix_xi Voir le message
    Je ne comprends pas ce que tu entends par là... Effectivement une partie de la "bibliothèque standard" n'est pas forcément disponible (ni pertinente d'ailleurs) sur micro-contrôleur, mais la bibliothèque standard n'est qu'un part du langage, sur micro-contrôleur, dès 16 bits, à part quelques couches très basses, le C est _LE_ langage de prédilection ! (ou alors il faudra qu'on m'explique ce pour quoi je suis payé depuis 15 ans)
    Je fais le même constat que toi, sauf qu'ici j'insiste sur les exceptions que tu cites.

    Les C/C++ standards sont relativement bien adaptés, disons à 90%, pour programmer des micro-contrôleurs. Mais pour les 10% restants, on est obligé de faire des entorses à ces standards, et dans quelques cas pour atteindre les objectifs on doit utiliser des bibliothèques de tierce partie, rajouter des outils spécifiques à la chaîne de compilation, ou bien passer à l'assembleur.

    Or, ce que cherche Matheux56 pour programmer des micro-contrôleurs, c'est du « C pur », ce que je comprends comme du C parfaitement standard et complet. Donc, si son objectif est de pratiquer le C/C++ de façon exhaustive, il vaudrait mieux choisir autre-chose qu'un micro-contrôleur comme cible. Et si à l'inverse il tient absolument à programmer un micro-contrôleur, alors il faudrait qu'il soit moins exigeant quant à la « pureté » du langage.

    Les deux ne sont pas totalement conciliables, et il faut donc bien faire un choix.

  27. #26
    Matheux56

    Re : Carte programmable en C

    Hmm.. Désolé de mal m'exprimer.

    Quand je dis C "pur", c'était pour dissocier du C/C++ de l'arduino et dire du C standard.

    Mais même la si j'ai bien compris, des choses comme print, scanf et autre ça ne sera pas possible :/

  28. #27
    antek

    Re : Carte programmable en C

    Citation Envoyé par Matheux56 Voir le message
    Je pensais qu'on pouvais directement programmer la carte arduino en vrai langage C, mais je commence à douter
    Ce n'est pas la carte qu'on programme, c'est le µC.
    Il existe des cartes d'évaluation pour µC 8 bit et 16 bit chez Microchip.
    Et certainement aussi chez d'autres fabricants.
    La carte arduino peut aussi être utilisée avec un IDE Atmel.

    Le terme "vrai" est impropre, je dirais qu'il y a le C ANSI et les autres.

    EDIT - il existe aussi des cartes avec des ARM
    Dernière modification par antek ; 27/02/2018 à 11h12.

  29. #28
    Jack
    Modérateur

    Re : Carte programmable en C

    Mais même la si j'ai bien compris, des choses comme print, scanf et autre ça ne sera pas possible :/
    Si, mais avec des entrées sortie standard différentes du classique clavier /écran. le plus courant est d'utiliser l'uart à la place.

  30. #29
    Matheux56

    Re : Carte programmable en C

    Oui, excusez moi, je voulais parler du uC.

    Bah je voulais garder la carte, car il y a déjà toute les sorties qu'il me faut et qui sont intéressante pour faire mes trucs essentiels que j'ai vu à l'école ^^.

  31. #30
    Matheux56

    Re : Carte programmable en C

    Citation Envoyé par Jack Voir le message
    Si, mais avec des entrées sortie standard différentes du classique clavier /écran. le plus courant est d'utiliser l'uart à la place.

    L'uart? Moi quand j'utilisais L'uart en cours c'était pour les FPGA o.O. Je suis perdu x)

Page 1 sur 3 12 DernièreDernière

Discussions similaires

  1. Comment ne pas griller ma carte programmable?
    Par WishOra dans le forum Électronique
    Réponses: 18
    Dernier message: 23/05/2014, 17h00
  2. Logiciel de 3D programmable
    Par wallywow dans le forum Technologies
    Réponses: 4
    Dernier message: 05/10/2012, 14h24
  3. Automate programmable PIC
    Par Thetimax dans le forum Électronique
    Réponses: 187
    Dernier message: 05/09/2010, 17h55
  4. Réponses: 3
    Dernier message: 09/06/2009, 18h02
Découvrez nos comparatifs produits sur l'informatique et les technologies.