Artikel-ID: 000086916 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 11.08.2016

Warum wird mein Programm in DS-5 korrekt ausgeführt, schlägt aber fehl, wenn es aus dem Flash geladen wird?

Umgebung

  • Intel® Quartus® Prime Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Beschreibung

    Wenn Ihre Software vom Flash-Speicher aus nicht korrekt ausgeführt wird, überprüfen Sie, ob der Code nicht kompiliert wurde, wenn die Semihosting-Unterstützung für I/O-Routinen wie printf aktiviert ist.

    Semihosting leitet I/O-Befehle wie printf über spezifische Bibliotheken, die zur Kompilierungszeit verknüpft sind, an den Debugger weiter.

    Die Softwarebeispiele in SoCEDS/Beispielen/Software sind standardmäßig so konfiguriert, dass Semihosting verwendet wird.

    Lösung

    Die Altera-SoCFPGA-HardwareLib-FPGA-CV-GNU innerhalb von SoCEDS Version 15.1 und neuer enthält eine #Define oben im Makefile, damit das Semihosting ungeniert oder aktiviert werden kann.   Wenn Semihosting deaktiviert ist, fügt dieses Beispiel einen Treiber hinzu, um die printf-Ausgabe über die UART zu leiten.

    Sie können auch C Library Semihosting-Funktionen manully deaktivieren, indem Sie den unten stehenden Code in Ihren C- oder Assembler-Modulen verwenden:

    #pragma Import (__use_no_semihosting_swi) –20055 .C-Modul

    IMPORT __use_no_semihosting_swi -Assembler-Modul

    Zugehörige Produkte

    Dieser Artikel bezieht sich auf 6 Produkte

    Cyclone® V SX SoC-FPGA
    Cyclone® V ST SoC-FPGA
    Cyclone® V SE SoC-FPGA
    Arria® V SX SoC-FPGA
    Arria® V ST SoC-FPGA
    Intel® Arria® 10 GT SoC-FPGA

    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.