Artikel-ID: 000086173 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 15.03.2019

Warum ist Nios II® Prozessor nicht in der Lage, Daten in den Speicher zu schreiben, wobei der Daten-Cache aktiviert ist?

Umgebung

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

    Bei Verwendung des Nios II® Gen2-Kerns wird die Peripheriezone eingeführt, wo es eine 32-Bit-Adressoption gibt. Mit Nios II® Gen2 wird der Cache bei nicht gecacheden Schreibzugriffen, bei denen Bit 31 eingestellt ist, oder im peripheren Speicherbereich umgangen.

    Nicht gecachede Daten und zwischengespeicherte Daten können nicht mehr auf der gleichen Zeile im Daten-Cache zugewiesen werden, da Nios II® Gen2-Kern den Cache nicht in einer nicht gecacheden Zeile aktualisiert. Dies ist das Verhalten bei Nios II® Classic. NIOS II® Gen2 aktualisiert den Cache jedoch nicht mehr für nicht gespeicherte Schreibvorgänge.

    Lösung

    Wenn Sie bestehenden Nios II-Code® haben und eine Nios II/f® Gen2 mit einem Daten-Cache verwenden, müssen Sie Ihre Software überprüfen, um sicherzustellen, dass sie nicht cachefähige und nicht cachefähige Daten in der gleichen Cache-Zeile kombiniert.

    Sobald Sie mit dem Schreiben Ihrer Daten fertig sind, sollten Sie sicherstellen, dass Sie den Cache leeren, indem Sie function alt_dcache_flush(void* start, alt_u32 len) verwenden. Mit dieser Funktion wird der Daten-Cache für einen Speicherbereich von len Byte geleert, beginnend mit dem Adressstart. Das Leeren des Cache besteht darin, Daten zurück zu schreiben und dann den Cache ungültig zu machen.

    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.