2011年2月13日

なひたふさんのspartan6でLinuxが動いたよ

なひたふさんのspartan6っていうのはこれのことです。
何だかU-bootが動いてるらしいですが、全然さわったことがなくて、調べるのが大変なので、
SUZAKUからみんな移植してみました。全く作りこんでいないので色々きたない・・・。

全部ダウンロードできるようにすると問題ありそうな気がするので、
大丈夫そうなとこだけ。。もし興味のある方は連絡ください。
ファイル一式
image/download.bit : fpgaファイル
image/image.bin.gz : linuxイメージ
image/loader.bin : bootloaderイメージ
image/s6-20110213.mcs : fpga+bootloaer+linux
source : bootloaerとlinuxのソース
tool : linux用のイメージ書き込みツール

FPGAは以下のような構造でつくってあります。

PLB
|- MB(MMUあり)
|- MPMC
|- XPS SPI
|- XPS Timer
|- XPS Intc
|- XPS Uartlite
|- XPS GPIO1
|- XPS GPIO2

メモリマップは以下のとおり。
------------------------------------------
MPMC 0x80000000 - 0x83FFFFFF
XPS SPI 0xFF000000 - 0xFF0001FF
XPS Timer 0xFFFF1000- 0xFFFF10FF
XPS Intc 0xFFFF3000 - 0xFFFF30FF
XPS Uartlite 0xFFFF2000 - 0xFFFF20FF
XPS GPIO1 0xFFFFD000 - 0xFFFFD1FF
XPS GPIO2 0xFFFFD200- 0xFFFFD3FF
------------------------------------------

シリアルはRX:C6、TX:B2に割りあてて(FPGA JTAGの隣)レベル変換かましてます。

そして、フラッシュメモリマップ。
-------------------------------------------
0xff000000:0xff3fffff FLA all bf:8K bl:64x64K/l
0xff000000:0xff17ffff FLA fpga bf:8K bl:24x64K/l
0xff180000:0xff19ffff FLA bootloader bf:8K bl:2x64K/l
0xff1a0000:0xff3effff FLA image bf:8K bl:37x64K
0xff1a0000:0xff23ffff FLA kernel bf:8K bl:10x64K
0xff240000:0xff3effff FLA user bf:8K bl:27x64K
0xff3f0000:0xff3fffff FLA config bf:8K bl:1x64K
--------------------------------------------
xc6slx45だと、bitファイルのサイズが思いがけず、1450KBと大きかったのがちょっと予想外。
きっと全部使ってないけど、ちいさくならないのかなー??かなりの存在感だよ・・・。

そいえば、CPUクロックとかとりあえず、動きそうなところで50MHzにしたまま変えてないや・・・。もうちょい速くできそう。DDRは300MHzだっけかな??こっちもすこぶる適当。。

とにもかくも、FPGA+bootloader+linuxのmcsファイルをiMPACTでフラッシュメモリに書き込めば、Linuxが起動する予定。

FPGAとかSDRAMとかレギュレータとか結構あったかくなっているので(ACアダプタから給電してます)使っていないUSBのところの処理の仕方など、まずいような気がしています。RESETのところが良くわかんなかった・・・。もっと考えろってね・・・。

無防備に書き込むと何かあるかもしれないのでご了承を・・・。

コメントする