LPCXpresso-LPC1769 組込みプログラミング [標準ライブラリ編2]

■semihosting機能の注意事項

 printf/scanf等の標準ライブラリをARMコア上で利用する時、デバッガのsemihosting機能を利用するが、その時の注意事項を記す。

スタンドアロン性の欠如
 当然ながら、ホストPCを接続した状態でないと正しく動作しない。(仮に、ホストPCの接続を断ってしまうと、printf関数を利用している予期せぬ挙動を示すのだろうか?)

②リアルタイム性の欠如
割込みルーチンが意図したタイミングで実行されない。これはsemihosting機能を利用してホストPCとターゲットMCUが通信している時には、MCUが"Debug state"に入ってしまうため。

■参考URL
詳細は下記のページを参考して頂きたい。ページの末尾に上記の内容が記載されている。

Using printf in your applications (Semihosting)
http://support.code-red-tech.com/CodeRedWiki/UsingPrintf