[H8-ML(4487)] Re: H8でnetwork から時刻を取ったり、メールを送ったり。
From: Toshio Inagaki <de7k2sbh@xxxxxxxxxxxxx>
Date: 2004年02月21日(土)19時45分23秒
hamayan <hamayan@xxxxxxxxxxxxxxxx> wrote:

いつの間にか更に進化をしていたのですね(^^;
それで最新版を落として戯れてみました。

そこでいくつか・・・
以前からありましたDHCPでアドレスが取得できない場合がある。
ですが、やはり条件により取得できませんでした(T_T)

1)蟹チップのH/WリセットをCPUので制御。
→色々とあって成功したのが不明(後述)

2)蟹チップのH/WリセットをCPUのリセットから引っ張ってみた(反転させてま
す)。
→よくわからん(後述)

3)RTL8019の初期化ルーチンを変更。
→これが当たりだったみたい。
起動時のdly_tsk(3000)をコメントアウトしてもDHCPで取得できました。
※処理の出所はlinuxの8390.cやne2.cやX68000のethernetボードやPICNICの
ソース等だったりします。

akinertl.c変更箇所
	/*ソフトウエアRESET*/
/*	eth->page3.write.cr = PAGE0 | FORCEREMOTEstop | RTLstop;*/	
/*こっちが先?*/
	c = eth->page0.read.resetPort[ 0 ];
	eth->page0.write.resetPort[ 0 ] = c;		/*reset portの読
み戻しでRTLをリセット*/

	ltim = get_time();
	for(; ;){
		if(eth->page0.read.isr & 0x80) break;
		if(lap_time(ltim) > 500) return -1;	/*500ms反応がな
ければエラー*/
	}

	/*PAGE0に設定*/
	eth->page3.write.cr = PAGE0 | FORCEREMOTEstop | RTLstop;


akinertl.cへ追加
static UH get_time()
{
	SYSTIM	tim;

	get_tim(&tim);
	return(tim.ltime);
}

static UH lap_time(UH laptime)
{
	SYSTIM	tim;

	get_tim(&tim);
	return(tim.ltime - laptime);
}

後述の件:
よくよく考えてたらDEBUG_MODEをOFFにしていたためDHCPの取得経過が出てませ
んでした。それでダメだと判断してしまった結果それでも良かったのかが不明
になってしまった。
まぁ、結果DHCPの取得が出来たんだから良しとするか(^^;(大汗)

それ以外の機能は・・・使い方がまだわかってません(T_T)


----------------------------------------------
Toshio Inagaki(稲垣 敏夫)
e-mail : de7k2sbh@xxxxxxxxxxxxx
URL : http://park10.wakwak.com/~de7k2sbh/
スレッド概略
[4479(R)](起点)
 └[表示中]


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


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