ブログネタ
Android に参加中!
i.MX53 Quick Start Board が届いたので少し遊んでみた。
i.MX53 Quick Start Board[公式]
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX53QSB
Screenshot-20110807-2239

DigiKey でも販売中。Android が動作する開発ボードの中では安いと思う。
(Windows Embedded Compact 7 も動作する)
http://search.digikey.com/scripts/DkSearch/dksus.dll?Cat=2621773&k=i.MX53

i.MX53 向けのソフトウェアは feescale から公開されている。
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX53_SW&parentCode=IMX53QSB&fpsp=1
ダウンロードは、ユーザ登録が必要。(無料)

早速動かしてみようとダウンロードしてみたが、
i.MX53 Quick Start Board をターゲットにしたイメージやビルドオプションが存在せず...orz

freescale のサイトを探したところ、
i.MX53 Quick Start Board 用のソフトウェアはこちらで配布していた。
http://www.adeneo-embedded.com/en/Products/Board-Support-Packages/Freescale-i.MX53-QSB
ダウンロードは、ユーザ登録が必要。(無料)

Screenshot-20110807-2226

Android の最新は Gingerbread(2.3.3) となっており、
freescale が公開している R10.2 をベースに作られている。
i.MX53_Android Source BSP と i.MX53_Android Binary Image の中身は同じ。
両方にソース(パッチ)とバイナリが入っている。

ダウンロードしたファイルを展開すると以下のようになる。
前のバージョンも入っているらしい。
sola@sola-android-dev:~/imx53.test$ unzip FSL-iMX53-QSB-DROID_archive2647750.zip
Archive: FSL-iMX53-QSB-DROID_archive2647750.zip
creating: Freescale-iMX53-QSB-Android 2.2-Version 3.2/
extracting: Freescale-iMX53-QSB-Android 2.2-Version 3.2/Adeneo_i.MX53LOCO_Android_Release_Notes_v3.2.doc
extracting: Freescale-iMX53-QSB-Android 2.2-Version 3.2/i.mx53LOCO_Android_Release_3.2.zip
creating: Freescale-iMX53-QSB-Android 2.2-Version 3.3/
extracting: Freescale-iMX53-QSB-Android 2.2-Version 3.3/Adeneo_i.MX53LOCO_Android_Release_Notes_v3.3.doc
extracting: Freescale-iMX53-QSB-Android 2.2-Version 3.3/i.MX53-QSB-Android-Release3.3.tar.gz
creating: Freescale-iMX53-QSB-Android 2.3-Version 4.0/
extracting: Freescale-iMX53-QSB-Android 2.3-Version 4.0/Adeneo_i.MX53QSB_Android_Gingerbread_User_Guide_v4.0.doc.pdf
extracting: Freescale-iMX53-QSB-Android 2.3-Version 4.0/i.MX53-QSB-Android-Gingerbread-Release4.0.tar.gz
extracting: HWFixesiMX53-QSB.doc
creating: Marketing documentation/
extracting: Marketing documentation/Android Services - June 2011.pdf
extracting: Marketing documentation/Android Training Services - July 2011.pdf
extracting: Marketing documentation/BSPs for Freescale i.MX53 QSB_Product Brief (Dollars).pdf
extracting: Marketing documentation/BSPs for Freescale i.MX53 QSB_Product Brief (Euros).pdf

最新の Release4.0 を展開。
ドキュメント、パッチ、ビルド済みイメージ、色々してくれるスクリプトが入っている。
sola@sola-android-dev:~/imx53.test$ tar zxvf Freescale-iMX53-QSB-Android\ 2.3-Version\ 4.0/i.MX53-QSB-Android-Gingerbread-Release4.0.tar.gz -C ./
sola@sola-android-dev:~/imx53.test$ ls -l i.MX53-QSB-Android-Gingerbread-Release4.0
合計 16
drwx------ 4 sola sola 4096 2011-08-07 21:51 docs
drwx------ 2 sola sola 4096 2011-08-07 21:51 download
drwx------ 2 sola sola 4096 2011-08-07 21:52 prebuilt
drwx------ 3 sola sola 4096 2011-08-07 21:51 scripts

