UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 17362

3.2 EDK - UART ドライバ レベルを設定すると、「error:mdt - No stdin interface available for driver for peripheral my_uart」というエラー メッセージが表示される

説明

キーワード : EDK, 3.2, error, mdt, stdin, interface, level, available, driver, peripheral, uart, エラー, インターフェイス, レベル, ドライバ, ペリフェラル

重要度 : 標準

概要 :
EDK 3.2 を使用し、基本的なプロセッシング サブシステムを作成しています。 UART ドライバ レベルを 1 に設定しようとすると、次のようなエラー メッセージが表示されます。

"error:mdt - No stdin interface available for driver for peripheral my_uart."

ドライバ レベルを 0 には設定でき、問題なく動作しますが、どうすれば 1 に設定できますか。

ソリューション

このドライバ レベルの設定は、UART 用にユーザーが呼び出すファンクションのタイプによって異なります。 このレベルはユーザーが設定するものなので、コンパイルするドライバのファンクションまたはレベルは必ず把握しておいてください。

UARTlite ドライバ レベルは 1 か 0 のどちらかにしか設定できません。 つまり、printf、scanf、xilprintf などのような stdio.h というファンクションがあったとすると、UART を レベル 0 に設定しないと、コンパイル用の正しい xuartlite_l.h ファイルが作成されません。 UART を stdin/stdout として使用することはできませんし、レベル 1 を使用することもできません。 レベルは必ずどちらかに設定する必要があります。

UART を stdin/stdout として使用する場合は、レベルは 0 に設定する必要があります。ハイ レベル (レベル 1) のファンクションを使用する場合は、UART のレベルは 1 にする必要があります。UART のドライバ レベルを 1 に設定する場合、stdin/stdout は使用できません。

まとめ :

UART にレベル 1 のドライバを使用する場合は、レベル 1 を選択します。
0 のドライバを使用する場合は、レベル 0 を選択します。
STDIN/STDOUT 設定には、レベル 0 のドライバが使用されます。 printf、scanf、xil_printf、その他 stdio.h ファンクションを使用する場合、ドライバ レベルは 0 に設定し、stdio.h からデータを送受信するために inbyte および outbyte ファンクションを呼び出す必要があります。 レベル 1 のドライバは、ハイ レベルのファンクション呼び出しからレジスタにアクセスするために使用します。 ユーザーは、UART と使用するファンクションを把握してから、それに合わせて レベル 0 または 1 ドライバを選択する必要があります。

コードが書かれてからハードウェアが構築される LibGen で作成される 2 つのメイン ファイルにより、xuartlite_l.h または xuartlite.h ファイルが作成されます。xuartlite_l.h はレベル 0 の、xuartlite.h はレベル 1 のドライバ ヘッダ ファイルです。
AR# 17362
日付 04/06/2007
ステータス アーカイブ
種類 一般
このページをブックマークに追加