ホスト側 (PC ホスト) が接続されている場合、問題はありません。ただし、ホスト側の接続が解除されている場合、printf() がブロックされる理由は 2 つあります。
1. ユーザーが縮小 (「小型」) デバイスドライバーを使用している。- Nios II IDE の [システム ライブラリのプロパティ] ページで [デバイス ドライバーの削減] のチェックボックスがオンになっています。- 削減されたデバイスドライバーは、ホスト側が常に接続されていることを前提としています。
2. ユーザーは JTAG UART のデフォルトのデバイスドライバーを使用していますが、「システムタイマー」は定義されません (SOPC Builder システム/システムライブラリーのプロパティーページ)。 デフォルトのデバイスドライバーは「デバイス/ jtag_uartタイムアウト」をサポートしていますが、これを実装するには「システムタイマー」が必要です。
解像度: (必要な場合) デフォルトのデバイスドライバーに変更し、SOPC Builder システムにシステムタイマーがあり、システムライブラリーで定義されていることを確認します。