Spartan3E Starter Kit でマイコンを作る

プロセッサMico32を試してみた
(パソコンも大丈夫だったので、Latticeのオープン・ソース・プロセッサMico32をISE10.1iでインプリメントできるかどうか試してみたが、失敗した)
Plasmaを使うことにした
(Plasmaを使うことにしたが、後でMico32に変更する)
Mico32でもう一度やってみた
(soc-lm32でもう一度Mico32を試してみたらOKだった。これでやってみることにした)
soc-lm32をSpartan3E Stater Kitにコンフィギュレーション
”Mico32でもう一度やってみた”でインプリメントできたsoc-lm32を実際にSpartan3E Starter Kitにコンフィギュレーションしてみた。bootloaderプログラムの変更方法)
soc-lm32をシミュレーション
(現在、soc-lm32をシミュレーションして動作を確認中)
soc-lm32のDDR SDRAMコントローラ
”soc-lm32をシミュレーション”でsoc-lm32のシミュレーションをしてみた。その際にUARTを使用してmコマンドを入れて、memtestを走らせ、DDR SDRAMの動作具合を見たが、その追加)
soc-lm32のその後1
(soc-lm32に自分のDDR SDRAMコントローラを接続して、soc-lm32全体を100MHz動作にして動かしてみることにした。インプリメントしてみた)
soc-lm32のその後2
”soc-lm32のその後1”でMico32プロセッサを100MHzで動作させようとしたが、クリティカルパスが10ns 以上の遅延時間だったので、断念してDDR SDRAMコントローラだけ100MHzで動作させることにした。)
soc-lm32のその後3
(DDR SDRAMコントローラの最上位アドレス2ビットの扱いがおかしい訳ではなく、バイトアドレスのWishBoneバスのアドレスを、RAMチップデータ幅 単位(2バイト)のDDR SDRAMコントローラのアドレスにそのまま入れていたのが原因でした。バグの原因がわかったが、後にそれもだめだったことがわかった)
soc-lm32のその後4(とりあえずuClinuxをビルド)
(とりあえず、Building the Linux Port to LatticeMico32 System User Guide を見ながらTheobroma Systems Limitedにあるlm32-linuxやlm32-linuxのtoolchainsをCygwinでmake。ビルドできなかった)
soc-lm32のその後4(uClinuxの勉強)
”soc-lm32のその後4(とりあえずuClinuxをビルド)”でCygwin でuClinuxのビルドを試みたが、まだビルドできていない。)
soc-lm32のその後5(bootloaderをいじってみる)
(bootloaderをいじってgpioでLEDに表示してみた。bootloader のプログラムが間違っていたので修正した)
soc-lm32のその後6(DDR SDRAM上でのソフトの動作)
(DDR SDRAM上にbootloader と大体同じプログラムを40000000番地からld でリロケートして、DDR SDRAM用にした。それをbootloader のu コマンドでアップロードして(改造して.ram をアップロードできるように改造していある)動かしてみた。)
soc-lm32のその後7(VMware Server 2.0 のインストール)
(DDR SDRAMでプログラムが実行できるようになったので、VMware Server 2.0 をインストールして、Guest OS として Fedora 9 をインストールした。)
soc-lm32のその後8(いろいろなlinuxをインストールしてみる)
(どうもFedora 9にVMware toolsがインストールできない。もう1つVirtual Machine を作って、違うlinux でやってみようと思う。)
soc-lm32のその後9(u-boot)
(Fedora9でu-bootをいじっていたがUbuntuの方が良さそうなので、Ubuntuに乗り換えた)
soc-lm32のその後10(u-bootのコンフィギュレーションの書き換え1)
(UART0とBRAMのアドレスが重なるため、LatticeMico32 System Reference Guideのアドレスマップを書き換え中)
soc-lm32のその後10(u-bootのコンフィギュレーションの書き換え2)
(u-bootのアドレスにあわせて、ハードウェアのアドレスマップを変更。論理合成したら、”FATAL_ERROR:Xst:Portability/export/Port_Main.h:143:1.17”で止まってしまった。)
soc-lm32のその後11(u-bootのコンフィギュレーションの書き換え3)
(LatticeMico32 の周辺UARTとTIMERを入れ替えてインプリメントして試してみた。アップロード時に2つのデータしかロードできていなかった)
soc-lm32その後12
(LatticeMico32のdriversフォルダの下のライブラリを使ってu-bootをブートしようとしたが、フォルダの中に入っていないインクルードファイルがあって、どうもコンパイルできない。)
inserted by FC2 system