[H8-ML(420)] Re2: リンカーのエラー??
From: "amalthea" <amalthea@xxxxxxxxxxxxxxxxx>
Date: 1999年10月24日(日)13時30分37秒
こにゃにゃちわぁ〜〜〜〜〜アマルテアこと 小野@千葉です。

> > おこんばんわぁ〜〜〜〜〜アマルテアこと 小野@千葉です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
中略
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
> > 、エラーの内容を知りたくて、マニュアル類を探したんですが
> > どこにもエラー類の解説が見当たらなくて、困ってしまいました。
> 
> 日立製であろうと秋月製であろうと、リンカーはアドレスを
> 明示的に指定しない限り、リンク時にアドレスを重複して割り
> 付ける事は有りません。例えば、リンク時のバッチファイル
> (*.sub File)の中に、
> 
> START   
> P,C,D,ROM(100),EXRAM(05000),CR,DR,B,RAM(0FEF10),USER(0FF200),SCI(0FFF
> FB8)
> 
> の様に記述すると、プログラム(秋月のCコンパイラでは、コ
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
中略
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
> 、EXRAM領域と重なって
> ** 117 ADDRESS SPACE DUPLICATE
> が出る可能性があります。

L38H.EXE -SUBCOMMAND=GPS.SUB

GPS.SUB のアドレス指定の部分は

START P(200),C(2500),B(0FEF10)

と秋月サンプルそのままやってます。


> そこで、アマルテアこと小野@千葉さんの場合は、私の予想
> では、例外処理のベクター領域(0番地から順次)とP領域の
> 重複辺りが一番可能性があると思います。
> 明示的にアドレスを宣言しなければ、この部分は動作しませ
> んのでよく起きるパターンと思われます。

ふむふむ。

> 他に、初めてリンクを実行したのでなければ、どの時点で出
> るようになったのかを分析し、その時点で追加した部分を分
> 析する事が重要です。

いちおう、それは確認してチェック用の関数部分だったりした
ので、削除したり作りなおしたりして対処しているのですが、
なんか特に何もやってなくて、

for( loop =  0 ; loop <20 ; loop++ ) WriteChar( RxWork0[ loop ] ) ;

と、ただSCI0で受信した内容を表示しているだけの関数
なので、なぜ??って不思議が一杯状態なんです。
こうなったのが四回目だったので、今後の対策の為にちょっと
原因が知りたくなったんです。


> 追加部分できっとプログラムやデータ領域が増えた事に起因
> している可能性があります。
> 更に、リンカー用バッチファイル(*.sub)で、上記の様な
> START指定部分で、下記の様に
> START   P,C,D,ROM,EXRAM,CR,DR,B,RAM,USER,SCI(100)
> 番地指定を一個にして、リンクします。もちろんこれでは、H
> 8ボードにローディングしても動きませんが、何処が悪いかを
> 調査する方法としては使えます。
> ** 117 ADDRESS SPACE DUPLICATE
> がでなくなれば、順次アドレス指定を復活して確かめていけ
> ば、たどりつくでしょう。
> リンカーが生成するMAPファイルの中で、アドレスの割付状況
> を見る事が出来ます。
> 良く調査すると悪い部分が読めるでしょう。リンクモジュー
> ルが多いと大変です
> が、一度挑戦してみては?

参考にさせていただきます、ありがとうございました。


ではでは。

/*---------------------------------------------------
mailto:amalthea@xxxxxxxxxxxxxxxxx
http://www2r.biglobe.ne.jp/~amalthea/
PC-VAN  UserID:UHG2602

        アマルテア(小野 和男)で〜した。

PC-VAN X1CLUB は、X1やX680x0のSIGです。
---------------------------------------------------*/

スレッド概略
[415(R)](起点)
 └[418(U)]
   └[表示中]
     └[422(1)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]