パスワードを忘れた? アカウント作成
663238 journal

cyber205の日記: ipl+gの日本語解説めっけ。

日記 by cyber205

よく調べたら、ipl+gやsh-liloや、sh-linuxに関しては
既にここ>(http://linuxsh.sourceforge.net/index.php3)のDocuments以下から
日本語で書かれた解説を読むことができるみたいだ。
A&Dの阿部さんが書いている奴だな。
そういや、以前に開発ツールを探してあそこのFTPサイトへお世話になったっけ。

この文章と実際のソースコードを参照しながら読んでみたのだが、
やはりshのipl+gには既にBIOSの機能も幾らか実装されているようだ。
基本入出力はこれにお任せでイケそうなので、さらにコメントを見ながら
ボチボチ拡張してやれば、面白いものができそう。

手元にある sh-ipl+g-2002-06-14cvs.tgz に実装されているのは、だいたいわかる範囲で書くと、
・基本シリアル入出力、
・補助記憶アクセス、
・フィーチャQuery
  (マシンタイプ、HeartBeat LEDのサポート、シリアルポート形式の取得)
・メモリ実装サイズ取得
・I/Oベースアドレス取得
・キャッシュ制御
・Ethernetインタフェイスの送受信、ノードアドレス取得
・シャットダウン(将来的にはACPIのような電源制御も含めるらしい)
・RTC制御(一部だけの実装で、まだまだ未完成)
・シリアルポートがらみの1文字&文字列出力

・gdbモード変数へのQuery、gdbモードのdetach
といった感じになっている。

以前に私がHackすることに燃えていた、RTCのファンクションに関して言えば、
現状では TickのResetとGet、それにsleep128という機能だけが
実装されているようだ。
RTCの Stop、Set、Get、それにInitializeは未実装…うひひ(笑
もっともInitは「やることが決まってない」だけなので、
エラーにするまでもなく、機能呼び出しすること自体は可能となっている。

なお、この部分の実装をしているセクションには、以下のような文章が…。
> /* XXX: This will be hardware dependent... */

う~む、そうだよなぁ。SH3/SH4は確かにメインクロック以外に、
32.768kHzの水晶を積んで動かす内部RTCユニットがあるのだが、
実際には cat709 やCQ出版の開発ボード、さらには SolutionEngine (多分)のように、
外部に別のRTCユニットを積んで、そちらを利用しているケースも少なくない。

まぁ、cat68701は素直な設計で、ぶっちゃけ「余計な部品は何もついてない」から、
SH7708R(SH-3)チップに内蔵のRTCを使う以外に選択の余地はないんだけどね。
あ、でも、オンボードバッテリバックアップの512KBサイズSRAMだけは豪華装備だな。
これはいろいろ悪さをするにはヒジョーに便利(笑

とりあえず、リハビリを兼ねてりぬくす工房の sh-linux tips を参考にリモートgdbを動かしてみた。
breakpointを全部外してLEDを点滅させるのも出来た。
(止め方が分からないのだが…)

ふぅ、デバッガつないで動かすのなら、CAT709のほうがいいよなぁ…。
形式の新しい SH7709S(SH-3)を積んでいて、処理速度が速いというだけではない。
何と言ってもシリアルが3つもあるのがおいしい。

以前はPCでも、シリアルポート経由のリモートデバッグ+MDA+EGA/VGAという方法で
開発が行われていたのだ。(MS-DOS Ver.3~5の時代の話らしいが)
何通りも状況表示できるI/Oがあると、デバッグに便利なんだよな~。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson

読み込み中...