こんにちは。柳平です。
先日、質問しました外部変数定義の不具合と思われた件ですが、
皆様のアドバイスをもとに私は以下のようにして解決しました。
(1) まずスタートアップルーチンで、外部変数のexport宣言およびセク
ション
割付で変数用メモリ領域の確保。
(例)
.export unsigned int a
・
・
.section D,DATA,LOCATE=H'FEF10
_a: res.w 1
・
.end
(2)c言語上で外部変数aのextern宣言
extern unsigned int a;
void main(void)
{
a=xxx;
}
(3)リンク時に、以下のオプション指定。
-START=P(200)
これは、スタートアップルーチンのプログラム容量を考慮して(100番地以下に
収まるだろうと
見込んで)200番地からの書き込みとしました。
これで何とか動作するようになりました。
皆様のアドバイス、どうもありがとうございました。