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

Raspberry Pi Discussion :

Programmation assembleur


Sujet :

Raspberry Pi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5
    Points : 13
    Points
    13
    Par défaut Programmation assembleur
    Bonjour,
    J'aimerais apprendre l'assembleur ARM V6 du Raspberry Pi
    faute de trouver des cours dans ce site où puis-je trouver des informations ? ( en français svp )
    J'ai une expérience limitée de l'assembleur sous msdos avec A86 et je voudrais faire pareil avec Raspberry Pi ( moins intimidant que Windows )

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Etant donné que la datasheet du processeur du RPi n'est pas disponible, tu vas avoir du mal à programmer en assembleur sur cette plate forme...
    Tu peux peut-être te tourner vers l'Arduino Due qui est aussi basé sur un processeur ARM. Il est moins sexy que le RPi mais toutes les docs sont accessibles
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre confirmé
    Avatar de deletme
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 257
    Points : 519
    Points
    519
    Par défaut
    Bonjour,

    Un site très bien fait qui propose la réalisation d'un OS sur Rpi avec une couche en assembleur (qui est cependant en anglais comme beaucoup dans ce domaine) :
    http://www.cl.cam.ac.uk/projects/ras.../tutorials/os/

    Bon courage ^^
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    - Martin Golding
    Traduction obligatoire : "Toujours écrire du code en gardant en tête que le mec qui en assurera la maintenance est un psychopathe violent qui connait votre adresse"

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 446
    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 446
    Points : 43 090
    Points
    43 090
    Par défaut
    Intéressant le lien, je vais le proposer en traduction.
    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

  5. #5
    Provisoirement toléré
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2016
    Messages : 120
    Points : 0
    Points
    0
    Par défaut
    Bonjour,

    je voulais faire la même chose, programmer la pi en assembleur mais la datasheet n'est pas libre, chez arduino je ne trouve pas la puissance dont j'ai besoin. Je cherche une carte mère embarqué de 1go de ram et 1ghz de fréquence minimum, c'est pour programmer un os complet donc j'ai besoin que la datasheet soit gratuite, quelqu'un connaitrait une carte mère répondant à ces critères ?

  6. #6
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    Bonjour à tout le groupe,

    @bertome1,
    Citation Envoyé par bertome1
    J'ai une expérience limitée de l'assembleur sous msdos avec A86 et je voudrais faire pareil avec Raspberry Pi ( moins intimidant que Windows )
    Moins intimidant
    Tu ne peux pas démarrer l'assembleur de manière plus complexe. Le processeur d'un Raspberry est plus qu'un simple ARM, c'est un SOC (System On Chip). Ça veut dire qu'on a mis dans une seule puce, plein de truc :
    • Un microcontrôleur ARM
    • Un coprocesseur Vidéo
    • Une carte son
    • et encore plein de truc

    Le but étant de gagner le plus de place possible mais au détriment de la simplicité de prise en main. Pour le programmer il te faut de très solide base en informatique mais aussi en électronique pour comprendre comment le hard fonctionne. La datasheet du SOC du Raspberry n'est qu'en partie disponible, c'est la plus grosse partie qui l'est (le microcontrôleur ARM dans le SOC) par contre on ne trouve rien du tout sur le processeur vidéo par exemple et ce qui est assez embêtant pour commencer de zéro.



    @Factorisable,
    Tu peux te tourner vers un homologue de Raspberry, par exemple la carte BeagleBone Black. Il tourne sur un ARM Cortex-A8 @1Ghz avec 512Mo de RAM embarqué sur cette démo board.
    https://beagleboard.org/black.

    La datasheet du processeur... qui fait 5000 pages
    http://www.ti.com/lit/ug/spruh73n/spruh73n.pdf

    les docs de Texas Instruments sont biens faites et il y a de la pédagogie, elles sont donc plus simples a comprendre comparé à d'autres fabricants
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  7. #7
    Provisoirement toléré
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2016
    Messages : 120
    Points : 0
    Points
    0
    Par défaut
    Merci pour cette carte, il n'y a que 500 mo ram mais je n'étais pas à un facteur 2 près, je vais partir dessus.

  8. #8
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    Attention la doc de 5000 pages explique comment fonctionne la famille AM335x qui se décline comme suit :
    AM3351
    AM3352
    AM3354
    AM3356
    AM3357
    AM3358
    AM3359

    Tous ces processeurs n'implémentent pas tous les périphériques présents dans la datasheet.
    Exemple le AM3351 n'a pas de BUS CAN (Control Area Network) qui est utilisé et connu dans l'automobile. Ou encore le AM3352 n'a pas d’accélérateur graphique 3D. Certain tourne moins vite que d'autres etc...
    La doc explique bien tout ça et c'est souvent écrit en note de page dans le chapitre que tu lis.

    Les chapitres sont orientés de cette manière :
    Introduction
    Integration
    Functional Description
    Registers

    Un rappel est fait sur "a quoi ça sert", "comment c'est fait", "comment ça fonctionne" et les "registres qui tu dois régler/utiliser".

    Conseil !!!!
    Comme toute datasheet et surtout celle là, elle fait peur des les premières pages. Aussi, je t'invite a lire, par chapitre concerné, l'introduction et les registres pour t'éclaircir les idées.
    L'intro te permettra de comprendre ce que c'est dans les grandes lignes et les registres te donneront sous forme de tableau l'utilité de chaque bit. Une fois que tu as assimilé le fonctionnement global "en gros" alors tu peux aller voir l'intégration et la description fonctionnelle qui te feront d'un coup beaucoup moins peur.


    Étant donné que tu veux faire un OS, il y a plein de truc dans cette doc, qui ne te serviront pas tout de suite et ce qui est bien c'est que chaque chapitre est indépendant des autres (inutiles de te taper les 5000 pages pour démarrer)

    Bon courage car tu t'attaques a un sacré gros morceau ! Je ne me suis, personnellement, jamais frotté a quelques choses d'aussi conséquent.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  9. #9
    Membre régulier
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2019
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2019
    Messages : 49
    Points : 70
    Points
    70
    Par défaut Programmation assembleur sur le raspberry pi
    Bonsoir.
    Il me semble que j'étais déjà intervenu sur ce sujet mais mon message a disparu ! ou j'ai fait une erreur !
    Bon, programmer en assembleur sur le raspberry pi ne nécessite absolument pas de lire la documentation de 5000 pages comme indiqué.
    C'est beaucoup plus simple et plus facile : voir le site en anglais :
    https://thinkingeek.com/2013/01/09/a...-pi-chapter-1/
    Depuis 2 ans je tiens un blog sur ce sujet :
    http://assembleurarmpi.blogspot.com/
    dans lequel je raconte ma découverte progressive de l'assembleur arm sur le raspberry. Les premiers chapitres indiquent les bases et les outils à utiliser.
    Je trouve que ce langage est facile à apprendre car les processeurs ARM sont des processeurs risc donc avec un jeu d'instruction réduit.
    Je pense que dans cette discussion il y a une confusion entre écrire des programmes en assembleur et développer en assembleur un système d'exploitation complet !!!!

Discussions similaires

  1. Programmation assembleur sous z/OS
    Par SPACHFR dans le forum z/OS
    Réponses: 4
    Dernier message: 09/11/2007, 10h12
  2. Portage programme assembleur
    Par jpc dans le forum Assembleur
    Réponses: 1
    Dernier message: 04/04/2006, 14h36

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