Artikel-ID: 000079417 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 17.12.2013

Warum tritt der Fehler "alle Änderungen werden eingestellt, um zu passen: R_NIOS2_CALL26" auf, wenn Nios II Code an einem separaten Speicher platziert wird?

Umgebung

  • Intel® Nios® II Prozessor
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Beschreibung

    Dieser Fehler tritt auf, wenn sich Funktionen außerhalb des Hauptspeichers an einem Speicherspeicherbereich von mehr als 256 MB befinden, da der Nios II Compiler die Aufrufanweisung verwendet, die auf die Begrenzung auf 256 MB beschränkt ist.

     

    Lösung

    Es gibt zwei Problemumgehungen:

    1) In ACDS Version 13.1 wird die Option -relax-all implementiert, um die Callr-Anweisung anstelle von Call Instruction zu verwenden. Fügen Sie in Software Build Tools für Eclipse die Option -Wa,-relax-all in den Anwendungs- oder BSP-Eigenschaften als Benutzerflaggen hinzu.

    Diese Problemumgehung kann sich auf die Softwareleistung auswirken, da die Callr-Anweisung im Vergleich zur Aufrufanweisung mehr Assembly-Anweisungen verwendet.

    2) Die Aufrufanweisung berechnet nicht die MSB 4 Bits der Adresse, daher die 256 MB Begrenzung. Suchen Sie die Speicher so, dass die MSB-4-Bits der Speicher-Basisadressen gleich sind, um sicherzustellen, dass sich die Funktionen innerhalb der 256-MB-Grenzen befinden.

    Zb. SDRAM: 0x10000000, Onchip-Speicher: 0x12000000

    oder SDRAM: 0x08000000, Onchip-Speicher: 0x02000000

    Zugehörige Produkte

    Dieser Artikel bezieht sich auf 1 Produkte

    Intel® programmierbare Geräte

    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.