SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
ALTERA NIOS II EMBEDDED
EVALUATION KIT
Smati wassim
Plan
   Spécification
     Carte Fille LCD
     Kit FPGA Cyclone III
   Softcore Nios II
     Caractéristiques du NiosII
     Diagramme du processeur Nios
     Registres du Nios-II
     Contrôleur d’interruptions
     Jeu d’instructions NIOS II
     Les différents types d’instructions
   RTOS
     µC/OS II
     µClinux
Plan
   Outils De Développement Des SOCs
     IDE Quartus II
     Sopc Builder
     Nios II EDS Pour IDE Eclipse

   Exemple D'implémentation: Machine Détatctique IF4
       Présenation De projet
       Processeur Cisc 8 bit
       Controleur VGA

   Conclusion
Spécification
   Carte Fille LCD De Terasic
       Afficheur Tactique LCD en Couleurs :Résolution 800X460
       CODEC audio de qualité CD 24 bits avec ligne d'entrée
       (10/100) Couches Ethernet : Phy / MAC
       Connecteurs :
           Sortie VGA
            Entrée TV composite
           Sortie audio
           Entrée audio et entrée microphone
           Carte SD
           connecteur en série (port RS-232 DB9)
           PS/2
           connecteur Ethernet (RJ-45)
           8-pin debug
           Taille :125*100 mm
Spécification
   Kit FPGA Cyclone III d'ALTERA
       Cyclone III EP3C25F324
       25000 Logic Elements
       Configuration avec USB-Blaster
       Mémoires
           SDRAM : 32 Mbits
           SRAM : 1 Mbits
           Flash : 16 Mbits
       Rythme de l'horloge : oscillateur intégré 50 MHz
        Boutons et indicateurs : 6 Boutons et 7 Leds
       Connecteurs :
           HSMC
           USB Type B
       Pré-programmée avec un design Nios-II présent dans la flash
       Lorsque la configuration est terminée, le Nios II commence l’exécution du boot code présent en
        flash
Softcore Nios II
   Caractéristiques du NiosII
     Architecture de Harvard
           Data Master port
           Instruction Master port
       Banc de 32 registres 32 bits
       Chacune des unités précédente définit
        l’architecture NiosII, mais rien
        n’oblige que ces unités soient réalisées
        en hard
           Exemple : l’unité flottante est émulée en Sw
           Lorsqu’une instruction n’est pas implémentée en Hw
             le processeur génère une exception, et l’exception handler appelle
            la routine d’émulation Sw (instruction, div…).
Softcore Nios II
   Diagramme du processeur Nios
Softcore Nios II
   Registres généraux du Nios-II
       Le registre r0 contient la constante 0.
        On nepeut écrire dans ce registre.
         Il est aussiappelé zero
       Le registre r1 est utilisé par l’assembleur
        comme registre temporaire. Il ne doit
        pas être utilisé dans les programmes utilisateur
       Les registres r24 et r29 sont utilisés
        pour le traitement des exceptions.
        Ils ne sont pas disponibles en mode utilisateur
Softcore Nios II
   Registres de contrôle
Softcore Nios II
   Contrôleur d’interruptions
       Le processeur Nios-II supporte 32 niveaux d’interruption (IRQ)
       La priorité des interruptions est fixée par logiciel
       Les interruptions sont autorisées individuellement par le registre ienable et
        globalement par le registre d’état
       Une interruption est générée si et seulement si les 3 conditions suivantes sont
        réunies :
           L’entrée IRQi est active
           Le bit i du registre ienable est à 1
           Le champs PIE du registre d’état est à 1
Softcore Nios II
   Jeu d’instructions NIOS II
       jeu d’instructions de type RISC
       32 registres de 32 bits notés r0 à r31
       3 formats d’instructions :
           Instructions de type I




           Instructions de type R



           Instructions de type J
Softcore Nios II
   Les différents types d’instructions
       Les instructions mémoire
       Les instructions arithmétiques
       Les instructions logiques
       Les instructions de transfert
       Instructions de comparaison
       Instructions de décalage
       Instructions de rotation
       Instructions de saut et de branchement
       Instructions d’appel et retour de fonctions
Softcore Nios II
   Version Nios II : 3 versions Compatibles
       FAST: Optimisé pour la vitesse




       STANDARD: Équilibré pour la vitesse et la taille




       ECONOMY: Optimisé pour la taille


   Software : Le code en binaire est compatible
Softcore Nios II
   Comparaison
