記事 ID: 000080568 コンテンツタイプ: トラブルシューティング 最終改訂日: 2021/08/27

DHCP サーバーが見つからない、またはタイムアウトした場合に、NicheStack のデフォルト IP アドレスが正しく割り当てられるのはなぜですか?

環境

BUILT IN - ARTICLE INTRO SECOND COMPONENT
詳細

Nios®II ツール (バージョン 8.0) で変更されたデフォルト IP アドレスの割り当てに使用されるマクロの再定義により、デフォルトの IP アドレスが正しく割り当てられなくなることがあります。   このバグは、 デザイン例のシンプルなソケットサーバーウェブサーバーに影響を与えます。   Nios II ツールのインストールでこの問題を解決するには、次の手順を実行して、これらのプロジェクトのテンプレートファイルを変更する必要があります。

 

1) お使いのNios IIのインストールを見つけます。バージョン 8.0: Nios IIのインストールをインストールした場所を確認します。   ルート・ディレクトリーのデフォルトのパスは、通常 Windows* ワークステーションの C:\altera\80\nios2eds です。

2) サブフォルダー・ ソフトウェアを見つける:   上記のディレクトリーで examples\software ディレクトリーにアクセスします。   このディレクトリーには、すべてのNios II・ソフトウェア・テンプレートが含まれています。

3) web_server プロジェクトのファイル network_utilities.cを変更する:   web_server・ディレクトリーを見つけ、テキスト・エディターでnetwork_utilities.cファイルを開きます。   IP4_ADDRマクロを見つけ、"htonl" 関数の後から、関数呼び出しの最後で終わる、追加の"1 セットの"lomsys "(")"を含む修正します。 

 

この関数の元のバージョンは次のようになります。

 

#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))

 

修正が適用されると、この機能は次のようになります。

 

#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)))

 

完了したら、ファイルを保存して閉じます。

 

4) simple_socket_serverプロジェクトのnetwork_utilities.cファイルを変更する: 上記の手順を繰り返します。

 

これらの手順を実行した後で、次に web_server または simple_socket_server プロジェクトのいずれかを再生成する際に、この修正プログラムが含まれていると正しく実行されます。

 

(注: すでにテンプレートからソフトウェア・プロジェクトを生成している場合は、プロジェクトのアプリケーション・フォルダーにある network_utilities.cのローカル・コピーを変更するだけで済みます。   手順 3 (上記) の手順に従って、アプリケーションを再構築します。)

関連製品

本記事の適用対象: 1 製品

インテル® プログラマブル・デバイス

このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。