1

現在、Quartus II v12.0 で NIOS II を使用しています。

Nios II は言語 C を使用するため、ファイルを開くことができますが、コマンド fopen("filename","re​​admode"); Niosのstdio.hにないため、使用できません。Niosでファイルを開くにはどうすればよいですか? 新しいライブラリを使用する必要がありますか? コードブロック stdio.h を Nios のものに変更する必要がありますか?

今のところありがとう。

4

2 に答える 2

1

Nios IIソフトウェア開発者ハンドブックを見て、それがNewlib Cライブラリを使用していることを確認しました。開発者マニュアルは、fopen()を参照しているので、あなたが間違っているとしか思えません。Newlibはオープンソースなので、自分で調べることができます。

それでも、Newlibライブラリはどのような場合でもファイルシステムを実装しません。stdioはファイルシステムではありません。むしろ、ストリームI/Oデバイスへの標準インターフェイスを提供します。ファイルシステム自体は通常、オペレーティングシステムまたはサードパーティのライブラリによって提供されます。

ファイルシステムがある場合でも、この場合はNewlib syscallsスタブを介して、ファイルシステムとstdioの間に低レベルのインターフェイスを提供する必要があります。

NiosIIはプロセッサアーキテクチャのみを定義します。ファイルシステムハードウェアは完全に独自のものであるため、どのような場合でもすぐに機能するファイルシステムサポートを利用することはできません。ハードウェアに適合させる必要があります。

どのような種類のデバイスでファイルシステムを作成する予定ですか?EFSLELMFatFなどのサードパーティライブラリを使用する場合があります。それらをスタンドアロンで使用することも、適切なシステムコールを実装することでstdioに統合することもできます。

于 2012-09-04T21:43:53.477 に答える