µC/OS II ?
   Noyau temps réel uC/OSII :Simple et petit (~ 4 000 lignes)

       Système d’exploitation temps réel multitâches préemptif.
       Développé par le Canadien Jean J. Labrosse .
       Un exécutif temps réel destiné à des environnements de très petite taille
        construits autour de Microcontrôleurs.
       Disponible sur un grand nombre de processeurs.
       Peut intégrer des protocoles standards comme TCP/IP (μC/IP).
       Assurer une connectivité IP sur une liaison série par PPP.
       Utilisable gratuitement pour l'enseignement .
       Aujourd’hui il est développé et maintenu par la société Micrium .
RTOS: µC/OS II
   Les caractéristiques essentielles du noyau temps réel µC/OS :

       Création et gestion de 63 tâches maximum.
       Création et gestion de sémaphores binaires et comptés.
       Fonction d'attente de tâche.
       Changement de priorité des tâches.
       Effacement de tâches.
       Suspension et continuation de tâches.
       Envoi de messages depuis une routine d'interruption (ISR) ou d'une tâche
        vers une autre tâche.
RTOS: µC/OS II

   uC/OS est développé en C, sauf en ce qui concerne les
    portions de code qui sont cible-dépendant (portage).
       l’implantation des opérations de changement de contexte en
        assembleur.
   Fait partie des nombreux systèmes d’exploitation
    temps réel aujourd’hui disponibles sur le marché
RTOS: µC/OS II
   Les fonctions de µC/OS :

        Initialisation (OSinit, OSStart)
       la gestion des tâches (OSTaskCreate, OSTaskDel, OSTaskDelReq, OSTaskChangePrio,
        OSTaskSuspend, OSTaskResume, OSSchedlock, OSSchedUnlock).
        la gestion du temps (OSTimeDly, OSTimeDlyResume, OSTimeSet, OSTimeGet).
        la gestion des sémaphores (OSSemCreate, OSSemAccept, OSSemPost, OSSemPend,
        OSSemInit).
       la gestion des boîtes aux lettres (OSMboxcreate, OSMboxAccept, OSMboxPost,
        OSMboxPend).
       la gestion des files d'attente (OSQCreate, OSQAccept, OSQPost, OSQPend).
        la gestion d'interruption (OSIntEnter, OSIntExit).
RTOS: µC/OS II
   μC/OS-II est noyau multi-tâches temps réel, hautement portable, modulaire et
    pouvant être mis en mémoire ROM.


    μC/OS-II qui coûte moins de $1000, peut être vu comme un noyau simplifié de
    celui qu’on retrouve dans VxWorks (qui lui coûte plus de $10K).


   μC/OS-II n’a pas d’environnement pour déverminer les applications alors que
    VxWorks possède WindView, un logiciel dont l’efficacité est reconnue.
RTOS: µCLinux
   Pourquoi retrouve-t-on Linux dans l’embarqué ?
     Logiciel Libre, disponible gratuitement au niveau source.
     Fiabilité reconnu du système.
     Portabilité sur différentes plateformes matérielles.
     Il est possible d’avoir des versions Temps Réel.
     On a un système d’exploitation multitâche.
     On a un système de fichiers disponible.
     On a une connectivité TCP/IP en standard.
RTOS: µCLinux
   Linux pour l’embarqué existe donc pour 2
    catégories de processeurs 32 bits :
     Processeur avec MMU (Memory Management Unit):
      Linux embarqué : version Linux standard.
     Processeur sans MMU :
      μClinux : version Linux adaptée.
RTOS: µCLinux
   Histoire d'µClinux :
     Première sortie en 1998 (Linux 2.0), pour le processeur
      Motorola 68000. Démonstration sur un Palm Pilot III.
     1999 : Support de Motorola ColdFire.

     2001 : Support de Linux 2.4. Support de l'ARM7.

     2004 : Support de Linux 2.6. Support de l'ARM.
RTOS: µCLinux
   Raisons pour utiliser uClinux :
       Linux: Connectivité IP intégrée, fiabilité, portabilité,systèmes de fichiers, logiciels libres...
       Léger: Noyau Linux 2.6 complet en moins de 300 Ko,binaires bien plus petits avec uClibc.
       XIP (Execute In Place): N'a pas besoin de charger les exécutables en mémoire, même si
        cela peut avoir des conséquences sur les performances.
       Moins cher: Coeurs sans MMU environ 30% plus petits. MMU pas nécessaire dans de
        nombreuses applications de systèmes embarqués.
       Plus rapide: Basculement de contexte plus rapide : pas de vidage des caches.
       L'utilisateur accède au matériel : Les applications utilisateur peuvent accéder au système
        complet, y compris aux registres des périphériques.
       Fonctionnalités :complète du noyau Linux 2.6 stabilité, noyau préemptif, pilotes...
       Multitâches: Complet Quelques limitations mineures .
       API Linux complète: Peut utiliser la plupart des appels système Linux avec quelques rares
        exceptions. Applications portées distribuées avec uClinux.
