とりあえず、
Building the Linux Port to LatticeMico32 System User Guide を見ながら
Theobroma Systems Limitedにあるlm32-linuxやlm32-linuxのtoolchainsをCygwinでmakeしてみることにした。
順調にビルドできてきたが、10.のtoolchainのmakeでエラーが出て止まってしまった。

このころは順調に進んでいたが、どうやらforkできなくなってエラーが出てしまった。メモリ使用量を見ると3GB使用している。それ以降のmakeはforkができないと言われてできなくなってしまった。Cygwinてメモリリークでもしているのだろうか?Cygwinを落としてもメモリの使用量は変わりがない。
toolchainのmakeはスキップしてもいいようなので、パソコンをリブートして最初からやり直した。

最後の14.のmake でエラーが出てしまった。

原因を調査中です。
追加:
原因はlm32linux-20080206\linux-2.6.x\scripts\mod\libelfbuild\libelf にINSTALL という名前のテキストファイルがあるのが原因でした。これがあるためinstall という名前のフォルダが作れなかったようです。INSTALLをINSTALL.txtに改名したら、そこは通りました。
現在はこの辺でエラーが出ています。
- 2008年10月17日 05:30 |
- Spartan3E Starter Kit でマイコンを作る
-
| トラックバック:0
-
| コメント:4
INSTALLとinstallがぶつかるのは、きちんとmanagedマウントできてないんじゃないでしょうか。最後のエラーも、mkdirで失敗するのはあやしすぎるので、その関係だと推測します。
ただ、あまりWindowsでのビルドを想定してないように見えるので、linuxでビルドしたほうが良さそうに見えますね。
- 2008/10/17(金) 23:17:26 |
- URL |
- KEI #-
- [ 編集 ]
KEIさん、こんにちは。
managedマウントて、そういう意味だったんですね。了解しました。
一応やっていたんですが、もしかしてWindowsの休止状態とかにすると、だめになりますかね?私は休止状態で終わりすることが多いのですが、そうするとCygwinがおかしくなることが多い感じです。一番最後のエラーのときはmanagedマウントがエラーでできませんでした。
一応、LatticeのマニュアルにはCygwinでのビルドの仕方が書いてあるんですが、なんかメモリリークもしているみたいですし、うまくいきませんね。
VMwareでlinuxインストールして、やってみたいと思います。
- 2008/10/18(土) 05:21:00 |
- URL |
- marsee #-
- [ 編集 ]
こんにちは。
Cygwinは、Unix系のシステム・コールをCygwin1.dllを通して、Windows系のシステム・コールに偽装するのが主な動作原理です。で、gccとかLinux Kernelの再コンパイルともなると、コンパイル作業そのものよりは、コンパイル環境のチェックの方がメインな作業になるというか、結果として様々なツールがチャイルド・プロセスとして起動されます。で、最終的にひとつのプロセスの起動に対して、Windows APIのCreateProcessが呼ばれるんですが、このCreateProcess、極めて動作が怪しいというか、Windows2000とXPで動作が異なったりします。Visual Cとかの統合ツールでは、非Windowsのコンソール・プログラムを起動するのに、このAPIの非公開引数を使ったりしているのですが、その辺でやりたい放題やっているって感じですねー。メモリーリークも、多分、起動したチャイルド・プロセスを上手く殺せないのが原因ではないかと。まあ、詳しく調べたことはありませんが。あっ、XPだとタスクマネージャからさえプロセスを殺せないことが多々ありますねー。タスクを管理できないOSって・・・^^;。
- 2008/10/19(日) 12:24:15 |
- URL |
- くり #mQop/nM.
- [ 編集 ]
くりさん、こんにちは。
説明ありがとうございました。
Cygwinだめみたいですね。やはり、VMwareでlinuxインストールします。
それはそうするとして、マニュアルを読んでなかったので、マニュアルや参考書を読もうと思っています。
- 2008/10/19(日) 18:59:42 |
- URL |
- marsee #-
- [ 編集 ]