ビルド済みイメージを SD に書き込む。
sola@sola-android-dev:~/imx53.test$ cd i.MX53-QSB-Android-Gingerbread-Release4.0/scripts/
sola@sola-android-dev:~/imx53.test/i.MX53-QSB-Android-Gingerbread-Release4.0/scripts$ sudo ./flash_prebuilt_android.sh /dev/sdb

/dev/sdb は私の環境での例。
書き込みたい SD デバイスを指定する。

これでビルド済みイメージを書き込んでくれるはずだったが、正常に書き込んでくれなかった。

原因はこれ。
--- flash_prebuilt_android.sh.orig 2011-08-07 22:51:14.730268268 +0900
+++ flash_prebuilt_android.sh 2011-08-07 22:51:34.450268264 +0900
@@ -56,7 +56,7 @@
sudo dd if=/dev/zero of=${SDCARD_DEV} bs=1024 count=1

# Extract the number of cylinders
-SIZE=`sudo fdisk -l ${SDCARD_DEV} | grep Disk | awk '{print $5}'`
+SIZE=`sudo fdisk -l ${SDCARD_DEV} | grep ディスク | awk '{print $5}'`
CYLINDERS=`echo $SIZE/8225280 | bc`

echo DISK SIZE - $SIZE bytes

実行した環境が英語であれば問題なし。
日本語環境の場合、「Disk」ではなく「ディスク」にしなければならない。
日本語の罠だった。

Android の起動
NEC_0023

microSD の方を起動に使用する。

起動ログ
U-Boot 2009.08-00301-g3b48208-dirty (Jun 24 2011 - 12:48:27)

CPU: Freescale i.MX53 family 2.1V at 800 MHz
mx53 pll1: 800MHz
mx53 pll2: 400MHz
mx53 pll3: 216MHz
mx53 pll4: 455MHz
ipg clock : 66666666Hz
ipg per clock : 33333333Hz
uart clock : 66666666Hz
cspi clock : 54000000Hz
ahb clock : 133333333Hz
axi_b clock : 200000000Hz
emi_slow clock: 133333333Hz
ddr clock : 400000000Hz
esdhc1 clock : 80000000Hz
esdhc2 clock : 80000000Hz
esdhc3 clock : 80000000Hz
esdhc4 clock : 80000000Hz
nfc clock : 26666666Hz
Board: MX53-LOCO 1.0
Boot Reason: [POR]
Boot Device: SD
I2C: ready
DRAM: 1 GB
MMC: FSL_ESDHC: 0, FSL_ESDHC: 1
*** Warning - bad CRC or MMC, using default environment

In: serial
Out: serial
Err: serial
Serial reinitilized!
Checking for recovery command file...
Net: got MAC address from IIM: 00:04:9f:01:c5:a2
FEC0 [PRIME]
Hit any key to stop autoboot: 0
MX53-LOCO U-Boot >

VGA モニタを繋いでるので、以下を設定。
MX53-LOCO U-Boot > setenv bootargs_android ${vga}
MX53-LOCO U-Boot > saveenv
Saving Environment to MMC...
Writing to MMC(0)... done

起動。
MX53-LOCO U-Boot > boot

device-2011-08-07-233800device-2011-08-07-233849

動作はサクサク。
よく出来ている。


Windows Embedded Compact 7 のイメージも公開されていたので試してみた。
SD へのイメージの書き込みは Windows から行う。
バッチファイル実行のみで OK のため詳細は省略。

起動した様子。
NEC_0021

操作の感じは PC の Windows とほとんど同じ。
組み込み向けだからか、文字入力が必要なシーンになるとソフトウェアキーボードが出てくる。


最後に
Android 環境だが、adeneo のソースを見る限り、
i.MX53 Quick Start Board 向けに面倒な変更を加える必要がないことが分かった。
なので、freescale から最新が出てきても自分で対応可能。
結構遊べるボードだと思う。