Artikel-ID: 000080568 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 11.09.2012

Warum wird die Standard-IP-Adresse von NicheStack fälschlicherweise zugewiesen, wenn der DHCP-Server nicht gefunden werden kann oder es mal ausgeht?

Umgebung

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Beschreibung

Eine Neudefinition des Makros, das zur Zuweisung der Standard-IP-Adresse verwendet wird, wurde in den Nios® II Tools, Version 8.0, geändert, was dazu führt, dass die Standard-IP-Adresse nicht korrekt zugewiesen wird.  Dieser Fehler betrifft das Beispiel designs simple socket server und den Webserver.  Um dieses Problem bei der Installation der Nios II Tools zu beheben, müssen Sie die Vorlagedateien für diese Projekte ändern, indem Sie die folgenden Schritte ausführen:

 

1) Suchen Sie Ihre Nios II-Installation, Version 8.0: Finden Sie den Speicherort, an dem Sie die Nios II Installation installiert haben.  Der Standardpfad für das Stammverzeichnis ist in der Regel C:\altera\80\nios2eds auf einer Windows-Workstation.

2) Suchen Sie die Unterverzeichnissoftware:  Gehen Sie im oben genannten Verzeichnis in das Verzeichnis beispiele\software .  Dieses Verzeichnis enthält alle Nios II Software-Vorlagen.

3) Ändern Sie die Datei network_utilities.c für das web_server Projekt:  Suchen Sie das verzeichnis web_server , und öffnen Sie die Datei network_utilities.c in einem Texteditor.  Suchen Sie nach dem IP4_ADDR-Makro und ändern Sie es, um eine zusätzliche Klammer "(" und ") aufzunehmen, die nach der "htonl"-Funktion beginnt und am Ende des Funktionsanrufs endet. 

 

Die orginale Version der Funktion sieht folgendermaßen aus:

 

#define IP4_ADDR(ipaddr, a,b,c,d) ipaddr = \

    htonl((alt_u32)(a & 0xff) << 24) | ((alt_u32)(b & 0xff) << 16) | \

          ((alt_u32)(c & 0xff) << 8) | (alt_u32) (d & 0xff))

 

Sobald die Lösung angewendet wurde, sollte die Funktion wie folgt aussehen:

 

#define IP4_ADDR(ipaddr, a,b,c,d) ipaddr = \

    htonl((alt_u32)(a & 0xff) << 24) | ((alt_u32)(b & 0xff) << 16) | \

          ((alt_u32)(c & 0xff) << 8) | (alt_u32) (d & 0xff)) )

 

Speichern und schließen Sie die Datei, sobald Sie dies getan haben.

 

4) Ändern Sie die Datei network_utilities.c für das simple_socket_server Projekt: Wiederholen Sie die oben aufgeführten Schritte.

 

Nachdem Sie diese Schritte durchgeführt haben, müssen Sie das nächste Mal, wenn Sie entweder die web_server oder simple_socket_server Projekte erneut generieren , diese Lösung enthalten und korrekt ausgeführt werden.

 

(Hinweis: Wenn Sie Ihr Softwareprojekt bereits aus einer Vorlage generiert haben, können Sie einfach die lokale Kopie von network_utilities.c ändern, die sich im Anwendungsverzeichnis Ihres Projekts befindet.  Befolgen Sie die Anweisungen in Schritt 3 (oben) und erstellen Sie dann Ihre Anwendung neu.)

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.