Nios SDK には printf ルーチンの独自の実装があり、浮動小数点タイプのサポートは含まれません。標準 GNU printf で利用可能な浮動小数点サポートは、ほとんどのエンベデッド・アプリケーションが浮動小数点数を使用しないために削除されました。浮動小数点タイプの処理に伴うオーバーヘッドが増加します。標準的な printf ルーチンを使用すると、S レコードファイル(.srec)のサイズ (通常 64 K バイト) が増加します。
浮動小数点サポートが必要な場合は、以下の手順を実行して、Nios SDK printfではなく標準 GNU printfを使用できます。
Nios 2.0
printfの浮動小数点サポートが必要なNios CPU ごとに、以下の手順に従ってください。
- Nios CPU MegaWizard® プラグイン・マンガー を開きます (SOPC Builder で CPU をダブルクリックします)。
- [Advanced Configuration Controls を有効にする]がオンになっていることを確認します。
- ソフトウェア構成タブを選択します。
- [small printf を使用]のチェックマークを外します。
浮動小数点サポートはソフトウェアに実装されているため、Niosエンベデッド・プロセッサー用の HDL を再生成する必要はありません。変更が唯一の変更である限り、以前にシステムを生成したことがある場合は、SOPC Builder の [システム 生成 ] タブで [HDL] ボックスのチェックマークを外してください。
SOPC Builder は常に各 CPU 用の SDK フォルダを生成します。SDK フォルダーで C コードをコンパイルする場合、該当するバージョンの printf ルーチン (浮動小数点または非浮動小数点) は、その特定の CPU に対して SOPC Builder の [small printf を使用する] 設定に従ってリンクされます。
Nios 1X
- 次で makefile を編集します。 株式 会社 または Lib ディレクトリ。
- Nios 32 デザインを使用する場合、/NR_Printf.o \ ラインは省略してください。
- Nios 16 デザインを使用する場合は、/NR_Printf.o \ ラインを省略してください。
- incディレクトリーで make -s all を実行してライブラリーをリメークします。
- printfを使用するコードを再構築します。