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

Assembleur Discussion :

Mini-programme qui communique avec le matériel : par où commencer ?


Sujet :

Assembleur

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Mini-programme qui communique avec le matériel : par où commencer ?
    Salut,

    Pour mon projet de fin d'année je dois apprendre l'assembleur, au moins les bases, assez pour écrire un mini programme qui communique avec le matériel de l'ordinateur, exemple : je connecte une clé usb, le programme affiche que le port USB détecte quelque chose.

    Au mieux, un programme qui lorsque le micro entend un bruit, lumière s'allume.

    Mais je ne sais pas du tout où commencer, il y a tellement de langages assembleur différents, mon prof m'a dit d'émuler tout ça sur un émulateur, mais je suppose qu'il faut prendre un langage assembleur selon mon processeur.

    Si quelqu'un peut me guider, je suis sur un i7, me dire ce que je dois prendre comme assembleur et logiciel, ça serait super.

    thanks

  2. #2
    Membre averti

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 82
    Points : 341
    Points
    341
    Par défaut
    Bonjour,

    Un émulateur émulera le processeur de ton choix, c'est le principe même de l'émulation. Sur PC, sous Debian, j'utilise YASM comme assembleur, gcc comme linker et Geany comme éditeur. En cas d'émulation, c'est qemu qui a la cote en ce moment. sudo apt-get install, tout ça..., c'est dans les paquets standards.

    Je connais peu les I/O, mais il me semble que le protocole USB est compliqué pour une première approche. L'utilisation des périphériques est typiquement quelque chose qu'un développeur demande au système d'exploitation, donc si tu n'as pas accès aux fonctions de l'OS dans ton projet, les exemples que tu donnes seront peu faciles à implanter. Communiquer avec les périphériques n'est pas le premier projet que l'on fait en assembleur, en tout cas pas sur architecture PC.

    C'est pour quel niveau d'études ?

    You're welcome,

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Salut,

    Actuellement je suis en terminale (6ème belge),du coup si c'est difficile je ne sais plus quoi faire. .. J'ai un prof qui est un peu surqualifié et qui nous fait chier;

    Aurais tu une idée de quelque chose que je pourrais faire ? Mon professeur ne demande pas grande chose, mais il veut à côté de la partie théorique, quel que chose de pratique qu'on ai fait, donc il me demande de coder un petit truc.

    Il m'a donné de multiples exemples, comme ceux que j'ai dis en haut ou encore quelque chose du genre une carte mère alimentée, et un petit programme qui lorsqu'il y a contact sur une piste du circuit, le programme affiche quelque chose.

    Je suis totalement perdu, j'ai pris beaucoup de retard ne sachant pas où commencer

    je te remercie de m'avoir répondu

  4. #4
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Bonjour,

    C'est chaud ce qu"il te demande le prof
    Accéder aux ports USB sans OS c'est mission presque impossible.
    Récupérer l'information haut ou bas sur une piste de la carte-mère c'est pire (et un bon moyen de la flinguer aussi )

    Le plus simple serait d'avoir une carte-mère avec un port parallèle ou série. (elles deviennent rares)
    à les adresses des ports sont connues, et l'accès facile.

    edit : es-tu obligé de faire ça sur un ordinateur moderne ? ne pourrais-tu pas utiliser un microcontrôleur plutôt ?

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Rahh...

    Aucune obligation, liberté totale, je peux utiliser n'importe quel processeur, carte mère, logiciel

  6. #6
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Ok, alors avec microcontrôleur c'est plus réaliste
    (bon par contre, je n'y connais rien, je m'amuse juste un peu avec un arduino ces temps-ci )

  7. #7
    Membre averti

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 82
    Points : 341
    Points
    341
    Par défaut
    Est-ce que tu as du matériel à disposition ?
    Sans matériel, un bootstrap sur émulateur PC c'est jouable, c'est 512 octets en mode réel.
    De l'assembleur en terminale sans architecture spécifiée, c'est pour le moins étrange. Si c'est la partie pratique d'un cours théorique, sur quelle archi bossez-vous en cours ?

  8. #8
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 435
    Points : 43 069
    Points
    43 069
    Par défaut
    Il te faut déjà éclaircir le projet :
    soit choisi dans les propositions du prof
    soit validé par celui-ci

    J'ai fait un bac pro maintenance informatique. Les projets fait par les élèves :
    - Testeur de barrettes mémoire
    - testeur de câbles (avec test croisement)

    Pour moi-même, j'avais fait une carte Antivirus. J'avais détourné la fonction int 0x13 du BIOS, et je sauvegardais le secteur 0 du disque dur sur carte externe via le port parallèle si celui-ci était modifié. C'était avant Windows, à l'époque les virus se mettaient dans le secteur boot.

    Si tu veux apprendre l'assembleur, comme disait Forthman, ce sera plutôt un micro-contrôleur (qui est en fait un cpu avec une ROM, de la RAM, et de la gestion d'I/O). Il te faudra étudier le langage assembleur de celui-ci. Tous les assembleurs se ressemblent mais chaque CPU à ses particularités.

    Si c'est pour faire un petit montage, à l'époque à l'école en travaillait sur 8085 qui était relativement simple et limité (mais trop vieux de nos jours , je pense pas qu'il soit encore dispo). Maintenant, en micro-contrôleur simple, je ne sais pas ce qui se fait, mis à part les appareils type rapsberry qui est plus qu'un micro-contrôleur. Mais sur ce type d'appareil on programme plutôt en C je pense.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    merci de m'avoir répondu, désolé j'ai oublié de voir vos réponses

    Mon professeur me conseille de travailler sur un vieux pc de type Pentium ou si non sur un raspberry pi, que veux tu dire par

    - testeur de câbles (avec test croisement) ?

    J'aimerais faire quelque chose dans le genre.

    Est-ce mauvais si je travaille sur mon ordinateur ? Est ce que ça change quelque chose à la programmation de mon processeur ?

  10. #10
    Invité
    Invité(e)
    Par défaut _ _ _
    Normalement ce que tu va écrire pour ce vieux PC devrait tourner sur le tien sans souci, mais le contraire est improbable.
    Perso je le ferais en mode réelle, même si l'adressage est un peut compliqué.

  11. #11
    Membre averti

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 82
    Points : 341
    Points
    341
    Par défaut
    J'ai fait il y a quelques années un contrôleur clavier très simple. C'est de la communication matérielle sur architecture 32 bits.
    Il est là : http://www.les-sauvages.fr/Assembleur/Assembleur10.html
    Quoi que tu fasses, pour développer sans souci, je te conseille de passer par un émulateur.

  12. #12
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Si tu as le choix entre un "vieux PC" sous Win95 et un raspberry pi, aucune hésitation à avoir : le raspberry !

    C'est moderne, de la doc à profusion, des forums, et le coté "bidouille" qu'on ne peut pas avoir sur un PC

Discussions similaires

  1. Application java qui communique avec un lecteur de code à barres
    Par amydinfo dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 15/06/2010, 09h37
  2. Applet qui communique avec le serveur
    Par info21 dans le forum Applets
    Réponses: 4
    Dernier message: 09/04/2010, 16h49
  3. Communiquer avec un server par internet
    Par Ndugu dans le forum C#
    Réponses: 7
    Dernier message: 14/04/2008, 09h59
  4. Programme qui bloque avec fonction sort
    Par ultimate_manx dans le forum SL & STL
    Réponses: 10
    Dernier message: 29/11/2007, 20h06
  5. [PHP-JS] Applet qui communique avec PHP
    Par darkbob dans le forum Langage
    Réponses: 1
    Dernier message: 18/12/2006, 07h16

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