Centre de développement Nios® II Processor Bare-Metal
La page Centre de développement Nios II Processor Bare-Metal vous aidera à démarrer le développement bare-metal sans système d’exploitation (SE) ou système d’exploitation temps réel (RTOS).
Introduction
Le développement bare-metal utilise un environnement d’exécution logicielle sans système d’exploitation (OS) ni système d’exploitation temps réel (RTOS). Pour prendre en charge le développement bare metal, Intel propose une bibliothèque de couches d’abstraction matérielle (HAL) pour le processeur Nios II au sein d’Intel® FPGAs. Vous pouvez utiliser cette bibliothèque comme package de pilotes de périphériques pour les systèmes de processeurs Nios II au sein du FPGA et fournir une interface cohérente aux périphériques de votre système.
Les liens suivants vous aideront à démarrer le développement de matériel nu sur Intel FPGAs. Si vous utilisez les ressources pour la première fois, nous vous recommandons de suivre les ressources de manière linéaire.
1. Prérequis
Créez votre compte My Intel
- Créez votre compte My Intel à partir de la page My Intel.
- Votre compte My Intel vous permet de déposer des demandes de service, de vous inscrire à des formations, de télécharger des logiciels, d’accéder à des ressources et plus encore.
Considérations de conception
Pourquoi le Bare Metal ?
- Les avantages de l’utilisation d’une approche bare-metal sont :
- Contrôle absolu du matériel
- Efficacité accrue
- Taille minimale (mémoire flash et encombrement mémoire)
- Aucune dépendance vis-à-vis d’autres codes sources ou bibliothèques
- Facilité dans la validation et l’analyse de la couverture du code
Vous pouvez également envisager le développement du métal nu si vous :
- Ne nécessite pas d’opérations multitâches ou multithread
- Mettez en place la carte et devez vous concentrer sur chaque périphérique individuellement
- Réutilisent du code hérité existant qui est déjà développé en tant que bare metal
Considérations sur le métal nu
Pour développer une application bare-metal pour le processeur Nios II, vous devez être familiarisé avec le développement des capacités d’exécution pour vous assurer que votre application utilise efficacement les ressources disponibles dans votre sous-système de processeur. Voici des exemples de ce qui peut être requis :
- Connaissance approfondie de la plateforme matérielle
- Développement de capacités d’exécution pour gérer le processus entre le cœur et le sous-système de cache si vous souhaitez utiliser pleinement le sous-système de processeur, car une application bare metal typique n’utilise qu’un seul cœur
- Développer des fonctionnalités pour gérer et planifier des processus, gérer les communications inter-processus et synchroniser les événements au sein de votre application
Si votre projet planifié ne vous permet pas de déployer les efforts nécessaires pour vous familiariser avec les points ci-dessus, il est recommandé d’envisager d’utiliser une solution Linux* ou RTOS commerciale.
Bare-Metal Alternatives
Compte tenu des considérations ci-dessus, il est souvent judicieux d’utiliser un système d’exploitation pour obtenir les performances maximales du processeur Nios II avec un minimum d’effort.
Le tableau suivant présente une comparaison de base entre un système d’exploitation Linux et RTOS.
Critères |
Système d’exploitation Linux |
RTOS |
---|---|---|
Différence clé |
La planification des tâches dans le système d’exploitation Linux n’est pas basée sur la priorité, donc tous les threads sont traités équitablement. Cette politique d’équité permet un débit de calcul global élevé, mais avec l’inconvénient d’une latence d’expédition illimitée. Les latences de planification sous Linux s’accumulent généralement avec le nombre accru de threads à planifier et à exécuter. |
Le Système d’exécution des opérations de remplacement est un système fondé sur les priorités qui fournit une planification préventive des tâches afin d’assurer une réponse déterministe et en temps opportun aux événements ou aux interruptions. Les threads prioritaires et urgents s’exécutent de préférence aux threads de priorité inférieure. Les threads d’un RTOS ont une latence limitée. Un processus ou un thread s’exécute dans un délai spécifié. |
Application |
Idéal pour les applications qui nécessitent un débit de calcul global élevé et qui ne sont pas urgentes. |
Idéal pour les applications qui nécessitent une réponse très rapide et prévisible. |
Ressource |
Nécessite d’importantes ressources CPU et un encombrement mémoire important. |
Léger et nécessite une empreinte mémoire réduite. |
Pratique de codage |
Généralement pas de respect de politiques de codage strictes. |
Adhère à des politiques de codage strictes car le code doit continuellement fonctionner de manière cohérente. |
Système d’exploitation Linux
Avec l’introduction d’une unité de gestion de mémoire (MMU) pour le processeur Nios II, vous avez le choix entre un large éventail de fournisseurs Linux. Qu’il s’agisse d’assistance commerciale, de leaders du secteur, ou de distribution open source gratuite, les partenaires Linux embarqués d’Intel offrent le bon niveau de support pour votre projet Linux.
- RocketBoards.org - Reportez-vous au manuel de l’utilisateur de Nios II Linux pour une distribution Linux open source prise en charge par la communauté
- LinuxLink by Timesys - Sélectionnez Intel FPGA from Manufacturer) dans l’onglet Boards filter (Cartes mères) filter tab (Cartes mères).
- Wind River : sélectionnez Intel FPGA parmi les fournisseurs de matériel dans l’onglet Board Support Packages
- Solutions au niveau du système (SLS) - Sélectionnez les Pkgs de prise en charge de la carte souhaitées dans l’onglet Téléchargements
RTOS
L’utilisation d’un simple RTOS est facile. C’est similaire à l’utilisation de bibliothèques C de fonctions déjà implémentées au lieu d’écrire ces fonctions vous-même. Certains RTOS offrent une prise en charge complète de tous les périphériques, tandis que d’autres ne prennent en charge qu’un sous-ensemble. Dans les cas où seul un sous-ensemble des périphériques est pris en charge par le RTOS que vous avez choisi, le code HAL fournit la prise en charge supplémentaire nécessaire. Pour plus de détails, reportez-vous à la page web Nios II Processor Ecosystem .
Une évaluation gratuite du RTOS MicroC/OS-II et du code source ANSI C complet est incluse avec l’installation de Nios II Embedded Design Suite (EDS). Pour plus de détails, reportez-vous à la page Web du système d’exploitation en temps réel Micrium MicroC/OS-II .
Diagramme de conception
La figure ci-dessous illustre le flux général de développement du système de processeur Nios II.
Le flux de développement du processeur Nios II se compose des trois éléments suivants :
- Conception matérielle
- Conception de logiciels
- Conception de systèmes, impliquant à la fois le matériel et les logiciels
Vous commencez le développement de votre processeur Nios II en développant un concept de système et en effectuant une analyse des exigences du système. Ensuite, vous créez et générez le système dans Platform Designer, et produisez un fichier .sopcinfo. Le Platform Designer comprend des cœurs de processeur Nios II, des composants standard, des instructions personnalisées et une logique périphérique. Après la génération du système, les flux matériels et logiciels peuvent être lancés.
Pour développer Nios II matériel de processeur, vous devez :
- Intégrer le système Platform Designer au projet logiciel Intel® Quartus® Prime.
- Attribuez l’emplacement des broches.
- Configurer les exigences de synchronisation et autres contraintes de conception.
- Après avoir compilé la conception du matériel, téléchargez le fichier .sof sur la carte cible.
Pour développer Nios II logiciel de processeur, vous devez :
- Développez votre logiciel avec les outils de création de logiciels (SBT) Nios II pour Eclipse. Le logiciel Nios II comprend les HAL, les pilotes de périphériques, les codes d’application C/C++ utilisateur et les bibliothèques personnalisées.
- Téléchargez le fichier .elf sur le système processeur Nios II de la carte cible après avoir généré l’application et le package de prise en charge de la carte mère (BSP). Le système équipé du processeur Nios II est prêt pour les tests et le débogage.
Si vous constatez que votre logiciel ne répond pas aux spécifications pendant le test, revenez au début du flux logiciel et vérifiez les codes d’application, les pilotes et le BSP pour corriger les erreurs éventuelles et vous assurer que le système de processeur Nios II fonctionne correctement.
Si le matériel ne répond pas aux spécifications, revenez à l’étape de définition et de génération du système Platform Designer, puis redémarrez le flux matériel et logiciel. Le fichier clé nécessaire à la génération du logiciel d’application est le fichier d’informations Platform Designer (.sopcinfo). Étant donné que ce fichier décrit les composants matériels et les connexions, vous devez régénérer ce fichier si vous apportez une modification matérielle. Le système est complet lorsque les logiciels et le matériel répondent aux spécifications.
2. Mise en route
Sélectionnez la carte cible
Nous vous recommandons de commencer votre développement à partir d’un kit d’évaluation ou de développement fourni par Intel, car la plupart des exemples disponibles sont conçus pour être exécutés sur ces cartes.
- Kits d’évaluation du processeur Nios II :
- Faible coût, facile à utiliser
- Plein d’exemples de conception, de tutoriels et d’exemples de logiciels
- De nombreux exemples de conception et de logiciels fournis par la communauté des processeurs Nios II sur le site Wiki Intel FPGA
- Exemple : kit d’évaluation embarqué Intel® MAX® 10 FPGA Nios® II (NEEK)
- Intel FPGA kits de développement :
- Tous les nouveaux kits comprennent des exemples de conception de processeurs Nios II préemballés intitulés Board Update Portal
- Mise en route Conception d’un processeur et d’un MAC (Media Access Control) Ethernet avec une application serveur Web HTML
Reportez-vous à Tous les kits de développement pour obtenir la liste des cartes mères disponibles. Pour afficher la liste des exemples de conception spécifiques à la carte qui sont disponibles dans le Design Store, sélectionnez le kit de développement souhaité dans le menu déroulant.
Installer Nios II Embedded Design Suite (EDS)
Pour installer le Nios II Embedded Design Suite (EDS), vous devez d’abord télécharger le logiciel Intel® Quartus® Prime depuis le Centre de téléchargement. La section Installation et licence du logiciel Intel FPGA fournit des instructions détaillées pour télécharger et installer le logiciel Intel® Quartus® Prime, qui comprend l’EDS Nios II.
Le Nios II EDS est un package de développement complet pour les conceptions de logiciels Nios II. L’EDS Nios II contient non seulement des outils de développement, mais aussi des logiciels, des pilotes de périphériques, une bibliothèque de HAL bare-metal, un logiciel de pile réseau de qualité commerciale et une version d’évaluation d’un RTOS.
Créez votre premier système de processeur Nios II
L’AN 717 : Nios II Hardware Development Tutorial et le Nios® II Software Developer Handbook vous présentent le flux de développement système pour le processeur Nios II. À l’aide du logiciel Intel® Quartus® Prime et de l’EDS Nios II, vous concevez un système matériel Nios II et créez un logiciel qui s’exécute sur le système Nios II et s’interface avec les composants des cartes de développement Intel®.
3. Créer votre propre projet
Types de projets de métal nu
Il existe deux types de projets différents qui peuvent être gérés par le Nios II EDS.
Le tableau suivant illustre les différences entre les deux types de projets, à l’exception de l’interface graphique Eclipse.
Fonction |
Projet basé sur une interface graphique |
Projet basé sur la ligne de commande |
---|---|---|
Description du type de projet | Projet basé sur une interface utilisateur graphique (GUI)
|
Projet basé sur la ligne de commande
|
Gestion des fichiers sources du projet |
Spécifiez les sources automatiquement, par exemple, par glisser-déposer dans le projet |
Spécifier les sources manuellement à l’aide d’arguments de commande |
Débogage |
Oui |
Importer un projet dans l’environnement Eclipse |
S’intègre aux scripts shell personnalisés et aux flux d’outils |
Non |
|
Méthode recommandée pour créer votre projet
L’écriture d’un logiciel pour le processeur Nios II est similaire à l’écriture de logiciels pour toute autre famille de microcontrôleurs. La modification du code existant est un moyen simple et courant d’apprendre à écrire un logiciel dans un nouvel environnement. L’EDS Nios II fournit de nombreux exemples de conception logicielle que vous pouvez examiner, modifier et utiliser dans vos propres programmes.
Chaque exemple de programme de processeur Nios II se compose d’un projet d’application, de projets facultatifs de bibliothèque utilisateur et d’un projet BSP.
- Projet d’application : se compose d’une collection de code source, plus un makefile. Une caractéristique typique d’une application est que l’un des fichiers sources contient la fonction main( ). Une application inclut du code qui appelle des fonctions dans les bibliothèques et les BSP. Le makefile compile le code source et le lie à un BSP et à une ou plusieurs bibliothèques optionnelles pour créer un fichier .elf.
- Projet de bibliothèque utilisateur : collection de code source compilée pour créer un fichier d’archive de bibliothèque unique (.a). Les bibliothèques contiennent souvent des fonctions réutilisables à usage général que plusieurs projets d’application peuvent partager. Une collection de fonctions arithmétiques courantes en est un exemple.
- Projet BSP : est une bibliothèque spécialisée contenant du code de support spécifique au système, tel que le HAL, une bibliothèque optionnelle standard newlib C personnalisée, des pilotes de périphériques, des progiciels optionnels et un système d’exploitation temps réel optionnel.
Suivez ces étapes pour créer un projet logiciel avec le Nios II SBT :
- Obtenez la conception matérielle sur laquelle le logiciel doit s’exécuter. Qu’il s’agisse d’un exemple de conception de processeur Nios II ou d’une conception développée par quelqu’un d’autre, vous devez disposer du fichier d’informations SOPC (.sopcinfo).
- Générez un fichier de paramètres BSP (settings.bsp) et ensuite, un fichier de création BSP après avoir défini les fonctionnalités requises par votre BSP.
- Créez une bibliothèque utilisateur (facultatif). Si vous devez inclure une bibliothèque utilisateur de logiciels personnalisée, rassemblez les fichiers sources de la bibliothèque utilisateur dans un répertoire unique et générez un fichier makefile de bibliothèque utilisateur.
- Écrivez le code source de votre application et générez un fichier makefile d’application.
- Générez le projet logiciel pour produire un fichier .elf et exécuter l’application sur votre carte.
Le Nios II SBT comprend des outils pour créer des makefiles, qui sont essentiels dans la construction de projets C et C ++ Nios II. Il n’est pas nécessaire d’utiliser les makefiles générés si vous préférez écrire les vôtres. Cependant, nous vous recommandons de gérer et de modifier vos makefiles BSP à l’aide du SBT.
Pour en savoir plus, reportez-vous au Manuel du développeur de logiciels Nios® II.
4. Exemples
Exemples de conception
De nombreux exemples de conception sont disponibles dans la boutique de conception d’Intel pour vous aider à démarrer avec Intel FPGA produits. Tous les exemples peuvent être utilisés comme point de départ pour vos propres conceptions, et certains exemples sont personnalisés pour des kits de développement spécifiques. Recherchez des exemples de conception de processeurs Nios II en sélectionnant Nios II dans le menu déroulant Cœur IP. Vous pouvez également filtrer d’autres critères de recherche, tels que la famille d’appareils, le kit de développement et la version du logiciel Intel® Quartus® Prime.
Comment démarrer une application de processeur Nios II ?
Pour savoir comment démarrer une application de processeur Nios II, reportez-vous à la section Configuration Nios II et solutions d’amorçage du Manuel de conception embarquée.
Différentes options d’amorçage ou d’exécution logicielle sont disponibles avec le processeur Nios II. Vous pouvez configurer le processeur Nios II pour qu’il démarre et exécute des logiciels à partir de différents emplacements de mémoire.
Mémoires de démarrage prises en charge par le processeur Nios II :
- Flash d’interface flash commune (CFI)
- Mémoire flash utilisateur (UFM) dans les périphériques Intel® MAX® 10 FPGA
- Périphérique de configuration EPCQ flash série
- Flash QSPI (Quad Serial Peripheral Interface)
- Mémoire sur puce (OCRAM)
Nios II options de démarrage du processeur :
- Exécution sur place
- Copié de la mémoire flash vers la RAM à l’aide du copieur de démarrage
5. Ressources supplémentaires
Centre d’assistance
L’aide est à portée de clic ! Le centre d’assistance fournit des ressources techniques en ligne, allant des cours de formation aux exemples de conception en passant par les forums qui vous guident à chaque étape du processus de conception.
Base de connaissances
La base de connaissances fournit un grand nombre de solutions d’assistance, d’articles de référence, de messages d’erreur et de guides de dépannage. Il est également entièrement consultable.
Communauté Intel FPGA
Intel Community est un site web communautaire qui permet la collaboration entre Intel FPGA utilisateurs. Consultez la section Nios II Embedded Design Suite (EDS) sous FPGA développeurs. Utilisez le moteur de recherche pour trouver du matériel pertinent. Nous vous encourageons également à mettre à jour et à contribuer.
Mon Intel
Votre compte My Intel vous permet de déposer une demande de service pour obtenir de l’aide sur des sujets spécifiques. Vous pouvez également l’utiliser pour vous inscrire à des cours de formation et accéder à d’autres ressources. L’inscription est obligatoire.
Apprentissage de base - Cours de formation
Le tableau suivant répertorie les cours de formation de base que vous pouvez suivre avant de commencer à développer votre conception.
Sûr |
Compétences développées |
---|---|
Le processeur Nios® II : couche d’abstraction matérielle (Cours en ligne de 34 minutes) |
|
Le processeur Nios II : introduction au développement de logiciels (Cours en ligne de 30 minutes) |
|
Utilisation du processeur Nios II : composants personnalisés et instructions (Cours en ligne de 11 minutes) |
|
Utilisation du processeur Nios II : développement matériel (Cours en ligne de 27 minutes) |
|
Documentation et ressources supplémentaires
La documentation suivante sert de référence principale pour le processeur Nios II.
- Le Manuel du développeur de logiciels Nios II décrit les informations de base nécessaires au développement de logiciels embarqués pour le processeur Nios II de 2e génération. Les chapitres de ce manuel décrivent l’environnement de développement logiciel du processeur Nios II, les outils Nios II EDS (Embedded Design Suite) disponibles et le processus de développement des logiciels.
- Le manuel de conception embarquée complète la documentation principale pour le développement de systèmes embarqués . Il décrit comment utiliser les outils le plus efficacement possible et recommande des styles et des pratiques de conception pour le développement, le débogage et l’optimisation des systèmes embarqués à l’aide des outils fournis par Intel. Le manuel présente également des concepts aux nouveaux utilisateurs des solutions embarquées d’Intel et contribue à accroître l’efficacité de conception d’un utilisateur expérimenté.
- Le Guide de référence du processeur Nios II décrit le processeur Nios II Gen2 depuis une description conceptuelle de haut niveau jusqu’aux détails de mise en œuvre de bas niveau. Les chapitres de ce manuel décrivent l’architecture du processeur Nios II, le modèle de programmation et le jeu d’instructions.
- Le Guide de l’utilisateur de l’IP des périphériques embarqués décrit les cœurs IP fournis par Intel qui fonctionnent de manière transparente avec le processeur Nios II et qui sont inclus dans le logiciel de conception Intel® Quartus® Prime. Les cœurs IP sont optimisés pour les appareils Intel® et peuvent être facilement mis en œuvre pour réduire le temps de conception et de test.
Pour obtenir la liste complète de la documentation relative aux processeurs Nios II, visitez la page Assistance du processeur Nios II .
Vidéos d’ingénieur à ingénieur
Explorez le pool de vidéos pratiques présentées par les ingénieurs Intel®. Le Intel® FPGA Vidéos rapides contient des vidéos pratiques pour vous aider à développer vos projets FPGA.
Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.