TDC組み込み勉強会第一回

昨日行われた、TDC組み込み勉強会第一回に眠い目をこすりながら行ってきました。
ここのところ、いろいろなイベントがあるので、疲れるなっと。


金欠により、残念ながら懇談会には参加できませんでしたが、その分質問とか多くさせて
もらいました。うるさかったらすいません。


まず、携帯の電波の実験を仙台の街中でやっているというような話。
あんまり、外ではいえないような生々しいデータが見れて面白かったです。
無線は、優先と違ったいろいろな大変さがあるということでした。
tronlinuxだと、tronはけっこうハードウェアべったりすぎてて、アプリケーションを作りにくい。
linuxはその点楽だと。
昔、携帯JAVAで動画再生するぞー!と言う仕事をやったりしていたのですが、
限界を感じたので、この辺の層がそのときに分かっていれば違っていたのになと。
あと、FPGAっちう、ハードウェアの回路を書き換えられる奴の話とかは
おお、使っている人がいたー。ってことで、楽しかったです。
FPGAで、何をやるかについては、ファミコンエミュとか、3D描画エンジンとか、
並列計算とか、強い将棋のプログラムとか、人口知能の学習とかにいいんじゃと。
個人的には言語処理系のハードウェア実装があると面白いよなぁ。
たとえば、GCをハードウェアで行うFPGAで作られたCPU見たいなのがあると楽しいな。
JVMSmalltalkマシン、Lispマシン、SECDマシンやら、ABCDマシンだかなんだかとか、
COMETIIでもいいし、FlashVMでも作れたらいいんじゃと。RubyYARVもよしと。
というか、俺言語のVMが作れたらいいなというかんじでした。
CPU作るのはいいけど、アセンブラ作るのが大変というようなことも言っていたので、
それは、東大の実験を参考に、コンパイラ係とか、CPU係とか決めて作ってみたらいいんでないかなと。
あと、高速な通信環境が出来たら何をするかというのが問題といってました。そこで、シリアスゲームだったりというところにつながっていくのかなと思いました。
google mapを片手にうろうろして、検索をかけるとその周辺似何があるのかがすぐに分かったり、googleストリートビューを見つつ、あっちにはなにがある、こっちにはなにがある。あっちに誰々がいると、わかったりすると楽しいので、そうなる方向で徐々に時代は進んでいるのだろうなと思います。


次は、Linuxのkernelのパッチをあてるためには、どうしたらいいかみたいな話でした。
最初に、あるハードウェアを使ってmpgを再生するプログラムを携帯上で効率よく動かすために
UIOという仕組みを使う実装を作って、無駄なドライバが読み込まれなくなってすむようになものを
作ってそれを、Linuxのkernelのほうに入れてもらったと言う話。入れてもらうのに3ヶ月くらいと結構大変だったけども、Linuxの偉い人と話せたり、デバッグしてもらったり、いろいろいいことがあるよということでした。
会社で、ごく普通の英語が苦手なプログラマにパッチをあてるやり方を教えるというようなことを
会社でやってますという話で、おおー、それいいなぁと。
ちょうど、Linuxのえろいひとが日本にいて、いろいろとサポートしてくれていて、
簡単なパッチを当ててもらおうということでした。
そういうのを普通にネット上でやれたらと思ったりしたのでした。
そういうことをやっている会社というだけでまず、ポイントが高いと思いました。


Windows CEの話は、自分はWZero3 es持ってるので、プログラム組んでみたいなぁとは思ってたけど、結構開発環境がでかいので、携帯の開発のためにそこまでするのはメンドクサイなというのが本音でした。あと、ビジネスモデルがiphoneとかと比べると弱いんだよなぁ。。。


あと、最後に、組み込みのLinuxSDL動かすってことで、なんたらかんたらっちう基盤むき出しのハード上のLinux上でSDLが動いて、さらに、OpenGLはtinyGLだかなんだかっちうのを使って3Dをやってました。
SDLというと、自分の場合はD言語でいろいろ凄い人たちがいるのでまず、次はD言語のゲームを動かしてもらいたいなぁと思ったりしました。Dのクロスコンパイルが出来ると、いろいろ、ウマウマなんだよなぁ。Javaライクな言語でGC付きネイティブな開発環境ですよ。高速で動いて、メモリ管理は楽チンっと。SDLマシンをFPGAで作れたらいいよなぁとか。問題はGC周りなのでそのへんは、FPGAでハードウェアGCを実装してマンセーなんていう、話は簡単だけどホントに作ったらもう、何年とかかるような話だけども、実現できたらいいなぁと思うのでした。