RTOS: µCLinux
   µClibc :
       Bibliothèque C légère pour les petits systèmes embarqués, mais avec la
        plupart des fonctionnalités.
       Développé à l'origine pour uClinux. Maintenant un projet indépendant.
       La Debian Woody complète a été récemment portée... Vous pouvez être
        certain qu'elle subviendra à tous les besoins.
       Exemple de taille (ARM) : approx. 400 Ko (libuClibc : 300 Ko, libm
        :55Ko)
       Exemple d'un programme “hello world” : 2 Ko (lié dynamiquement), 18
        Ko (lié statiquement).
RTOS: µCLinux
   Limitations de µClinux :
     Mémoire  virtuelle = Mémoire physique.
     Mémoire fixe pour les processus, impossible de
      fragmenter la mémoire : plus de consommation de
      mémoire.
     Pas de protection de la mémoire.
RTOS: µCLinux
   Portage de μClinux sous Nios II
     La société Microtronix a réalisé il y a quelques années
      le portage de μClinux pour le processeur softcore de
      première génération NIOS.
     Le portage de μClinux pour le processeur NIOS II est
      complet sous licence GPL
Outils De Développement Des SOCs
   Quartus II :
     permet une conception d'un circuit numérique à partir
      d'une entrée sous forme :
       D'une  schématique traditionnelle.
       D'une netlist standard de type EDIF (Electronic Design
        Interchange Format).
       Textuelle à l'aide d'un langage de description de matériel :
        VHDL, Verilog et A-HDL (Altera HDL).
Outils De Développement Des SOCs
   Flot de conception Quartus II :
Outils De Développement Des SOCs
   IDE Quartus II :
    l'interface graphique de Quartus II :
Outils De Développement Des SOCs
   SoPC Builder :
       Permet de construire un système SoPC .
       Permet graphiquement de contruire un microcontrôleur intégrant des périphériques d'E/S
        divers et variés :
           Processeur NIOS II.
           Contrôleur de SRAM, SDRAM.
           Contrôleur DMA.
           Contrôleur de mémoire CompactFlash.
           Timer.
           Boutons, afficheurs LCD.
           Liaison série UART.
           Interface Ethernet.
           …
       Possiblité d'intégrer des bloc IP externe
Outils De Développement Des SOCs
   SoPC Builder
    et mapping mémoire
Outils De Développement Des SOCs
   Nios II EDS Pour IDE Eclipse
Exemple D'implémentation: Machine Détatctique
IF4
   Présenation De projet:
       Emulation D'application Soc
         Execution D'un simple programme suporté par processeur csic sous
          FPGA
         Visulalisation des différents registre du processeur sur un ecran a
          travers le standar VGA
       Implémenation des cas d'études vus en IF4 sous FPGA :
         Processeur Cisc 8 bit
         Controleur VGA
Exemple D'implémentation: Machine Détatctique
IF4
   Architecture CISC
Exemple D'implémentation: Machine Détatctique
IF4
   Classe des Opérations
     Transfert Des Mots Mémoires
     Opération Arithmétique et logic
     Saut Conditionnel et Inconditionnel
     Gestion Des Sous-programmes
   Mode D'adressage
     Direct
     immédiat
Exemple D'implémentation: Machine Détatctique
IF4
   Jeux D’instructions
               Code   Opérant
    Exemple : ADD 0001
     Mode  Adressage Immédiat :Le bit le plus fort de Code
      égale 0 Exemple : 0001 code de Sub
     Mode Adressage Direct Le bit le plus fort de Code
      égale 1 Exemple :1001 code de Sub
Exemple D'implémentation: Machine Détatctique
IF4
   Implémentation Processuer CISC 8 bit

       Sous Quartus II


       Sous Xilinx
Exemple D'implémentation: Machine Détatctique
IF4
   Test et Simulation Sous Xilinx
Exemple D'implémentation: Machine Détatctique
IF4
   Standard VGA :
Exemple D'implémentation: Machine Détatctique
IF4
   Validation De Soc sur Ecran
Conclusion

   Explorer le domaine des FPGAs
   implémenter un ensemble de propriétés
    intellectuelles
   Implémentation du processeur RISC
Questions et discussion




Merci Pour Votre Attention

Contenu connexe

Tendances

Fpga handout
Fpga handoutFpga handout
Fpga handoutassnad
 
