beagleboardとの日々2
前回の続きで、今回は
2. b君(以後b)に関して深く知りたい編(インスコ前準備)
を綴っていければと思います。具体的には、bに関してまずは少し調べて、それからandroidポーティングの準備を行います。
まず、bに関してですが、スペックを少し
僕がさわっているbはRevC2で、CPUはOMAP3530 ES3.0というものらしく、シリーズとしてはARM Cortex-A8(780MHz)らしい。FlashROMは256MB、SDRAMは256MB@166MHzとのこと。
へぇ。他にも色々とSDカードスロットがあるとか、USBホストになれるとか、JTAG、Serialデバッグ可能ですとか。
まぁ写真を見た方がはやいですね。。データはbeagleboard公式からここから。
こんな感じです。で、プロセッサである、OMAP3530のデータシートはここ。
あと、簡単なシステムダイアグラム。
もはや高性能すぎて全部の機能について調べる気が...
とにかくいろいろできて、えらいやつなのだなぁと実感。
ただ一つ気になったのが、USB-OTGとUSB-HOSTってなにが違う訳?
マニュアルみてたけど、OTGの方はほぼ電源とるとこ用っぽいですね。HOSTの方が、USBホストとして動作可能ということ。
で、とにかくポーテイングしてみよう!という訳で、私のほろ苦いb生活が始まったわけです。
まずポーティングするために何が必要なのか、色々調べて、下記を用意しました。
・b君自身(RevC2)
・Mac Book Pro
・5V電源 (センタ+)
・DVI<->HDMI変換ケーブル
・DVI入力のあるモニタ
・USB mini(Bタイプ)<->USB(Aタイプ)変換ケーブル
・SDカード2Gくらい
・USB<->Serial変換モジュール(とジャンパ線)
で、大まかなポーティングの手順としては
- 前準備で各種必要なソフトをインスコ
- SDカードにパーティションをきって各種ファイルを書き込む
- SDカードをbにセットして、電源ON
- 起動
(※別途、シリアルコンソールでubootの起動プロセスを設定することもできるらしい)
どういう手順でポーティングするかというと、下記のサイトを参考にしました。
前準備に関しては、下記のサイトを参考に、ubuntu9.10をvmwareにセット、java5やら、gitやら、repoやら必要なものを逐一ダウンロードして割とスムーズに完了
http://www.facebook.com/note.php?note_id=374748694361
次に、SDカードに〜ってことで下記を参考にしながら進める。
http://code.google.com/p/android-development-environment/wiki/FroyoOnBeagleBoard
この手順で、Froyo(Android 2.2)がポーティングできるとのこと。ということで進めていった訳ですが、、
第一のはまりどころがAndroidのmake....
一夜あけても、bはmakeできない。。朝makeうって、夜帰ってモニタをみてもまだ終わっていない..というかとまってんじゃね?
なぜだ!!ということで、目を皿にして上記手順をながめる...あれ? makeのパロメータが違う...
make -j2 じゃなくてmake -j8 じゃん...
てっかj2とかj8ってなに? CPUのコアすう設定とかどっかに書いてあったけど、どうやってしらべりゃいいの?
Makefileみても、それらしきことかいてないし。
だれかおせーて。
ま、makeとおったということで、次へ進む。
今回試すbのブートプロセスとしては、
電源ON -> SDカード読み出し -> MLO(xLoader) -> uboot -> kernel -> init(Android起動)
という順でブートさせればいいとのこと。
上記リンクの手順にはMLOとubootのインスコ手順は書いていない。。ということでまた別で用意した。
下記リンクからダウンロード。
http://code.google.com/p/beagleboard/downloads/list
よっしゃ、全てそろった!ということで後はSDに
第1パーティション: MLO -> uboot -> uImage(kernel)
第2パーティション: Android起動イメージ
を書き込めばいいはずっ!!
ということでSDカードへの書き込みを終了し、各パーティションをumount。
そ
し
て
つ
い
に、
SDカードヲbニヨミコマセルトキガ..ヒャッホーーーーー!2828という感じで、接続作業を進めたわけです。
bのHDMI出力からDVI変換でモニタにつないで、usb<->serialモジュールをPCと接続(秋月のFTDIのモジュールを使ったので別途ドライバをゲトしてから)、SDをセットして、シリアルコンソールを開く(ubuntuを開いているくせに何故かmacのscreen上で)。
$ls /dev/tty.* (これで希望のモジュールを発見し)
$screen /dev/tty.usbserial-A7004CuM 115200 (これで開く)
8bit長、パリティなし、ストップビット1、フロー制御なしの baudrate 115200で開くはず..
そして、5V電源を、、、つなぐっ。
おおーーーーーーー!b犬!!いったかー!
あれ、止まる。
コンソールはこんな感じでばけばけ。
接続はこんな感じ。
こっから、ネトーリとしたbとの日々が始まる。
何が原因なのだろうか。。。はて。
とりあえず色々試しました。
何でシリアルからの文字がばけばけなの?
・usb<->シリアルモジュールは正常動作しているか?
->別の新品モジュールでも試して、同様の動作なので、動作しているポイ(まぁ正確を期すためには、目的のbaudrateでループバックとかしてみろってはなしだけれど何故かやってないorz..)
・結線(tx, rx, gnd)は間違ってないか
->マニュアル見てヘッダ位置、必要な結線箇所確認したので間違っていないハズ
->テスタで通電も確認した
・PC側の問題でないか?
->vmware上のWindows上のteratermでも同様だったのでおそらく文字コードやらPC側ソフトの問題ではない
->vmwareのWindowsのBIOS設定もシリアル接続enableにしてある
何でHDMIからの出力画面がいつも同じところで止まるの?てか、正しい画面なの?
・bの起動プロセスは間違っていないか?
->起動プロセス確認しようにも、どうやって確認すれば?
・SDカードちゃんと読み込まれてる?
->ジツハSDカード挿しても挿さなくても同じ画面なんですけどーーー
うーーーーーん。。bと私の間に深い溝ができ(ru..
最終的に、私のbへの理解が足りていない、、デバッグ力が足りていないーーーという事で、次の1手をどう打てばいいのか、、、誰かヘルプミー
#なんとなくSDがうまく書き込めていないor読み込めていない気もするけど...
#てか、SDも、microSDアダプタを使っている訳ですがそれもまずかったりするのか..
コメントを投稿