インライン アセンブリでグローバル変数を使用したい。
asm(" LDR R0,g_TsInitStackPointerAddress");
ここで、g_TsInitStackPointerAddress はグローバル変数です。コンパイル中にエラーが表示されません。
しかし、リンク中に次のエラーが表示されます
[elxr] (エラー) 範囲外: 0x1001326 (符号なし) は、アドレス 0x10013e0 で InitStack+0x20 (drv.o(.text)+0x1a4) から g_TsInitStackPointerAddress への再配置タイプ R_ARM_POOL (4) を実行中に 12 ビットに収まりませんでした+0x0 ((コモン)+0xb6)
ここで、私の関数名は InitStack で、ファイル名は drv です。エラーを理解できません。
使用プロセッサ : Cortex R4
コンパイラ : Greenhills