[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 メーリングリストの案内