2011/06/18

某キーパッドの対応表

K1 B A K2 D C K3 E K4 F
K1
B +=
A CE
K2 -= C
D 9 <->
C M+ M-
K3 × CM % RM
E 5 6 7
K4 ÷ . 0 8
F 1 2 3 4


※沖縄電子でジャンクで売ってたレトロなキーパッドの対応表
※キーストロークが凄くすき

2011/05/02

座間味島へいってきた

新人プログラマとして1年間やってきて、まだしかかりとか残り作業もあるけど、オツカレさま自分の意味で、座間味島にいってきた(後付けな理由だけど)。

出発の数時間前に沖縄梅雨入り宣言。天気予報見てたから予想はしていたけど、雨と曇り続きでしたよ。。

写真をいくつか


2011/02/05

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変換モジュール(とジャンパ線)

で、大まかなポーティングの手順としては

  1. 前準備で各種必要なソフトをインスコ
  2. SDカードにパーティションをきって各種ファイルを書き込む
  3. SDカードをbにセットして、電源ON
  4. 起動

    (※別途、シリアルコンソールで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アダプタを使っている訳ですがそれもまずかったりするのか..

2011/01/24

beagleboardとの日々1

今回から数回に渡って、私がbeagleboard(以後b君)と過ごした、格闘の日々をご紹介します。某HAGOな勉強会用途に、本エントリーを活用できればなと。

お品書き的には、

  1. そもそも何でb君? 出会い編
  2. b君に関して深く知りたい編(インスコ前準備)
  3. b君をてなずける編(インスコ完了)
  4. b君にOpenCVを乗っけて、hogeる編

まで行ければなぁと思っています。但し、希望観測につき、変更の可能性ありありス。

じゃあとりあえず、1. そもそも何でb君? 出会い編からいきます。

b君に出会ったは、第12か13回のOJAG勉強会(おそらく10~11月頃)にてadonishiさんが、使ってないから、、といって持ってきてくれた事に端を発します。

じゃあなんでそんな話になった訳?って訳ですが、それは、おそらく@yamanetoshiさんと私が、勉強会後の懇親会や、勉強会の後、LTの時間とかでgdgdと欲しい~~、弄りたい~って話をしていたからだと思いますww

で、実際にadonishiさんから、OJAGに対して提供という形で、OJAGに渡ってきて、誰も使わない(イヤ私の気持ちを察してか)ので、私がいつも持ってもいいということに。

まぁ、OJAGでそうなるということは、b君に関して皆に、何をどうしたのか、説明する義務(のようなもの)があるわけですが。。私はお仕事が〜とかのたまって、今の今まで怠っていた訳です。皆様この場を借りてスミマセンorz

んで、b君との生活が始まる訳ですが、まだ、前置きは続きます。

そもそもなんで、b君が欲しかったか、率直にいうと、月並みですが"かわいかった"からです。面食いな訳です。基盤蕩れな訳です。不純な動機です。しかし何時の時代も出会いとはそう言うものではないでしょうか。

b君に出会うまでは、PICシリーズの乗った雑然としていて、無駄なスペースがある皆同じ色した基盤や、学習用途基盤、AVRマイコンの乗ったちっちゃなセンサI/OとしてのArduino、はたまた、トランジスタ技術(通称トラ技)付録の基盤などしか触ったことが無かったのです。

そこに、赤い**の***のようにあらわれた、beagleboard、呼称b君。約8cm四方という手に収まるコンパクトな体に、1G近いクロック数を誇る高性能ARMマイコンを積み、hdmi出力やusb、sdカードリーダ、audioインタフェース等、最大限まで機能を詰め込んだ、悩ましい集積美を描くプリント基盤。

それでいて、価格は1万ちょい。ヤバい。

確か2009年の夏頃、某大学の研究室でみてから、ずっといいなぁと淡い思いを持っていた訳です。

まぁ他に欲しかった理由としては、そろそろ上のスタックも勉強したいなと思ったからという事もあります。


出会いについてお話するとすれば、こんなところでしょうか。

今までは大層ududとつまらないですね、、。

では次回は 2. b君に関して深く知りたい編(インスコ前準備)ではもう少し、b君に関して深くお話できればと思います。

<画像/schematic here>

About Me

自分の写真
目指せネイチャアプログラマ!Objective-C/Cocoa、web系スキルも絶賛習得中。Nature Interfaceに興味ありあり。
Powered By Blogger

Mitolog © 2008. Template by Dicas Blogger.

TOPへ