Emulateur d’application soc
Emulateur d’application socEmulateur d’application soc
Emulateur d’application socWassim Smati
 
Formation Bus de Terraint _Partie 3_4 _EtherCAT
Formation Bus de Terraint _Partie 3_4 _EtherCATFormation Bus de Terraint _Partie 3_4 _EtherCAT
Formation Bus de Terraint _Partie 3_4 _EtherCATWojciech GOMOLKA
 
Formation Bus de Terrain _Partie 3_1 _Modbus tcp
Formation Bus de Terrain _Partie 3_1 _Modbus tcpFormation Bus de Terrain _Partie 3_1 _Modbus tcp
Formation Bus de Terrain _Partie 3_1 _Modbus tcpWojciech GOMOLKA
 
Projet boat loader avec le pic16F887_rapport
Projet boat loader avec le pic16F887_rapportProjet boat loader avec le pic16F887_rapport
Projet boat loader avec le pic16F887_rapportMouhcine Nid Belkacem
 
Conception avec pic
Conception avec pic Conception avec pic
Conception avec pic nawzat
 
Présentation de projet de fin d’études
Présentation de projet de fin d’étudesPrésentation de projet de fin d’études
Présentation de projet de fin d’étudesAimen Hajri
 
Pic 16f877 ..
Pic 16f877 ..Pic 16f877 ..
Pic 16f877 ..sunprass
 
Projet boot loader avec le pic16f887_ppt
Projet boot loader avec le pic16f887_pptProjet boot loader avec le pic16f887_ppt
Projet boot loader avec le pic16f887_pptMouhcine Nid Belkacem
 
Formation Bus de Terrain _Partie 3_ Ethernet Industriel pour Valve Terminals
Formation Bus de Terrain  _Partie 3_  Ethernet Industriel pour Valve TerminalsFormation Bus de Terrain  _Partie 3_  Ethernet Industriel pour Valve Terminals
Formation Bus de Terrain _Partie 3_ Ethernet Industriel pour Valve TerminalsWojciech GOMOLKA
 
Formation Bus de Terrain _Partie 3_2 _ProfiNet
Formation Bus de Terrain _Partie 3_2 _ProfiNetFormation Bus de Terrain _Partie 3_2 _ProfiNet
Formation Bus de Terrain _Partie 3_2 _ProfiNetWojciech GOMOLKA
 
Embedded Systems
Embedded SystemsEmbedded Systems
Embedded SystemsSara Morgan
 

Tendances (20)

Vhdl bousmah f
Vhdl bousmah fVhdl bousmah f
Vhdl bousmah f
 
Démystifier la programmation avec LabVIEW FPGA
Démystifier la programmation avec LabVIEW FPGADémystifier la programmation avec LabVIEW FPGA
Démystifier la programmation avec LabVIEW FPGA
 
Fpga handout
Fpga handoutFpga handout
Fpga handout
 
Emulateur d’application soc
Emulateur d’application socEmulateur d’application soc
Emulateur d’application soc
 
SoC Hamdi -chap4
SoC Hamdi -chap4SoC Hamdi -chap4
SoC Hamdi -chap4
 
Formation Bus de Terraint _Partie 3_4 _EtherCAT
Formation Bus de Terraint _Partie 3_4 _EtherCATFormation Bus de Terraint _Partie 3_4 _EtherCAT
Formation Bus de Terraint _Partie 3_4 _EtherCAT
 
Microcontroleur
MicrocontroleurMicrocontroleur
Microcontroleur
 
Formation Bus de Terrain _Partie 3_1 _Modbus tcp
Formation Bus de Terrain _Partie 3_1 _Modbus tcpFormation Bus de Terrain _Partie 3_1 _Modbus tcp
Formation Bus de Terrain _Partie 3_1 _Modbus tcp
 
Mini projet 3t2i se
Mini projet 3t2i seMini projet 3t2i se
Mini projet 3t2i se
 
Systeme embarque
Systeme embarqueSysteme embarque
Systeme embarque
 
présentation STM32
présentation STM32présentation STM32
présentation STM32
 
Projet boat loader avec le pic16F887_rapport
Projet boat loader avec le pic16F887_rapportProjet boat loader avec le pic16F887_rapport
Projet boat loader avec le pic16F887_rapport
 
Conception avec pic
Conception avec pic Conception avec pic
Conception avec pic
 
Présentation de projet de fin d’études
Présentation de projet de fin d’étudesPrésentation de projet de fin d’études
Présentation de projet de fin d’études
 
Pic 16f877 ..
Pic 16f877 ..Pic 16f877 ..
Pic 16f877 ..
 
