デバッガでの自動セミホスティングサポートの有効化

デフォルトでは、セミホスティングサポートはデバッガで有効になっていません。ただし、別関数に対するエイリアスを持つ C コードで、特殊なミホスティング関数である __auto_semihosting(void) を作成できます。これにより、デバッグ情報に必須シンボルが配置されますが、メインのアプリケーションイメージに必須シンボルは配置されません。デバッガがそのシンボルを検出すると、ターゲットでサポートされていれば、セミホスティング操作が自動的に有効化されます。

Note

ARM コンパイラ 5.0 以降を使用してアプリケーションイメージを作成する場合は、特殊なセミホスティング関数を作成する必要はありません。必要応じて、リンカによってセミホスティングシンボルが自動的に追加されます。

Example 8. 別の関数へのエイリアスを使用した特殊なセミホスティング関数の作成

#include <stdio.h>
void __auto_semihosting(void) __attribute__ ((alias("main"))); 
                                       //main() のエイリアスとしてマークして宣言
                                       //デバッグ情報のみのセミホスティングシンボル
int main(void)
{
    printf("Hello world\n");
    return 0;
}

Show/hide関連項目

Copyright © 2010, 2011 ARM. All rights reserved.ARM DUI 0446FJ
Non-ConfidentialID111611