Artikel-ID: 000073938 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 26.06.2019

Warum kann ich beim Aktivieren mehrerer I2C-Controller im I2C-Treiber U-Boot-Hängen sehen?

Umgebung

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

    Wenn Sie in SOCEDS 16.1 (U-Boot v2013.01.01) die I2C-Multibus-Konfiguration innerhalb des I2C-Treibers aktivieren, wie unten gezeigt:

    #define CONFIG_I2C_MULTI_BUS 1

     

    U-Boot hängt und stoppt den Druck von Nachrichten in der Konsole, wie unten gezeigt:

    U-Boot 2013.01.01-svn7578 (1. Februar 2019 - 14:17:54)

    CPU: Altera SOCFPGA-Plattform

    MAINBOARD: Altera SOCFPGA Cyclone V Mainboard

    I2C:

     

    Wenn CONFIG_I2C_MULTI_BUS Konfiguration aktiviert ist, wird die bus_initialized statische Variable im I2C-Treiber (designware_i2c.c) verwendet, bevor der BSS-Abschnitt initialisiert wird.
    Dies führt zu einem unerwarteten Schreibvorgang und führt zum Aufhängen des Systems.

    Lösung

    Der I2C-Treiber (designware_i2c.c) wurde im U-Boot v2015.01 aktualisiert, wodurch die Verwendung der statischen Variable und CONFIG_I2C_MULTI_BUS entfernt wird.

    Für die Unterstützung mehrerer I2C-Controller im U-Boot verwenden Sie bitte U-Boot v2015.01 oder höher.

    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.