Projet boot loader avec le pic16f887_ppt
Projet boot loader avec le pic16f887_pptProjet boot loader avec le pic16f887_ppt
Projet boot loader avec le pic16f887_ppt
 
Formation Bus de Terrain _Partie 3_ Ethernet Industriel pour Valve Terminals
Formation Bus de Terrain  _Partie 3_  Ethernet Industriel pour Valve TerminalsFormation Bus de Terrain  _Partie 3_  Ethernet Industriel pour Valve Terminals
Formation Bus de Terrain _Partie 3_ Ethernet Industriel pour Valve Terminals
 
Formation Bus de Terrain _Partie 3_2 _ProfiNet
Formation Bus de Terrain _Partie 3_2 _ProfiNetFormation Bus de Terrain _Partie 3_2 _ProfiNet
Formation Bus de Terrain _Partie 3_2 _ProfiNet
 
Embedded Systems
Embedded SystemsEmbedded Systems
Embedded Systems
 
Les systèmes embarqués arduino
Les systèmes embarqués arduinoLes systèmes embarqués arduino
Les systèmes embarqués arduino
 

Similaire à Altera nios ii embedded evaluation kit

FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmohamedsaidi212001
 
Architecture hétérogène au service de l'IoT industriel ?
Architecture hétérogène au service de l'IoT industriel ?Architecture hétérogène au service de l'IoT industriel ?
Architecture hétérogène au service de l'IoT industriel ?Pierre-jean Texier
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesXavier MARIN
 
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libreEtat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel librePierre Ficheux
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
Solutions temps réel sous linux
Solutions temps réel sous linuxSolutions temps réel sous linux
Solutions temps réel sous linuxembedded-linux-bdx
 
Les solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésLes solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésAlexandre LAHAYE
 
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...Pôle Systematic Paris-Region
 
Systémes d'exploitation
Systémes d'exploitationSystémes d'exploitation
Systémes d'exploitationSelman Dridi
 
Mise à jour d’un système Linux embarqué « Over The Air »
Mise à jour d’un système Linux embarqué « Over The Air »Mise à jour d’un système Linux embarqué « Over The Air »
Mise à jour d’un système Linux embarqué « Over The Air »Pierre-jean Texier
 
Cours 1 Microprocesseurs.ppt
Cours 1 Microprocesseurs.pptCours 1 Microprocesseurs.ppt
Cours 1 Microprocesseurs.pptwafawafa52
 
Mender 2.0 101: Bien démarrer avec les 'update modules'
Mender 2.0 101: Bien démarrer avec les 'update modules'Mender 2.0 101: Bien démarrer avec les 'update modules'
Mender 2.0 101: Bien démarrer avec les 'update modules'Pierre-jean Texier
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptxSihemNasri3
 
Cours de PIC Généralités.pdf
Cours de PIC Généralités.pdfCours de PIC Généralités.pdf
Cours de PIC Généralités.pdfAliRami3
 
Chap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdfChap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdfDAPcreat
 
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...Trésor-Dux LEBANDA
 
Embarqués temps réel
Embarqués temps réelEmbarqués temps réel
Embarqués temps réelmikhailether
 

Similaire à Altera nios ii embedded evaluation kit (20)

FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 
Architecture hétérogène au service de l'IoT industriel ?
Architecture hétérogène au service de l'IoT industriel ?Architecture hétérogène au service de l'IoT industriel ?
Architecture hétérogène au service de l'IoT industriel ?
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
 
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libreEtat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Microcontrôleur
MicrocontrôleurMicrocontrôleur
Microcontrôleur
 
Solutions temps réel sous linux
Solutions temps réel sous linuxSolutions temps réel sous linux
Solutions temps réel sous linux
 
Les solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésLes solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarqués
 
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
 
Systémes d'exploitation
Systémes d'exploitationSystémes d'exploitation
Systémes d'exploitation
 
Mise à jour d’un système Linux embarqué « Over The Air »
Mise à jour d’un système Linux embarqué « Over The Air »Mise à jour d’un système Linux embarqué « Over The Air »
Mise à jour d’un système Linux embarqué « Over The Air »
 
Cours 1 Microprocesseurs.ppt
Cours 1 Microprocesseurs.pptCours 1 Microprocesseurs.ppt
Cours 1 Microprocesseurs.ppt
 
Mender 2.0 101: Bien démarrer avec les 'update modules'
Mender 2.0 101: Bien démarrer avec les 'update modules'Mender 2.0 101: Bien démarrer avec les 'update modules'
Mender 2.0 101: Bien démarrer avec les 'update modules'
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptx
 
