2010年9月27日月曜日

町田支部発足とPF部第二回勉強会とGoogle Developer Day 2010 Japan

久しぶりにブログを書いてみる隠者でございます。
本日のブログは先週参加したイベントの感想と、今週参加予定のイベントについてです。

実はひっそりとスキルアップのために、色々と過酷な環境に身を置いておりまして、えらく忙しくやってます。

でまぁ、9月は、イベント目白押しでして、先週からの今週にかけてのお話

・日本Androidの会 町田支部発足会参加
9月18日(土)に日本Androidの会の町田支部の発足が行われました。

ATNDの開始時間だけをみて13時からと思い慌てて自宅を出発。途中の駅でPF部のメンバーのsola氏と遭遇し、バスで会場に。

ところが、会場の中にも参加者らしき姿はなく、どうやら隠者とsola氏の二人が一番乗り。
入り口で待っていてもわからないからと、会議室まで出向いたのですが・・・やっぱり誰もいない。実は、ATNDの下の方には、14:00からと書いてあったようで、正式には14:00からが正しかったようで・・・・早すぎました。

ぽつぽつと人が現れるものの、なんとなくどうしたものやらという雰囲気。そこに町田支部長参上(実は、正式に支部長を名乗った事は無かったそうなのですが、他に立候補者もおらず、異議もでなかったため、町田支部長に決まったようです)。

内容としては

  • 各自自己紹介
  • 平野さん「Androidの普及に向けて」
    平野さんのコミュニティーへの思いと今後の活動について
  • 石川さん「横浜支部の運営について」
    支部立ち上げに関する提言
  • octoba net「売れるアプリのヒント」
    アプリレビューを通じて得た売れるアプリの法則
  • 簡単な売れるアプリ検討ゲーム
といった流れとなりました。人前の発表は苦手だとおっしゃってた平野さんの人を惹き付け笑顔を誘う話し方には心底すごいなぁと思いました。僕もPF部で発表するようになったのですが、どうにも話すのにいっぱいいっぱいでしてねぇ・・・・見習いたいものです。
そうそう、アプリのレビューを時折見せていただいていたoctobaさんの事務所が、まさか2年前まで済んでた割とご近所さんにあったのは知りませんでした。世の中って狭いなぁ(ってまぁ、町田支部なんだから当たり前なのか)。


町田は人数はあまり多くないようで、こじんまりしているので、これならPF部同様、気楽に参加に来れそうな雰囲気です。

・横浜PF部 第二回勉強会
9月19日(日)にPF部第二回が行われました。今回はのんびり聞きながらちらほらとつぶやいていましたけど、聞きながらつぶやくって意外と難しいですね。結構ぽろぽろと聞き漏らしていたようで。
内容についてはPF部のサイトにも軽く書いてありますので、こちらをご確認ください。
今回は
  • @klasicistaさんの 「CELinux Forum テクニカルジャンボリー34レポート」
  • @sola_dolphin_1さんの「BeagleBoard-xMでAndroid」
  • a_yokoyamaさんの「プラットフォーム学習環境の構築の軌跡」
@klasicistaさんの発表は、実は僕が参加していた@l_b__さんや、@sola_dolphin_1さんに、PF部で誰か発表してくれるよね的に無茶ぶりしていたところ、参加されていた@klasicistaさんが快く引き受けてくれるという流れになりまして。僕が犯人でした。無茶ぶりしてごめんなさい。
そんな無茶ぶりをしてたくせに、その後情報を仕入れてなかったのですが、発表で紹介していただいた資料がかなり興味深くて、発表後ダウンロードして電車の中でちらほら追いかけてます。はい。

@sola_dolphin_1さんの発表は、BeagleBoard-xMでのAndroidを動かす件での発表。この中でのmicroSDが遅い!という話は、隠者も感じていて、原因を調べてみたいなと考えている一つです。

最後のa_yokoyamaさんの発表。横山さんは、プラットフォーム学習を始めたばかりですというので、初学者として環境構築からやってはまった内容をぜひ話していって下さいという事になり、今回の発表に臨んで下さいました。すごく苦労されている様子が見て取れて、がんばってるなぁと感じました。

そして、今週参加予定のイベントは

・Google Developer Day 2010 Japan

9月28日(火)に、東京国際フォーラムにて行われる予定となっています。

いやぁ、夏休み残しておいて本当に良かったです。というわけで、火曜日は、本家の開発者イベントに初参加です。といっても、PF部向けのイベントではないので、場違いでぽかーんとして過ごしているかもしれませんけど。

夜はこっそり名古屋つ部の懇親会にも参加登録させていただいたので、このイベントに集まってきた方々の熱い気持ちを見せていただきつつ、PF側の人としてどんな事がやっていけそうか夢想してみるのもいいかなとか思っております。

2010年9月16日木曜日

横浜Android PF部のsites出来ました

hermit4@横浜Android PF部です。
いや、まぁ、他にもいくつかに所属はしてますが真面目に活動しているのはPF部なので。

