IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Go Discussion :

Piloter entrées/sorties sur un système embarqué linux


Sujet :

Go

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut Piloter entrées/sorties sur un système embarqué linux
    Bonjour,

    J'ai un programme en Goland qui tourne sur un système embarqué linux.
    J'aimerai pouvoir piloter des entrée/sorties : comment faut-il faire ?
    ... sachant que dans "/dev", j'ai vu qu'il y a "gpiochip0" et "gpiochip1"... donc je suppose qu'il faut jouer la dessus
    le composant est un composant spécifique avec à l'inétrieur un ARM Cortex-A53 dual-core 1GHz.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    Pour information, j'arrive à piloter une entrée/sortie en ligne de commande shell :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /sys/class/gpio# echo 48 > /sys/class/gpio/export
    /sys/class/gpio# echo out > /sys/class/gpio/gpio48/direction
    /sys/class/gpio# echo high > /sys/class/gpio/gpio48/direction
    /sys/class/gpio# echo low > /sys/class/gpio/gpio48/direction
    Infos trouvées ici : https://support.keith-koep.com/servi...SAAEgLYB_D_BwE


    "/sys/class/gpio# ls" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    export       gpio48       gpiochip0    gpiochip448  unexport

  3. #3
    Membre éclairé
    Homme Profil pro
    Urbaniste
    Inscrit en
    Août 2023
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Août 2023
    Messages : 386
    Points : 783
    Points
    783
    Par défaut
    Bonjour,

    sans y connaître quoi que ce soit,
    je me permets tout de même de signaler TinyGo

    https://tinygo.org/docs/concepts/peripherals/gpio/

    Notamment,
    https://tinygo.org/docs/guides/linux/
    https://github.com/tinygo-org
    https://github.com/tinygo-org/awesome-tinygo

    Bonne journée

    PS: même avec plusieurs années de retard, cela pourrait, très éventuellement, être utile à d'autres.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    Bonjour,

    Merci pour votre réponse.

    J'ai lu vite fait la documentation et elle parle de l'utilisation d'un compilateur spécifique. Vu que mon programme est fait pour tourner sur ARM64 et qu'il me semble que le langage Go le supporte nativement, je me demande s'il n'y a pas de solution plus simple en utilisant les bibliothèque standards de Go.
    Par exemple pour gérer un bus I2C, je n'ai pas eu besoin d'utiliser un système comme TinyGo, j'ai utilisé la bibliothèque periph.io/x/conn/v3 et ça fonctionne très bien sans avoir a utiliser un compilateur spécifique.

    Actuellement j'utilise les "/sys/class/gpio" pour piloter/lire mes I/Os mais c'est relativement lent. Pour mes besoins actuels, c'est suffisant mais peut-être qu'un jour j'aurai besoin d'une gestion plus rapide des I/Os.

  5. #5
    Membre éclairé
    Homme Profil pro
    Urbaniste
    Inscrit en
    Août 2023
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Août 2023
    Messages : 386
    Points : 783
    Points
    783
    Par défaut
    Bonjour,

    Par curiosité, quel est votre plateforme cible ?

    C'est une bonne trouvaille que vous partagez ici.

    Ceci dit, tout en reconnaissant que ma suggestion n'était pas appropriée,
    je ne suis pas totalement d'accord avec votre vision de TinyGo.

    Bien que ce soit effectivement un compilateur spécifique,
    la librairie standard est compatible, à 99,99%.
    Ce projet a fait ce choix technique notamment
    pour pouvoir bénéficier du support LLVM,
    mais aussi, pour tenter de fournir une implémentation
    plus appropriée à ces supports d'exécution.

    https://tinygo.org/docs/concepts/faq/why-a-new-compiler/
    https://github.com/tinygo-org/tinygo/issues/34

    Bonne journée

Discussions similaires

  1. Rech. lancement d'un mode tty sur un système embarqué
    Par megamario dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 04/09/2012, 14h54
  2. Réponses: 1
    Dernier message: 14/08/2008, 10h48
  3. ping sur système embarqué linux langage C
    Par clem86 dans le forum Réseau
    Réponses: 12
    Dernier message: 10/07/2008, 12h21
  4. Réponses: 1
    Dernier message: 25/03/2008, 15h31
  5. comment installer java sur un système embarqué
    Par kris1 dans le forum Développement Mobile en Java
    Réponses: 1
    Dernier message: 19/02/2008, 15h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo