2017-02-16 9 views
0

TIのARMでgcc 4.8.4を使用しています。 printf()とfgets()を私のUARTドライバに送りたいと思っています。私はファイルIOドライバをインストールするための機能的なインターフェイスを探しています。しかし、GCCのドキュメントでは、「FILE型の独自のオブジェクトを作成しようとしないで、ライブラリでそれをやりましょう」と言います。これを変更するためにglibcを再構築する必要があるとは思いませんか?誰も私自身のFILE構造を作成する例を知っていますか?実行時にgccを使用してprintfのIOドライバを置き換えることはできますか?

私は、FILE(reent.hの__sFILE)に使用される定義を見ることができます。 1つを作成して使用するだけで危険だと思われます。だけど、たぶん?

答えて

0

printf()とfgets()を私のUARTドライバにルーティングします。

あなたはおそらく

freopen("/dev/uart", "r", stdin); 
freopen("/dev/uart", "w", stdout); 

Documentationを探しています。

+0

あまりありません。私は/ dev/uartを作成する方法が不思議です。これはLinuxではありませんが、glibcです。 –

+0

'/ dev/uart'はあなたのUARTカーネルドライバが作成するもので、' freopen'は 'stdout'をそれに関連付けます。あなたの質問が* kernel *の部分に関するものであれば、あなたは完全に間違った質問をしました。 –

+0

これは役に立ちます。あなたが間違った質問をしたときに良い答えを得ることは、しばしば困難です。 :-)それはLinuxカーネルではないので、私はTIのことを掘り下げなければならないでしょう。 –

関連する問題