勉強会が月一ペースで開かれており、その記録をどこかに残すのに、独自ドメインで公開できると良いよねという話があって、Google Sitesでのサイト作りをお手伝いしてみました。

Yokohama Android Platform Club

なにせ、Google Sitesでのサイト作りは初めてですので、つたないページでごめんなさい。
時間ができたら、もうちょっと勉強してカッコよくしたいなぁと思ってます。

ちなみに横浜AndroidPF部は、日本Androidの会 横浜支部の中で、Androidのポーティングや、Nativeに関する情報って少ないよねという話から、勉強会を作ろうかということで、 @l_b__さんが中心となり立ち上げた部です。

立ち上げの契機が日本Androidの会 横浜支部だったため、一応、横浜支部の一勉強会という形となっていますが、横浜支部のMLは結構メールの量も多くて埋もれてしまいがちで、実は横浜には住んでいない隠者のような人もいるため、別途MLと活動内容を書き留めるwiki的な役割としてsitesが開設される事となりました。

まだまだ出来立てほやほやで、第一回の勉強会が終わり、今週末に第二回の勉強会をという段階ですが、月に1回、物好きが横浜に集まって勉強してますので、Androidのポーティングや、Native側のFrameworkについて興味があるという物好きなあなたのご参加をお待ちしております。

なお、今のところ発表者の多くが大勢の前で話すなんて事に慣れていない技術者ですので、Ust等の映像記録はありませんが、上記のサイトで、第一回で使われた勉強会の資料は公開されていますので、興味がある方はぜひぜひご参加下さい。

2010年9月5日日曜日

ちょっとオアズケ中

たいして世の中の役に立てていないblogの主の隠者でございます。

書きたいネタはあるんですが、調べている時間がなかなか取れていません。
どれから手をつけようかと考えあぐねているところ。
まぁ、2ヵ月後くらいにはAndroidの発表がまためぐってくるでしょうから、Androidも一個必須なんですけどねぇ。
  • HALの続き。HALを使わないハードウェア操作周りの調査
  • QtでOAuth入門。QOAuthも使いながら、ちょっとOAuthについて書いてみようカナ。
  • Androidの音声周りのフレームワーク辺りを物色。BeagleBoard-xMを使いながら。
  • Androidのセンサー系入門。BeagleBoard-xMにとりあえず三軸センサーをつないでみる
  • ちょっと組込みIOまわりのお勉強

辺りをとりあえず今後のネタとして考えてるんですけどね。
まぁ、その前に、転職も本気で考えなきゃとか思ってますが・・・・。

とりあえず、GDDのクイズが合格点だったとかいう間違いだと思われるメールが届いているので、休みを確保できるよう、今週は仕事に精をださなきゃと思ってます。
そんなわけで、しばらくあまり意味のない日記やメモ書きの日が続くかもしれません。

が、さすがにBlogでやろうと思ってることとか書いておいてやらないと、やるやる詐欺だ!とか言われて怖くなるでしょうから、やりたい事として上げておきました。

2010年9月2日木曜日

Mac用 Qt Binary版

実はAndroidよりよっぽどQtラブな隠者でございます。
普段Linux環境では Qtは自分でビルドしたものを使っているのですが、Macでは、横着をしてバイナリ版をインストールして使っています。

そんな他人任せなMac環境にちょっとQtを使ったライブラリを追加しようとしてディレクトリ構成がよくわからずに悩んだので、メモ書き程度に。


・開発ツール群 + Qt Demo(GUI)
/Developer/Applications/Qt
  • Assistant.app
  • Assistant_adp.app
  • Designer.app
  • Linguist.app
  • qhelpconverter.app
  • pixeltool.app
  • qtdemo.app
  • qdbusviewer.app

・開発ツール群(CUI)
/usr/bin/
  • qdbusviewer.app
  • lconvert-4.6
  • lrelease-4.6
  • lupdate-4.6
  • macdeployqt-4.6
  • moc-4.6
  • qcollectiongenerator-4.6
  • qdbus-4.6
  • qdbuscpp2xml-4.6
  • qdbusxml2cpp-4.6
  • qhelpgenerator-4.6
  • qmake-4.6
  • qt3to4-4.6
  • rcc-4.6
  • uic-4.6
  • uic3-4.6
  • xmlpatterns-4.6

・シンボリックリンク
/Developer/Tools/Qt
    (上記GUI/CUIアプリのシンボリックリンク。なお-4.6は省かれている)


・プラグイン
/Developer/Applications/Qt/plugins
  • accessible
  • codecs
  • designer
  • graphicssystems
  • iconengines
  • imageformats
  • phonon_backend
  • script
  • sqldrivers

・言語環境用ファイル
/Developer/Applications/Qt/
  • phrasebooks
  • translations

・ライブラリ、ヘッダファイル
/Library/Frameworks
  • Qt3Support.framework
  • QtAssistant.framework
  • QtCore.framework
  • QtDBus.framework
  • QtDesigner.framework
  • QtDesignerComponents.framework
  • QtGui.framework
  • QtHelp.framework
  • QtMultimedia.framework
  • QtNetwork.framework
  • QtOpenGL.framework
  • QtScript.framework
  • QtScriptTools.framework
  • QtSql.framework
  • QtSvg.framework
  • QtTest.framework
  • QtWebKit.framework
  • QtXml.framework
  • QtXmlPatterns.framework
  • phonon.framework

