ソフトウェアがフラッシュから正しく実行されない場合、printf などの I/O ルーチンでセミホスティングのサポートが有効になっているコードがコンパイルされていないかどうかを確認します。
セミホスティングは、コンパイル時にリンクされた特定のライブラリーを介して printf などの I/O コマンドをデバッガーにルーティングします。
SoCEDS/ examples/software 内のソフトウェア例は、デフォルトでセミホスティングを使用するように構成されています。
SoCEDS バージョン 15.1 以降のAltera-SoCFPGA-HardwareLib-FPGA-CV-GNU には、Makefile の上部に#Defineが含まれているため、セミホストの分離または有効化が可能になります。 Semihosting が無効になっている場合、この例ではドライバーに追加して、UART 経由で printf 出力をルーティングします。
C ライブラリーのセミホスティング機能を無効にするには、以下のコードを C モジュールまたは卉卉モジュールで使用してください。
#pragmaインポート (__use_no_semihosting_swi) //C モジュール
IMPORT __use_no_semihosting_swi //スタブル・モジュール