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

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

Note

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

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

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

Show/hide関連項目

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0446IJ
Non-ConfidentialID051512