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

C++ Discussion :

Accès aux contrôleurs divers


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de ArKam
    Inscrit en
    Mars 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 528
    Par défaut Accès aux contrôleurs divers
    Bien le bonjour,

    je cherche actuellement à accéder aux différents périphériques d'une architecture x86 à partir de rien, c'est à dire sans OS.
    En gros, je veux me faire un petit programme qui liste simplement les périphériques disponible sur cette archi.

    Donc le truc c'est que apparemment il faut que je travail sur les différents contrôleurs (Disques - Memoire - Video etc.) mais le hic c'est que je ne sais même pas par ou partir.

    J'ai essayé de trouver de la doc sur Google mais il ne me renvoie qu'a des sites d'achat de matériels :s

    Autant utiliser un noyau et ces différentes API ça me parait pas des plus insurmontable et plutôt claire.

    Autant faire sans rien, ça me parait... trouble.

    Bref, comment vous feriez?

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    Bonjour,

    Citation Envoyé par ArKam Voir le message
    je cherche actuellement à accéder aux différents périphériques d'une architecture x86 à partir de rien, c'est à dire sans OS.

    [...]

    Autant utiliser un noyau et ces différentes API ça me parait pas des plus insurmontable et plutôt claire.

    Autant faire sans rien, ça me parait... trouble.
    Qu'entends tu par sans OS ? Parce-qu'executer un programme sans OS c'est un peu dur...

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 188
    Par défaut
    je dirai que c'est de la programmation embarquée mais je suis pas sûr. Cherches de ce coté là peut être.

  4. #4
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    Si ton objectif est, comme tu le laisse présumer, de faire cela sur un PC (ou similaire, mais non en mobile), ce que tu essaye de faire revient à... coder ton propre noyau

    En effet, si tu retire l'OS, ce qu'il reste sur le PC, c'est... le BIOS, qui est programmé pour aller chercher des informations (qui tiennent généralement sur "pas très lourd", vu que ca tourne aux alentours de 512 ko, il me semble) qui auront pour objectif de charger et de lancer le noyau système.

    J'ai croisé jadis quelques liens assez intéressants sur le "comment créer son noyau", mais, le temps aidant, je serais bien en peine de me rappeler exactement où

    Mais une recherche ciblée là dessus devrait te permettre de trouver (par contre, je ne sais pas du tout si C++ sera réellement adapté à ce genre de travail )
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #5
    Membre éclairé
    Avatar de ArKam
    Inscrit en
    Mars 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 528
    Par défaut
    Alors oui l'architecture cible est bien du x86 PC/Équivalent.

    Cependant, je cherche a faire un logiciel qui vas juste checker ce qui est disponible sur la carte mère (d'ou mon idée et vos infos sur les contrôleurs de la carte, southbridge etc).

    Tout ça de façon générique, c'est à dire un comportement universelle, même si le programme ne retourne que des valeurs incohérentes selon la CM.

    J'ai trouvé sur Wikibooks, toute une doc sur "Designing Modern x86 Operating Systems", ça a l'air pas mal mais c'est plus théorique j'ai l'impression.

    Bah justement en parlant de BIOS, il vas les chercher ou ces infos le petit père?
    C'est spécifique à chaque Constructeur? Et pour le coup, ils connaissent déjà les "Adresses"?

  6. #6
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Citation Envoyé par ArKam Voir le message
    Bah justement en parlant de BIOS, il vas les chercher ou ces infos le petit père?
    C'est spécifique à chaque Constructeur? Et pour le coup, ils connaissent déjà les "Adresses"?
    Le BIOS est, simplement, un programme qui se trouve dans une (EEP)ROM (ou un autre nom à coucher dehors du style... j'hésite toujours ) et qui dispose d'un certain nombre d'adresses (standardisées) correspondant aux différents endroits possibles, tels que le secteur 0 d'un disque dur ou d'un support optique, ...

    En effet, chaque système pouvant être branché utilisera une adresse donnée et clairement définie par une norme particulière

    Au moment où l'ordinateur démarre (au moment où on voit défiler la quantité de mémoire, puis qu'on voit la détection des disques durs, mais encore un peu après), il va tester ces différentes adresses pour savoir si elle "réagissent", et donc, s'il y a "quelque chose" de branché à cette adresse.

    Sur base des adresses qui ont répondu "présent" et des différents réglages utilisateurs, il testera alors les adresses susceptible de servir pour le démarrage

    Ce n'est pas tout à fait complet, ni même forcément juste, mais cela te permet de comprendre le principe

    Ce qui est important à retenir, c'est qu'il y a réellement une norme qui dit à quelle adresse on arrive à atteindre quel type de périphérique (une carte graphique, un disque dur, une carte réseau, ou un connecteur USB (sans oublier tous les autres ) étant ici considérée comme des périphériques ) et que le BIOS va donc essayer de contacter ces adresses particulières
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

Discussions similaires

  1. Accès aux attributs et méthodes d'un contrôleur FXML
    Par Pasokoniidesuka dans le forum JavaFX
    Réponses: 3
    Dernier message: 30/12/2014, 13h41
  2. [ZF 1.10] Accès aux contrôleurs
    Par levalp dans le forum Zend Framework
    Réponses: 6
    Dernier message: 16/07/2010, 08h17
  3. [TGroupBox] Accès aux objets
    Par JediKerian dans le forum Composants VCL
    Réponses: 3
    Dernier message: 04/04/2003, 14h34
  4. [Kylix] Kylix: acces aux portx séries
    Par ghost942 dans le forum EDI
    Réponses: 4
    Dernier message: 03/02/2003, 21h10
  5. [VB6] [BDD] Optimisation de l'accès aux données
    Par LadyArwen dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 30/01/2003, 13h27

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