Cours de PIC Généralités.pdf
Cours de PIC Généralités.pdfCours de PIC Généralités.pdf
Cours de PIC Généralités.pdf
 
SdE2 - Systèmes embarquées
SdE2 - Systèmes embarquéesSdE2 - Systèmes embarquées
SdE2 - Systèmes embarquées
 
Chap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdfChap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdf
 
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
 
Embarqués temps réel
Embarqués temps réelEmbarqués temps réel
Embarqués temps réel
 

Altera nios ii embedded evaluation kit

  • 1. ALTERA NIOS II EMBEDDED EVALUATION KIT Smati wassim
  • 2. Plan  Spécification  Carte Fille LCD  Kit FPGA Cyclone III  Softcore Nios II  Caractéristiques du NiosII  Diagramme du processeur Nios  Registres du Nios-II  Contrôleur d’interruptions  Jeu d’instructions NIOS II  Les différents types d’instructions  RTOS  µC/OS II  µClinux
  • 3. Plan  Outils De Développement Des SOCs  IDE Quartus II  Sopc Builder  Nios II EDS Pour IDE Eclipse  Exemple D'implémentation: Machine Détatctique IF4  Présenation De projet  Processeur Cisc 8 bit  Controleur VGA  Conclusion
  • 4. Spécification  Carte Fille LCD De Terasic  Afficheur Tactique LCD en Couleurs :Résolution 800X460  CODEC audio de qualité CD 24 bits avec ligne d'entrée  (10/100) Couches Ethernet : Phy / MAC  Connecteurs :  Sortie VGA  Entrée TV composite  Sortie audio  Entrée audio et entrée microphone  Carte SD  connecteur en série (port RS-232 DB9)  PS/2  connecteur Ethernet (RJ-45)  8-pin debug  Taille :125*100 mm
  • 5. Spécification  Kit FPGA Cyclone III d'ALTERA  Cyclone III EP3C25F324  25000 Logic Elements  Configuration avec USB-Blaster  Mémoires  SDRAM : 32 Mbits  SRAM : 1 Mbits  Flash : 16 Mbits  Rythme de l'horloge : oscillateur intégré 50 MHz  Boutons et indicateurs : 6 Boutons et 7 Leds  Connecteurs :  HSMC  USB Type B  Pré-programmée avec un design Nios-II présent dans la flash  Lorsque la configuration est terminée, le Nios II commence l’exécution du boot code présent en flash
  • 6. Softcore Nios II  Caractéristiques du NiosII  Architecture de Harvard  Data Master port  Instruction Master port  Banc de 32 registres 32 bits  Chacune des unités précédente définit l’architecture NiosII, mais rien n’oblige que ces unités soient réalisées en hard  Exemple : l’unité flottante est émulée en Sw  Lorsqu’une instruction n’est pas implémentée en Hw le processeur génère une exception, et l’exception handler appelle la routine d’émulation Sw (instruction, div…).
  • 7. Softcore Nios II  Diagramme du processeur Nios
  • 8. Softcore Nios II  Registres généraux du Nios-II  Le registre r0 contient la constante 0. On nepeut écrire dans ce registre. Il est aussiappelé zero  Le registre r1 est utilisé par l’assembleur comme registre temporaire. Il ne doit pas être utilisé dans les programmes utilisateur  Les registres r24 et r29 sont utilisés pour le traitement des exceptions. Ils ne sont pas disponibles en mode utilisateur
  • 9. Softcore Nios II  Registres de contrôle
  • 10. Softcore Nios II  Contrôleur d’interruptions  Le processeur Nios-II supporte 32 niveaux d’interruption (IRQ)  La priorité des interruptions est fixée par logiciel  Les interruptions sont autorisées individuellement par le registre ienable et globalement par le registre d’état  Une interruption est générée si et seulement si les 3 conditions suivantes sont réunies :  L’entrée IRQi est active  Le bit i du registre ienable est à 1  Le champs PIE du registre d’état est à 1
  • 11. Softcore Nios II  Jeu d’instructions NIOS II  jeu d’instructions de type RISC  32 registres de 32 bits notés r0 à r31  3 formats d’instructions :  Instructions de type I  Instructions de type R  Instructions de type J
  • 12. Softcore Nios II  Les différents types d’instructions  Les instructions mémoire  Les instructions arithmétiques  Les instructions logiques  Les instructions de transfert  Instructions de comparaison  Instructions de décalage  Instructions de rotation  Instructions de saut et de branchement  Instructions d’appel et retour de fonctions
  • 13. Softcore Nios II  Version Nios II : 3 versions Compatibles  FAST: Optimisé pour la vitesse  STANDARD: Équilibré pour la vitesse et la taille  ECONOMY: Optimisé pour la taille  Software : Le code en binaire est compatible
  • 14. Softcore Nios II  Comparaison
  • 15. µC/OS II ?  Noyau temps réel uC/OSII :Simple et petit (~ 4 000 lignes)  Système d’exploitation temps réel multitâches préemptif.  Développé par le Canadien Jean J. Labrosse .  Un exécutif temps réel destiné à des environnements de très petite taille construits autour de Microcontrôleurs.  Disponible sur un grand nombre de processeurs.  Peut intégrer des protocoles standards comme TCP/IP (μC/IP).  Assurer une connectivité IP sur une liaison série par PPP.  Utilisable gratuitement pour l'enseignement .  Aujourd’hui il est développé et maintenu par la société Micrium .
  • 16. RTOS: µC/OS II  Les caractéristiques essentielles du noyau temps réel µC/OS :  Création et gestion de 63 tâches maximum.  Création et gestion de sémaphores binaires et comptés.  Fonction d'attente de tâche.  Changement de priorité des tâches.  Effacement de tâches.  Suspension et continuation de tâches.  Envoi de messages depuis une routine d'interruption (ISR) ou d'une tâche vers une autre tâche.
  • 17. RTOS: µC/OS II  uC/OS est développé en C, sauf en ce qui concerne les portions de code qui sont cible-dépendant (portage).  l’implantation des opérations de changement de contexte en assembleur.  Fait partie des nombreux systèmes d’exploitation temps réel aujourd’hui disponibles sur le marché
  • 18. RTOS: µC/OS II  Les fonctions de µC/OS :  Initialisation (OSinit, OSStart)  la gestion des tâches (OSTaskCreate, OSTaskDel, OSTaskDelReq, OSTaskChangePrio, OSTaskSuspend, OSTaskResume, OSSchedlock, OSSchedUnlock).  la gestion du temps (OSTimeDly, OSTimeDlyResume, OSTimeSet, OSTimeGet).  la gestion des sémaphores (OSSemCreate, OSSemAccept, OSSemPost, OSSemPend, OSSemInit).  la gestion des boîtes aux lettres (OSMboxcreate, OSMboxAccept, OSMboxPost, OSMboxPend).  la gestion des files d'attente (OSQCreate, OSQAccept, OSQPost, OSQPend).  la gestion d'interruption (OSIntEnter, OSIntExit).
  • 19. RTOS: µC/OS II  μC/OS-II est noyau multi-tâches temps réel, hautement portable, modulaire et pouvant être mis en mémoire ROM.  μC/OS-II qui coûte moins de $1000, peut être vu comme un noyau simplifié de celui qu’on retrouve dans VxWorks (qui lui coûte plus de $10K).  μC/OS-II n’a pas d’environnement pour déverminer les applications alors que VxWorks possède WindView, un logiciel dont l’efficacité est reconnue.
  • 20. RTOS: µCLinux  Pourquoi retrouve-t-on Linux dans l’embarqué ?  Logiciel Libre, disponible gratuitement au niveau source.  Fiabilité reconnu du système.  Portabilité sur différentes plateformes matérielles.  Il est possible d’avoir des versions Temps Réel.  On a un système d’exploitation multitâche.  On a un système de fichiers disponible.  On a une connectivité TCP/IP en standard.
  • 21. RTOS: µCLinux  Linux pour l’embarqué existe donc pour 2 catégories de processeurs 32 bits :  Processeur avec MMU (Memory Management Unit): Linux embarqué : version Linux standard.  Processeur sans MMU : μClinux : version Linux adaptée.
  • 22. RTOS: µCLinux  Histoire d'µClinux :  Première sortie en 1998 (Linux 2.0), pour le processeur Motorola 68000. Démonstration sur un Palm Pilot III.  1999 : Support de Motorola ColdFire.  2001 : Support de Linux 2.4. Support de l'ARM7.  2004 : Support de Linux 2.6. Support de l'ARM.
  • 23. RTOS: µCLinux  Raisons pour utiliser uClinux :  Linux: Connectivité IP intégrée, fiabilité, portabilité,systèmes de fichiers, logiciels libres...  Léger: Noyau Linux 2.6 complet en moins de 300 Ko,binaires bien plus petits avec uClibc.  XIP (Execute In Place): N'a pas besoin de charger les exécutables en mémoire, même si cela peut avoir des conséquences sur les performances.  Moins cher: Coeurs sans MMU environ 30% plus petits. MMU pas nécessaire dans de nombreuses applications de systèmes embarqués.  Plus rapide: Basculement de contexte plus rapide : pas de vidage des caches.  L'utilisateur accède au matériel : Les applications utilisateur peuvent accéder au système complet, y compris aux registres des périphériques.  Fonctionnalités :complète du noyau Linux 2.6 stabilité, noyau préemptif, pilotes...  Multitâches: Complet Quelques limitations mineures .  API Linux complète: Peut utiliser la plupart des appels système Linux avec quelques rares exceptions. Applications portées distribuées avec uClinux.
  • 24. RTOS: µCLinux  µClibc :  Bibliothèque C légère pour les petits systèmes embarqués, mais avec la plupart des fonctionnalités.  Développé à l'origine pour uClinux. Maintenant un projet indépendant.  La Debian Woody complète a été récemment portée... Vous pouvez être certain qu'elle subviendra à tous les besoins.  Exemple de taille (ARM) : approx. 400 Ko (libuClibc : 300 Ko, libm :55Ko)  Exemple d'un programme “hello world” : 2 Ko (lié dynamiquement), 18 Ko (lié statiquement).
  • 25. RTOS: µCLinux  Limitations de µClinux :  Mémoire virtuelle = Mémoire physique.  Mémoire fixe pour les processus, impossible de fragmenter la mémoire : plus de consommation de mémoire.  Pas de protection de la mémoire.
  • 26. RTOS: µCLinux  Portage de μClinux sous Nios II  La société Microtronix a réalisé il y a quelques années le portage de μClinux pour le processeur softcore de première génération NIOS.  Le portage de μClinux pour le processeur NIOS II est complet sous licence GPL
  • 27. Outils De Développement Des SOCs  Quartus II :  permet une conception d'un circuit numérique à partir d'une entrée sous forme :  D'une schématique traditionnelle.  D'une netlist standard de type EDIF (Electronic Design Interchange Format).  Textuelle à l'aide d'un langage de description de matériel : VHDL, Verilog et A-HDL (Altera HDL).
  • 28. Outils De Développement Des SOCs  Flot de conception Quartus II :
  • 29. Outils De Développement Des SOCs  IDE Quartus II : l'interface graphique de Quartus II :
  • 30. Outils De Développement Des SOCs  SoPC Builder :  Permet de construire un système SoPC .  Permet graphiquement de contruire un microcontrôleur intégrant des périphériques d'E/S divers et variés :  Processeur NIOS II.  Contrôleur de SRAM, SDRAM.  Contrôleur DMA.  Contrôleur de mémoire CompactFlash.  Timer.  Boutons, afficheurs LCD.  Liaison série UART.  Interface Ethernet.  …  Possiblité d'intégrer des bloc IP externe
  • 31. Outils De Développement Des SOCs  SoPC Builder et mapping mémoire
  • 32. Outils De Développement Des SOCs  Nios II EDS Pour IDE Eclipse
  • 33. Exemple D'implémentation: Machine Détatctique IF4  Présenation De projet:  Emulation D'application Soc  Execution D'un simple programme suporté par processeur csic sous FPGA  Visulalisation des différents registre du processeur sur un ecran a travers le standar VGA  Implémenation des cas d'études vus en IF4 sous FPGA :  Processeur Cisc 8 bit  Controleur VGA
  • 34. Exemple D'implémentation: Machine Détatctique IF4  Architecture CISC
  • 35. Exemple D'implémentation: Machine Détatctique IF4  Classe des Opérations  Transfert Des Mots Mémoires  Opération Arithmétique et logic  Saut Conditionnel et Inconditionnel  Gestion Des Sous-programmes  Mode D'adressage  Direct  immédiat
  • 36. Exemple D'implémentation: Machine Détatctique IF4  Jeux D’instructions Code Opérant Exemple : ADD 0001  Mode Adressage Immédiat :Le bit le plus fort de Code égale 0 Exemple : 0001 code de Sub  Mode Adressage Direct Le bit le plus fort de Code égale 1 Exemple :1001 code de Sub
  • 37. Exemple D'implémentation: Machine Détatctique IF4  Implémentation Processuer CISC 8 bit  Sous Quartus II  Sous Xilinx
  • 38. Exemple D'implémentation: Machine Détatctique IF4  Test et Simulation Sous Xilinx
  • 39. Exemple D'implémentation: Machine Détatctique IF4  Standard VGA :
  • 40. Exemple D'implémentation: Machine Détatctique IF4  Validation De Soc sur Ecran
  • 41. Conclusion  Explorer le domaine des FPGAs  implémenter un ensemble de propriétés intellectuelles  Implémentation du processeur RISC
  • 42. Questions et discussion Merci Pour Votre Attention