Nios®-V-Prozessor-Entwicklerzentrum
Nios®V Dokumentation und Support für die Entwicklung und das Debugging von Embedded-Prozessorsystemen mit Stratix® 10, Arria® 10, Cyclone® 10 GX, Cyclone® 10 LP, MAX® 10, Arria® V, Cyclone® V, MAX® V Cyclone® IV Geräten. Informationen zu Agilex-Geräten™ finden Sie in den unten aufgeführten Ressourcen für die Agilex-Softwareentwicklung.
Software Development Journeys für Agilex™ 7 und Agilex™ 5 Geräte
Design Hubs bieten eine schrittweise geführte Reiseroute für Standardentwicklungsabläufe, die die wichtigsten kritischen Ressourcen und Dokumentationen aufzeigen.
1. Voraussetzungen
1.1 Mein Intel-Konto® erstellen
- Erstellen Sie Ihr Intel® Konto auf der Seite Intel Konto registrieren®.
- Mit Ihrem Intel Konto können Sie Serviceanfragen einreichen, sich für Schulungen anmelden, Software herunterladen, auf Ressourcen zugreifen und vieles mehr.
1.2 Designüberlegungen: Warum sollten Sie sich für den Nios V Prozessor entscheiden?
Der Nios V Prozessor ist für Altera® FPGA Geräte ausgelegt und wurde auf Basis der RISC-V Spezifikation entwickelt. Weitere Informationen, wie z. B. zum Benchmark der Prozessorleistung, finden Sie im Referenzhandbuch für den Nios V Prozessor.
In der folgenden Tabelle sind die unterstützten Funktionen in Nios-V-Prozessoren aufgeführt.
Nios-V-Prozessor |
RISC-V ISA |
Mikroarchitektur Merkmale |
Aktiviert mit |
Unterstützt Altera® FPGA Gerät |
|
---|---|---|---|---|---|
Nios V/c Kompakter Mikrocontroller |
RISC-V 32I
|
|
|
|
|
Nios V/m Mikrocontroller |
RISC-V 32I Zicsr
|
|
|
|
|
Nios V/g Allzweck-Prozessor |
RISC-V 32IWF Zicbom Zicsr Smclic Smcsrind
|
|
|
|
|
1.3 Welches Betriebssystem soll ich wählen?
Bare-Metal
Bare-Metal ist ein anwendungsbasiertes System ohne die Unterstützung eines Betriebssystems.
Der Bare-Metal-Ansatz bietet:
- Absolute Kontrolle über die Hardware
- Gesteigerte Effizienz
- Minimale Größe (sowohl Flash- als auch Speicherbedarf)
- Keine Abhängigkeit von anderen Quellcodes oder Bibliotheken
- Einfache Validierung und Analyse der Codeabdeckung.
Sie können auch eine Bare-Metal-Entwicklung in Betracht ziehen, wenn Sie:
- Keine Multitasking- oder Multithread-Operationen erforderlich
- Sie führen ein Board-Bring-Up durch und müssen sich auf jedes einzelne Peripheriegerät konzentrieren
- Wiederverwendung von bestehendem Legacy-Code, der bereits als Bare-Metal entwickelt wurde
Um eine Bare-Metal-Anwendung für den Nios®-V-Prozessor zu entwickeln, müssen Sie mit der Entwicklung von Laufzeitfunktionen vertraut sein, um sicherzustellen, dass Ihre Anwendung die in Ihrem CPU-Subsystem verfügbaren Ressourcen effizient nutzt. Beispiele für das, was erforderlich sein kann, sind wie folgt:
- Fundierte Kenntnisse der Hardware-Plattform
- Entwicklung von Laufzeitfunktionen zur Verwaltung des Prozesses zwischen dem Kern und dem Cache-Subsystem, wenn Sie das CPU-Subsystem voll ausnutzen möchten, da eine typische Bare-Metal-Anwendung nur einen einzigen Kern verwendet
- Entwicklung von Funktionen zum Verwalten und Planen von Prozessen, zum Verarbeiten der Kommunikation zwischen Prozessen und zum Synchronisieren von Ereignissen innerhalb Ihrer Anwendung
Wenn Ihr geplantes Projekt nicht den Aufwand zulässt, der erforderlich ist, um sich mit den oben genannten Punkten vertraut zu machen, wird empfohlen, andere Alternativen in Betracht zu ziehen.
® Altera Hardware-Abstraktionsschicht (HAL) und Echtzeitbetriebssystem (RTOS)
In Anbetracht der obigen Aussagen ist es oft sinnvoll, eine Abstraktionsschicht oder ein Betriebssystem zu verwenden, um mit minimalem Aufwand die maximale Leistung aus dem Nios® V Prozessor zu realisieren.
Die folgende Tabelle zeigt die Merkmale von Altera® HAL und RTOS.
Kriterien |
Altera® HAL |
RTOS (Echtzeit-Betriebssystem) |
---|---|---|
Hauptunterschied |
Altera® HAL ist eine leichtgewichtige eingebettete Laufzeitumgebung, die eine einfache Gerätetreiberschnittstelle bietet, über die Programme eine Verbindung zum zugrunde liegenden Altera® FPGA zu den Peripheriegeräten herstellen können. Die Altera® HAL Anwendungsprogrammschnittstelle (API) ist in die ANSI-C-Standardbibliothek integriert. | RTOS ist ein prioritätsbasiertes System und bietet eine präventive Aufgabenplanung, um eine zeitnahe und deterministische Reaktion auf Ereignisse oder Unterbrechungen zu gewährleisten. Zeitkritische Threads mit hoher Priorität werden Threads mit niedrigerer Priorität vorgezogen. Threads in einem Echtzeitbetriebssystem weisen eine begrenzte Latenz auf. Ein Prozess oder Thread wird innerhalb eines bestimmten Zeitlimits ausgeführt. |
Anwendung |
Ideal für Anwendungen, die auf Altera® FPGA Peripheriegeräten basieren. |
Ideal für Anwendungen, die sehr schnelle und vorhersehbare Reaktionen erfordern. |
Ressource |
Geringes Gewicht und geringer Speicherbedarf. |
Geringes Gewicht und geringer Speicherbedarf. |
Codierungspraxis |
Hält sich an Altera® HAL API-Bibliothek, wenn der Altera HAL Gerätetreiber verwendet wird. |
Hält sich an strenge Codierungsrichtlinien, da der Code kontinuierlich konsistent ausgeführt werden muss. |
Aktuelle Informationen zu unterstützten Betriebssystemtypen finden Sie im Nios V Prozessor Software Entwicklerhandbuch . Weitere Informationen finden Sie in der μC/OS-II-Dokumentation, FreeRTOS* - Echtzeitbetriebssystem für Mikrocontroller, Zephyr* - Einführung in das Betriebssystem |
2. Erste Schritte
2.1 Ziel-Mainboard auswählen
Wir empfehlen, die Entwicklung mit einem Altera® FPGA Entwicklungskit zu beginnen, da die Designbeispiele für Nios V Prozessoren auf diese Mainboards ausgerichtet sind. Informationen zu unterstützten Altera® FPGA Geräten finden Sie im Abschnitt Design-Berücksichtigung .
Unter FPGA Development Kits finden Sie eine Liste der verfügbaren Mainboards.
2.2 Installieren Sie Entwicklungstools
Sie müssen die Quartus® Prime Software und die Ashling* RiscFree* IDE für Altera FPGA installieren, um mit der Entwicklung eines Nios V Prozessorsystems zu beginnen. Navigieren Sie zum FPGA Software-Download-Center , um die neueste Softwareversion zu installieren.
2.3 Erstellen Sie Ihr erstes Nios-V-Prozessorsystem
Das Design-Handbuch für Nios-V-Embedded-Prozessoren führt Sie in den Systementwicklungsablauf für den Nios-V-Prozessor ein. Zusammen mit der Quartus® Prime-Software und der Ashling* RiscFree* IDE für Altera® FPGAs können Sie eine Komplettlösung erstellen, die ein Hardware-Systemdesign und ein Softwareprogramm umfasst, das auf dem Nios-V-Prozessor läuft und Schnittstellen zu den Komponenten auf den Altera® Entwicklungsboards bildet.
3. Erstellen Sie Ihr eigenes Projekt
3.1 Projekttypen
Die Entwicklungswerkzeuge für Nios-V-Prozessor bestehen aus dem Board Support Package Editor und der Ashling* RiscFree* IDE für Altera® FPGA zur Erstellung Nios prozessorbasierten Projekten. Es verwaltet zwei verschiedene Arten von Projekten:
Auf der grafischen Benutzeroberfläche (GUI) basierendes Projekt
- Der Board Support Package (BSP) Editor bietet eine GUI-Schnittstelle zum Erstellen, Modifizieren und Generieren der BSP für Nios prozessorbasierte Projekte.
- Die Ashling* RiscFree* IDE für Altera® FPGA ist eine dünne GUI-Schicht, die eine vollständige und nahtlose Umgebung für die Nios V Prozessor C/C++ Softwareentwicklung bietet. RiscFree* IDE basiert auf dem beliebten Eclipse-Framework und den Eclipse C/C++ Development Toolkit (CDT) Plug-ins. Sie können alle Aufgaben der Softwareentwicklung für Nios V-Prozessor in RiscFree* IDE for Altera® FPGA durchführen, einschließlich des Erstellens, Importierens, Bearbeitens, Erstellens, Ausführens, Debuggens und Profilerstellens.
CLI-basiertes Projekt (Command Line Interface)
- Mit den Nios V Prozessor Tools können Sie eine Vielzahl komplexer eingebetteter Softwaresysteme über eine Befehlszeilenschnittstelle erstellen. Über diese Schnittstelle können Sie Nios V Prozessor-Programme mit Nios V Processor Tools-Befehlen erstellen, ändern, erstellen und ausführen, die in eine Befehlszeile eingegeben oder in ein Skript eingebettet sind.
Weitere Informationen finden Sie im Nios® V Prozessor Software Entwicklerhandbuch und im Ashling* RiscFree* Integrated Development Environment (IDE) für Altera® FPGAs Benutzerhandbuch .
In der folgenden Tabelle werden die Unterschiede zwischen den beiden Projekten verglichen.
Feature |
GUI-basiertes Projekt |
CLI-basiertes Projekt |
---|---|---|
Verwaltung von Projektquelldateien |
Quellen automatisch angeben, z.B. per Drag & Drop in das Projekt |
Quellen manuell mit Befehlsargumenten angeben |
Debuggen |
Ja |
|
Integration mit benutzerdefinierten Shell-Skripten und Tool-Flows |
Übernehmen Sie standardmäßige Eclipse-Toolflows. |
|
3.2 Design-Flow
Die folgende Abbildung veranschaulicht den allgemeinen Entwicklungsablauf von Nios-V-Prozessorsystemen.
Der Entwicklungsablauf des Nios-V-Prozessors besteht aus drei Elementen:
- Systemdesign, das sowohl Hardware als auch Software umfasst
- Hardware-Design
- Software-Design
Sie beginnen Ihre Nios-V-Prozessorentwicklung mit der Entwicklung eines Systemkonzepts und der Durchführung einer Systemanforderungsanalyse. Als Nächstes erstellen und generieren Sie das System im Platform Designer und erzeugen eine Platform Designer-Datei. Die Platform Designer-Datei enthält Nios V Prozessorkerne und Standardkomponenten. Nach der Systemgenerierung können Hardware- und Softwareflüsse initiiert werden.
Für die Entwicklung von Nios-V-Prozessor-Hardware müssen Sie:
- Wählen Sie die Ziel-FPGA basierend auf den Systemanforderungen aus. Weitere Informationen finden Sie im Abschnitt Designüberlegungen .
- Integrieren Sie das Platform Designer-System in das Quartus® Prime-Softwareprojekt.
- Zuweisen von Pin-Positionen.
- Konfigurieren Sie Timing-Anforderungen und andere Designeinschränkungen.
- Nachdem Sie das Hardware-Design kompiliert haben, laden Sie die .sof-Datei auf das Ziel-Mainboard herunter.
Für die Entwicklung von Nios-V-Prozessor-Software müssen Sie:
- Entwickeln Sie Ihre Software mit den Nios V Prozessor Tools und Ashling* RiscFree* IDE für Altera® FPGA. Die Nios V Prozessorsoftware umfasst das HAL, Peripherietreiber, Benutzer-C/C++-Anwendungscodes und benutzerdefinierte Bibliotheken.
- Laden Sie die .elf-Datei auf das Nios®-V-Prozessorsystem auf der Zielplatine herunter, nachdem Sie die Anwendung und das Board Support Package (BSP) erstellt haben. Das Nios V Prozessorsystem steht zum Testen und Debuggen bereit.
Wenn Sie während des Tests feststellen, dass Ihre Software nicht den Spezifikationen entspricht, kehren Sie zum Anfang des Softwareablaufs zurück und überprüfen Sie die Anwendungscodes, Treiber und BSP, um Fehler zu korrigieren und sicherzustellen, dass das Nios V Prozessorsystem korrekt ausgeführt wird.
Wenn die Hardware nicht den Spezifikationen entspricht, kehren Sie zum Schritt "Definieren und Generieren" des Platform Designer-Systems zurück und starten Sie sowohl den Hardware- als auch den Softwarefluss neu. Die für die Generierung der Anwendungssoftware erforderliche Schlüsseldatei ist die Platform Designer-Systemdatei. Da diese Datei Hardwarekomponenten und Verbindungen beschreibt, müssen Sie diese Datei neu generieren, wenn Sie eine Hardwareänderung vornehmen. Das System ist vollständig, wenn sowohl die Software als auch die Hardware den Spezifikationen entsprechen.
4. Design-Beispiele
Es gibt viele Designbeispiele, die Ihnen den Einstieg in Altera® FPGA Produkte erleichtern. Alle Beispiele können als Ausgangspunkt für Ihre eigenen Designs verwendet werden und sind anpassbar, um andere spezifische Anwendungsfälle zu implementieren.
Der Nios V Prozessor FPGA IP bietet eine Auswahl an einfachen Designbeispielen, die Ihnen den Einstieg in den Nios V Prozessor erleichtern.
- Nios®-V-Designbeispiele auf Altera® Entwicklerwebsite
- Nios® V Designbeispiele im Altera® FPGA Design Store
- Nios®-V-Designbeispiele auf RocketBoards.org
Eine detaillierte Dokumentation finden Sie in den "Nios® V Prozessor Designbeispielskripten" aus dem Handbuch zur Nios® V Prozessor Softwareentwicklung.
Wie führe ich eine Nios V Prozessor "Hello World"-Anwendung in Altera HAL, μC/OS-II RTOS und FreeRTOS aus?
Um zu erfahren, wie Sie eine Nios V Prozessor "Hello World" Anwendung in Altera HAL, μC/OS-II RTOS und FreeRTOS ausführen, lesen Sie bitte AN 985: Nios® V Prozessor Tutorial.
Wie führe ich eine Nios V Prozessor "Hello World" Anwendung in Zephyr RTOS aus?
Um zu erfahren, wie Sie eine Nios V Prozessor "Hello World" Anwendung in Zephyr RTOS ausführen, lesen Sie das Nios® V Zephyr Designbeispiel – Hello World
Wie starte ich eine Nios-V-Prozessor-Anwendung?
Um zu erfahren, wie man eine Nios V Prozessor Anwendung startet, lesen Sie den Abschnitt "Nios® V Prozessor Konfiguration und Booting Lösungen" im Nios® V Embedded Processor Design Handbook: Nios® V Prozessor Configuration and Booting Solutions.
Wie betreibe ich einen Nios-V-Prozessor mit dem MicroC/TCP-IP-Softwarepaket?
Informationen zum Ausführen eines Nios V Prozessors mit dem MicroC/TCP-IP-Softwarepaket finden Sie im Abschnitt "Nios® V Prozessor – Verwendung des Micro/TCP-IP Stacks" im Nios® V Embedded Processor Design Handbook: Nios® V Prozessor – Verwendung des MicroC/TCP-IP Stack.
Wie betreibe ich einen Nios-V-Prozessor mit Remote System Update auf SDM-basierten Geräten?
Informationen zum Ausführen eines Nios-V-Prozessors mit Remote-Systemaktualisierung in SDM-basierten Geräten finden Sie im Abschnitt "Kurzanleitung für Nios® V Prozessor RSU bei SDM-basierten Geräten" im Nios® V Embedded Processor Design Handbook: Kurzanleitung für Nios® V Prozessor RSU bei SDM-basierten Geräten.
Wie betreibe ich einen Nios-V-Prozessor mit benutzerdefinierter Anleitung?
Informationen zum Ausführen eines Nios V-Prozessors mit benutzerdefinierter Anleitung finden Sie im Abschnitt "Nios® V Prozessor – Verwenden benutzerdefinierter Anweisungen" im Designhandbuch für Nios® V Embedded-Prozessor: Nios® V Prozessor – Verwenden einer benutzerdefinierten Anweisung.
5. Zusätzliche Ressourcen
5.1 Dokumentation und Begleitmaterial
Die folgende Dokumentation dient als primäre Referenz für den Nios V Prozessor.
Titel der Dokumentation |
Beschreibung |
---|---|
Beschreibt die grundlegenden Informationen, die für die Entwicklung von Embedded-Software für den Nios®-V-Prozessor benötigt werden. Die Kapitel in diesem Handbuch beschreiben die Softwareentwicklungsumgebung für den Nios®-V-Prozessor, die verfügbaren Nios®-V-Prozessor-Tools und das Verfahren zur Softwareentwicklung. |
|
Ergänzt die primäre Dokumentation für die Entwicklung von Embedded-Systemen. Es beschreibt den effektiven Einsatz der Tools und empfiehlt Entwurfsstile und -praktiken für die Entwicklung, das Debugging und die Optimierung von eingebetteten Systemen mithilfe Altera bereitgestellten Tools. Das Handbuch stellt auch Konzepte für neue Benutzer der Embedded-Lösungen von Altera vor und trägt dazu bei, die Designeffizienz eines erfahrenen Benutzers zu erhöhen. |
|
Beschreibt den Nios®-V-Prozessor von der allgemeinen konzeptionellen Beschreibung bis zu den Implementierungsdetails auf niedriger Ebene. Die Kapitel in diesem Handbuch beschreiben die Architektur des Nios®-V-Prozessors, das Programmiermodell und den Befehlssatz. |
|
Beschreibt die von der Altera bereitgestellten IP-Cores, die nahtlos mit dem Nios®-V-Prozessor in der Quartus® Prime-Designsoftware zusammenarbeiten. Die IP-Cores sind für Altera® Geräte optimiert und können einfach implementiert werden, um die Design- und Testzeit zu verkürzen. |
|
Ashling* RiscFree* Integrated Development Environment (IDE) für Altera® FPGA |
Beschreibt die neuesten Funktionen in den Ashling* RiscFree* IDE Entwicklungstools. Das Benutzerhandbuch bietet eine detaillierte Erklärung sowie Anwendungsfälle der jeweiligen Funktionen. |
Beschreibt die Implementierung benutzerdefinierter Anweisungen im Nios® V Prozessor. Dieser Anwendungshinweis stellt die Funktion für benutzerdefinierte Anweisungen vor und zeigt anhand von Anleitungen, wie Sie diese in Ihrem System instanziieren können. |
|
Beschreibt die Migrationsbemühungen von Nios® II Prozessor zu Nios®-V-Prozessor. In diesem Anwendungshinweis wird der Unterschied im Systemdesign (Hardware- und Softwaredesign) bei der Prozessormigration erläutert. |
|
AN 985: Nios®-V-Prozessor Tutorial | Stellen Sie eine Kurzanleitung zum Generieren, Simulieren, Programmieren und Debuggen eines Nios®-V-Prozessorsystems bereit. |
Nios®-V-Prozessor: Lockstep-Implementierung | Beschreiben Sie die Nios® V Prozessor Lockstep-Funktion, die die fRSmartComp-Technologie verwendet, um einen intelligenten Komparator im Register Transfer Level (RTL) zu implementieren. Altera nutzt die Dual-Core-Lock-Step-Sicherheitsarchitektur (DCLS), um den intelligenten Komparator zu implementieren. Dieser Ansatz ermöglicht die Integration der Technologie in den Nios® V/g-Prozessor, was die Entwicklung ausfallsicherer Anwendungen ermöglicht. |
AN 1011: TinyML-Anwendungen in Altera FPGAs mit LiteRT für Mikrocontroller | Diese Anwendungsbeschreibung ist ein grundlegender Leitfaden für die Entwicklung von LiteRT für Mikrocontroller-Software in einem Nios-V-Prozessorsystem. Das Beispiel demonstriert ein einstelliges Klassifizierungsproblem, das auf der MNIST-Datenbank (Modified National Institute of Standards and Technology) und dem LeNet-5 Convolutional Neural Network (CNN)-Modell basiert. |
5.2 Demonstrationsvideos
Videotitel |
Beschreibung |
---|---|
Überblick darüber, was Nios® V-Prozessor zu bieten hat. |
|
Nios®-V-Prozessor-Portfolio – Video | Erfahren Sie mehr über das Nios® V Prozessor-Portfolio, das in der Quartus® Prime Pro Edition Software Version 23.3 verfügbar ist |
Sehen Sie sich die Hello World Design-Anleitung an, die zeigt, wie Sie den richtigen Nios®-V-Prozessor für Ihre Anwendung auswählen. |
|
Hier erfahren Sie, wie Sie ein einfaches "Hallo Welt"-Beispieldesign in Platform Designer für den Nios® V/m Prozessor generieren und erstellen. |
|
Erfahren Sie, wie Sie die Open-Source-Tools für die Softwareentwicklung auf dem Nios® V/m Prozessor herunterladen und einrichten können. |
|
Erfahren Sie mehr über die Softwareentwicklung auf dem Nios® V/m Prozessor mithilfe des Open-Source-Ökosystems. |
|
Debuggen des Nios-V-Prozessors mit der Ashling RiscFree IDE für Altera FPGAs |
Erfahren Sie, wie Sie den Nios® V-Prozessor mit der Ashling RiscFree IDE für Altera FPGAs debuggen. |
5.3 Quicklinks
Ressourcenbeschreibung | |
---|---|
Nios®-V-Prozessor – Altera® FPGA | Holen Sie sich die neuesten Funktionen und Updates, um neue Möglichkeiten mit dem Nios® V Prozessor zu erkunden. |
Selbstbedienungs-Lizenz-Center | Sie können die Nios® V/m Prozessor IP-Lizenz kostenlos erhalten. Die Dokumentation zur Altera® FPGA Softwareinstallation und -lizenzierung finden Sie auf der Seite für FPGA Softwareinstallation und -lizenzierung. |
Supportressourcen für Altera® FPGA | Bietet technische Online-Ressourcen von Schulungen über Designbeispiele bis hin zu Foren, die Sie durch jeden Schritt des Designprozesses führen. |
FPGA Wissensdatenbank | Bietet eine Vielzahl von Supportlösungen, Referenzartikeln, Fehlermeldungen und Anleitungen zur Fehlerbehebung. Es ist auch vollständig durchsuchbar. |
Intel FPGA Community | Community-Website, die die Zusammenarbeit zwischen Altera- und FPGA-Benutzern ermöglicht. Verwenden Sie die Suchmaschine, um relevantes Material zu finden. Sie werden auch ermutigt, zu aktualisieren und einen Beitrag zu leisten. |
Intel Konto | Mit Ihrem Intel Konto können Sie eine Serviceanfrage stellen, um Hilfe zu bestimmten Themen zu erhalten. Sie können es auch verwenden, um sich für Schulungen anzumelden und auf andere Ressourcen zuzugreifen. |
Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.