Artikel-ID: 000082608 Inhaltstyp: Produktinformationen und Dokumente Letzte Überprüfung: 02.07.2014

Wie baue ich ein Altera DS-5-Projekt ohne Semi-Hosting auf?

Umgebung

  • Quartus® II Subscription Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Beschreibung

    Aufgrund eines Problems in Altera SOS EDS Version 13.0 und 13.1 fehlt der Assembler-Code, der zum Erstellen einer nicht halb gehosteten Anwendung erforderlich ist.

    Lösung

    Um dieses Problem zu umgehen, führen Sie die folgenden Schritte aus, um die erforderliche Assembler-Datei herunterzuladen und dann Ihr Linker-Skript zu aktualisieren, um Semi-Hosting zu deaktivieren.

    Ein Beispiel-Makefile- und Linker-Skript basierend auf dem Altera-SoCFPGA-HardwareLib-GNU.gz-Beispiel von SOC EDS 13.0Sp1 kann über den folgenden Link heruntergeladen werden: ExampleFiles_nonSemiHosted.zip (altera-socfpga.medina, Makefile, reset.s)

    Schritte zur Aktivierung nicht-halb gehosteter Anwendungen unter Verwendung Altera Beispiels als Vorlage

    1. Download reset.o:ExampleFiles_nonSemiHosted.zip
    2. Kopieren/sichern Sie Ihr bestehendes Altera-Linker-Skript altera-socfpga-hosted.fpg.
    3. Kompilierungs-Flag ändern
      Bevor: -lcs3hosted
      Nach: -lcs3unhosted:  GROUP(-lgcc -lc -lcs3 -lcs3unhosted -lcs3arm)
    4. Kommentieren oder entfernen Sie die folgenden Codeabschnitte:
      /* Enable arm semihosting */
      EXTERN(__auto_semihosting) /* force exit to be picked up in a hosted or os environment */
      EXTERN (exit atexit)

    5. Aktualisieren Sie Makefile, um reset.o zu kompilieren, und zeigen Sie auf das aktualisierte Linker-Skript aus Schritten 2-4
      #Assembler Flags
      AFLAGS := -g -O0 -mfloat-abi=soft -march=armv7-a -mtune=cortex-a9 -mcpu=cortex-a9 -x assembler
      #Assembler source files
      A_SRC := reset.s
      #Original Linker script
      #LINKER_SCRIPT := altera-socfpga_hosted.ld
      #Link to updated linker script for non-semihosted
      LINKER_SCRIPT := altera-socfpga.ld
      #Clause to compile reset.o
      reset.o:
        -c reset.s -o reset.o
      #Updated linker line to add dependency for reset.o
      : reset.o
        -T reset.o -o
        -d > .objdump
        > .map

    Hinweis: Bei der Bearbeitung von Makefiles stellen Sie sicher, dass die richtigen Registerkarten- und Platzregeln befolgt werden
     

    Dieses Problem wurde ab Der SOC EDS Version 14.0 behoben

    Zugehörige Produkte

    Dieser Artikel bezieht sich auf 5 Produkte

    Cyclone® V SE SoC FPGA
    Arria® V ST SoC FPGA
    Arria® V SX SoC FPGA
    Cyclone® V ST SoC FPGA
    Cyclone® V SX 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.