・設定ファイル
/usr/local/Qt4.6
  • mkspecs
  • q3porting.xml

・ドキュメント
/Developer/Documentation/Qt/
  • html
  • qch

・サンプルコード
/Developer/Examples/Qt
 (多いので略)


・アンインストーラ
/Developer/Tools/uninstall-qt.py


qmake用のスペックファイル群は/usr/local/Qt4.6/mkspecsの中となります。
ライブラリの配置が特殊で悩みますけど、自作のライブラリの場合は、/usr/local/libにでも入れて、mkspecsを用意してあげるとよいのかもしれません。

改めてみると、見慣れぬツールもいくつかあるので、今度調べてみようかなと思ってます。

2010年9月1日水曜日

Beagle Board-xMについて調べ中なう

(9月に入って憂鬱な隠者でございます。
いや、そろそろいろいろ決着をつけなければならない問題が積まれている状態でして。

というわけで、現実逃避がてら、BeagleBoard-xMを調べてみてたりします。
まぁ、Androidを動かすというミッションは、既にsolaさんが情報公開してくださってますので、僕はのんびりと、マニュアルを眺めるところから。


システムマニュアルは、BeagleBoard Hardware Design から、入手ができます。
マニュアルのIntroductionには

The processor used on the BeagleBoard-xM is compatible with several Cortex A8 processors manufactured by Texas Instruments. Currently, the processor is a DM3730 processor, which has yet to be announced by Texas Instruments. The only documentation that is available is the AM3715. The key difference between the AM3715 and the DM3730, is that the DSP is not included on the AM3715.
と書かれています。というわけで、CPUはAM3751にDSPが含まれているDM3730ですね。マニュアル中にはまだアナウンスされていないとなっていますが、本日の時点で、既にTIのサイトでは、Activeになってます。

まぁ、僕と同じく組込み系の経験が浅いアプリ屋だと、 DSPってなんぞやとか思うわけですが、デジタルシグナルプロセッサ (Digital Signal Processor)といって、デジタル信号処理に特化したマイクロプロセッサで、画像処理とか動画のエンコード、デコードといった処理をこちらで行うことで高速に処理することができるようになるという代物です。これが付いていると出来る事の可能性が広がります。

PMIC(電源管理)用のチップとしては、TPS65950が載っているようです。

TIのWebを見ると統合パワー・マネージメント IC、3 DC/DC、11 LDO、オーディオ・コーデック、USB HS トランシーバ、チャージャー内蔵って書いてます。電源管理とオーディオコーデックはこちらのチップの役割のようです。


Beagle Board-xMには、残念ながらNORもNANDもありません。
DM3730には、GPMC Busという外部メモリコントローラのバスがあるのですが、マニュアルを見ると
8.10.3 GPMC Bus
The GPMC bus is not accessible on the BeagleBoard. Its connectivity is limited to the POP memory access on the top of the processor and therefore is only accessible by the NAND memory.
The memory on the GPMC bus is NAND and therefore will support the classical NAND interface. The address of the memory space is programmable.
ということで、使えないようです。こっそりNORを付けてu-bootまでは高速起動できないだろうかとか思ってたので残念です。

ま、そのようなわけで、BeagleBoard-xM君を起動すると
  1. BootRomが最低限の初期化を行ない、microSD Powerの設定をTPS65950へ行う
  2. BootRomはその後、GPMC(xM君は利用なし),MMC1(microSDが接続)の順に検索しMLOをさがす
  3. MLOからX-Loaderが起動。u-boot.binをメモリに展開
  4. u-bootが起動し、uImageを読み込む・・・
    といった流れで起動するようです(*1)。詳しいことはまだわかってませんけど、MLOというのは、どうやらBootRomが理解できるような署名を付けた X-Loader でしょうか。

    なおxMに付属のmicroSDに入ってる中身と、その起動の様子は先日のエントリーを参照してください。

    ところで、Power Connectorの項目を見ると
    5.16 Power Connector
    Power will be supplied via the USB OTG connector and if a need arises for additional power, such as when a board is added to the expansion connectors, a larger wall supply 5V can be plugged into the optional power jack. When the wall supply is plugged in, it will remove the power path from the USB connector and will be the power source for the whole board. The power supply is not provided with the BeagleBoard.
    と書かれています。つまり、電源の供給は、USB OTGを接続すればできるってことですねぇ。電力食うようなボードを追加しなければ、USB供給で動くんですか。知らなかった。もしかして、古いBeagle Boardもできたんでしょうか。

    ちなみに、Beagle Boardのマニュアルは164ページ。CPUのリファレンスマニュアルは3642ページ。もちろん英語です。全部読むつもりなら結構な覚悟が必要そうですよね。
    とりあえず、せっかくなので、僕はしらばくu-bootのコードを追いかけながら、この石について少し勉強しといてみたいなぁとか思ってたりします。