SlideShare une entreprise Scribd logo
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

Linux et les systèmes embarqués
Linux et les systèmes embarquésLinux et les systèmes embarqués
Linux et les systèmes embarqués
Stéphane Legrand
 
Programmation de systèmes embarqués : Systèmes temps réel et PRUSS
Programmation de systèmes embarqués : Systèmes temps réel et PRUSSProgrammation de systèmes embarqués : Systèmes temps réel et PRUSS
Programmation de systèmes embarqués : Systèmes temps réel et PRUSS
ECAM Brussels Engineering School
 
Programmation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationProgrammation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communication
ECAM Brussels Engineering School
 
Programmation de systèmes embarqués : Internet of Things : système connecté e...
Programmation de systèmes embarqués : Internet of Things : système connecté e...Programmation de systèmes embarqués : Internet of Things : système connecté e...
Programmation de systèmes embarqués : Internet of Things : système connecté e...
ECAM Brussels Engineering School
 
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésProgrammation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
ECAM Brussels Engineering School
 
Arm système embarqué
Arm système embarquéArm système embarqué
Arm système embarquéHoussem Rouini
 
Etude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxEtude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxThierry Gayet
 
Chapitre iii interruptions
Chapitre iii interruptionsChapitre iii interruptions
Chapitre iii interruptionsSana Aroussi
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseur
ISIG
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsSana Aroussi
 
Virtualiastion des systèmes d'exploitations
Virtualiastion des systèmes d'exploitationsVirtualiastion des systèmes d'exploitations
Virtualiastion des systèmes d'exploitations
SGHIOUAR abdelfettah
 
Embarqués temps réel
Embarqués temps réelEmbarqués temps réel
Embarqués temps réelmikhailether
 
Formation stm32
Formation stm32Formation stm32
Formation stm32
Hamza RAJHI
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
Sana Aroussi
 
Install party
Install partyInstall party
Install party
Ghariani Tewfik
 
Le Système Linux (1992)
Le Système Linux (1992)Le Système Linux (1992)
Le Système Linux (1992)
Julien SIMON
 
Chapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursChapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursSana Aroussi
 
Architecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseurArchitecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseur
Abdoulaye Dieng
 
Meetup Systemd vs sysvinit
Meetup Systemd vs sysvinitMeetup Systemd vs sysvinit
Meetup Systemd vs sysvinit
Christian Charreyre
 
Assembleur
AssembleurAssembleur
Assembleur
sarah Benmerzouk
 

Tendances (20)

Linux et les systèmes embarqués
Linux et les systèmes embarquésLinux et les systèmes embarqués
Linux et les systèmes embarqués
 
Programmation de systèmes embarqués : Systèmes temps réel et PRUSS
Programmation de systèmes embarqués : Systèmes temps réel et PRUSSProgrammation de systèmes embarqués : Systèmes temps réel et PRUSS
Programmation de systèmes embarqués : Systèmes temps réel et PRUSS
 
Programmation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationProgrammation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communication
 
Programmation de systèmes embarqués : Internet of Things : système connecté e...
Programmation de systèmes embarqués : Internet of Things : système connecté e...Programmation de systèmes embarqués : Internet of Things : système connecté e...
Programmation de systèmes embarqués : Internet of Things : système connecté e...
 
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésProgrammation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
 
Arm système embarqué
Arm système embarquéArm système embarqué
Arm système embarqué
 
Etude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxEtude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU Linux
 
Chapitre iii interruptions
Chapitre iii interruptionsChapitre iii interruptions
Chapitre iii interruptions
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseur
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récents
 
Virtualiastion des systèmes d'exploitations
Virtualiastion des systèmes d'exploitationsVirtualiastion des systèmes d'exploitations
Virtualiastion des systèmes d'exploitations
 
Embarqués temps réel
Embarqués temps réelEmbarqués temps réel
Embarqués temps réel
 
Formation stm32
Formation stm32Formation stm32
Formation stm32
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
 
Install party
Install partyInstall party
Install party
 
Le Système Linux (1992)
Le Système Linux (1992)Le Système Linux (1992)
Le Système Linux (1992)
 
Chapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursChapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeurs
 
Architecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseurArchitecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseur
 
Meetup Systemd vs sysvinit
Meetup Systemd vs sysvinitMeetup Systemd vs sysvinit
Meetup Systemd vs sysvinit
 
Assembleur
AssembleurAssembleur
Assembleur
 

En vedette

Ratnapura
RatnapuraRatnapura
Ratnapuraterold
 
Musambule - Concours régional Open Paca 2013
Musambule - Concours régional Open Paca 2013Musambule - Concours régional Open Paca 2013
Musambule - Concours régional Open Paca 2013
Marc Alcaraz
 
Troop commander bruno emmanuel
Troop commander   bruno emmanuelTroop commander   bruno emmanuel
Troop commander bruno emmanuelrashka63
 
Information en ligne : quel écosystème pour demain ?
Information en ligne : quel écosystème pour demain ?Information en ligne : quel écosystème pour demain ?
Information en ligne : quel écosystème pour demain ?
Marion Lecointre
 
CovoiturageAvantages
CovoiturageAvantagesCovoiturageAvantages
CovoiturageAvantagesaltriss
 

En vedette (8)

Vanilha chokolad
Vanilha chokoladVanilha chokolad
Vanilha chokolad
 
Ratnapura
RatnapuraRatnapura
Ratnapura
 
Musambule - Concours régional Open Paca 2013
Musambule - Concours régional Open Paca 2013Musambule - Concours régional Open Paca 2013
Musambule - Concours régional Open Paca 2013
 
Troop commander bruno emmanuel
Troop commander   bruno emmanuelTroop commander   bruno emmanuel
Troop commander bruno emmanuel
 
Information en ligne : quel écosystème pour demain ?
Information en ligne : quel écosystème pour demain ?Information en ligne : quel écosystème pour demain ?
Information en ligne : quel écosystème pour demain ?
 
CovoiturageAvantages
CovoiturageAvantagesCovoiturageAvantages
CovoiturageAvantages
 
Faille stat
Faille statFaille stat
Faille stat
 
Atelier i2 c
Atelier  i2 cAtelier  i2 c
Atelier i2 c
 

Similaire à Altera nios ii embedded evaluation kit

FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
mohamedsaidi212001
 
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
Xavier MARIN
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
Abdo Brahmi
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
Abdo Brahmi
 
Microcontrôleur
MicrocontrôleurMicrocontrôleur
Microcontrôleur
Peronnin Eric
 
Solutions temps réel sous linux
Solutions temps réel sous linuxSolutions temps réel sous linux
Solutions temps réel sous linux
embedded-linux-bdx
 
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.ppt
wafawafa52
 
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.pptx
SihemNasri3
 
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
AliRami3
 
SdE2 - Systèmes embarquées
SdE2 - Systèmes embarquéesSdE2 - Systèmes embarquées
SdE2 - Systèmes embarquées
Alexandru Radovici
 
Composants reconfigurables
Composants reconfigurablesComposants reconfigurables
Composants reconfigurables
Peronnin Eric
 
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
DAPcreat
 
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
 
11776626.ppt
11776626.ppt11776626.ppt
11776626.ppt
khalilMansouri4
 
Les Microcontrôleurs 68HCXX.ppt
Les Microcontrôleurs 68HCXX.pptLes Microcontrôleurs 68HCXX.ppt
Les Microcontrôleurs 68HCXX.ppt
wafawafa52
 
Tiny os_2
Tiny os_2Tiny os_2
Tiny os_2
MOHAMED ZARBOUBI
 

Similaire à Altera nios ii embedded evaluation kit (20)

FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 
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
 
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
 
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
 
Composants reconfigurables
Composants reconfigurablesComposants reconfigurables
Composants reconfigurables
 
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...
 
11776626.ppt
11776626.ppt11776626.ppt
11776626.ppt
 
Les Microcontrôleurs 68HCXX.ppt
Les Microcontrôleurs 68HCXX.pptLes Microcontrôleurs 68HCXX.ppt
Les Microcontrôleurs 68HCXX.ppt
 
Tiny os_2
Tiny os_2Tiny os_2
Tiny os_2
 

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