[Armadillo:01175] Re: SDRAM

Masahiro Hanada email@hidden
2006年 8月 30日 (水) 21:11:13 JST


花田です。

orihara <email@hidden> wrote:

> というか、ここではカーネルについて知りたかったのです。
> 
> その後、分かった事も合わせると、・・・
> 理論的に、256MB 付近まで SDRAMを増設することが可能で、そのための
> カーネルの変更や、kernel config設定の必要はない。
> (特別に 容量の制限は入っていないので、256MB までは何もしなくてよい)

そこまではそんな感じですね。
2.6カーネルを例にとりますが、カーネルコンフィグでSDRAMがどの
チップセレクト(SDCSx)に接続されているかを固定的に割り当てていて、
これで(カーネルなどをロードするための)標準メモリの物理アドレスや
ZREL,PARAMS,INTRDの各先頭アドレスを確定しています。
実際にこのアドレスを使っているのはarch/arm/mach-ep93xx/arch.c等です。

> それを超える場合、例えば 0xD0000000 へ SDRAM を増設する事を考え
> ると、現在の 256MB の制限を取り払って、現在割り当てられている
> 領域と重ならないように、領域をずらしたりする必要がある。

現実的な話はさておいて、理論的な話だけで言うと。
0xD0000000に増設するということはSDCS1にSDRAMを接続するということを意味します。
カーネルは直接的なSDRAMの初期化や設定を行わないので、
SDCS1の設定や接続されているSDRAMの初期化はブートローダで行わなくてはなりません。

ここまでやってRAMとして不自由なく使えるようにしたとして、
カーネルやinitrdは同じチップセレクト上になくてはなりません。
ここでは、カーネルやinitrdは今まで通りSDCS0側のSDRAMに置かれるとします。
この場合でもブートローダからATAGで渡すパラメータに
SDCS1(0xD0000000)の適正なRAM領域を追加してあげれば、
カーネルは(今までのSDRAMに加え)0xD0000000〜をRAMとして使ってくれる筈…
勿論やったことはありませんが。
(CSの制限以外で、どこかに256MBの制限ありましたっけ?)


____________________________________________________

    花田 政弘 (はなだ まさひろ)

      (株)アットマークテクノ 開発部
        TEL: 011-207-6550    FAX: 011-207-6570
        URL: http://www.atmark-techno.com/

    E-mail: email@hidden
____________________________________________________




armadillo メーリングリストの案内