[Up]

村瀬の作業記録〜2000年10月〜

いろいろ記録しておこう。


< 前の記録 | 次の記録 > | 最近5日間 >>

2000年10月16日(月)

OpenBlockS

久しぶりに動かしてみる。なんと、よく見ればシリアルポートは SCC ではないか。

[root]# ps
  PID TTY          TIME CMD
   83 ttyS1    00:00:00 bash
   86 ttyS1    00:00:00 ps
[root]# cd /proc
[/proc]# cat kmsg
<4>
<4>SYPCR 0xffffff07
(snip)
<6>CPM UART driver version 0.02
<6>ttyS00 at 0x0280 is a SMC
<6>ttyS01 at 0x0000 is a SCC
<4>Installing DSR handler
<4>Installing CD handler
<4>Installing CTS handler
と言う訳で、ttyS01 は SCC であり、そのアドレス オフセットは 0x0000 、つまり SCC1であることがわかる。


2000年10月17日(火)

OpenBlockS

tcpdwl.c を読む。どうやら ELF ファイルをそのまま送信して いる様だ。それで、ファイルの オフセット 0x100 になにやら 書き込んでいる。これはよく見ると PowerPC の機械語ではないか!!!

3c 00 00 21	lis	r0,0x00210000@h
60 00 00 00	nop
7c 08 03 a6	mtlr	r0
4e 80 00 20	blr
FlashROM は 4[MByte](0x00400000) だから、実体は 0xfff00000 ぐらいにあるはず。 で、隠されている BootROM が kernel を RAM にコピーしてから、 この 0x100 に飛んでくる。と言う事。 だから イメージは 0x00210000をベースに作ればよい。0番地にジャンプではなく、 0x00200100 にジャンプということ。


2000年10月23日(月)

OpenBlockS

うまくいかないので、もう一度基盤を良く見てみる。発信器を確認。

20.000[MHz]	10Base-T 用
25.000[MHz]	100Base-TX 用
7.3728[MHz]	シリアル用???
4.096[MHz]	これが EXTCLK なのだ。
4.096[MHz] x 12 倍 で 49.152[MHz] のはず。


2000年10月24日(火)

OpenBlockS

やっと動き出す。ストッパーをかましつつ歩腹前進。

SCCR[RTSEL] は '1' である。
SCCR[RTDIV] は '1' である。
PLPRCR[MF] は 11 である。Boot が設定したようだ。
よって MODCK[1:2] = "11" である。また SCCR = 0x01800000 である。


2000年10月25日(水)

OpenBlockS

コンソール SCC1 が動いた。結局ボーレートとメモリの割り付け 問題が大きかった。レジスタダンプに成功。これで勝ったような ものだ。
CS5, CS6, CS7 は毎回値がブートのたびに変化するので未使用か。


2000年10月26日(木)

OpenBlockS

ダンプするレジスタを増やしていこう、と思ったがやめる。 自製ブートコードを動かすことにする。

とりあえず完了。これで全アドレス対してダンプと書き換えが可能になった。

では、kernelの構築にかかることにする。


2000年10月30日(月)

OpenBlockS

やっぱり mbxboot を強引に動かすことにする。かなり大幅に書き換え。 make zImage とりあえずシリアルコンソールを生かした状態で、kernel の ブートに成功。 ログはこれ。先はまだ長い。

katsunori.murase@nifty.ne.jp