VIAからWM8950がリリース予定?


先日、VIA 8710搭載のAndroid TV BOXという記事の中で、VIA 8710(WM8710)というARM11コアのCPUについて、紹介したが、今度は同じくmicdigiにて、VIA will release WM8950 processorという記事が出ている。

VIA8710(WM8710)は、どうやらタブレット向けではないようで、WM8950はタブレット向けの新CPUとなる模様です。(ちなみに、上記の記事の時点ではメーカページの製品紹介に「WM8710」があったのですが、いま見ると、WM8750に置き換わっています)

ということは、中華padでメジャーなブランドWM8xxxシリーズも 第1世代のWM8505、第2世代のWM8650にきて、ついに第3世代 WM8950となるようです。

現段階ではメーカページの製品紹介にWM8950はありませんが、各所の記事を総合すると・・・
WM8950はARM Cortex-A9コアベース 800MHz~で、チップの価格帯設定は最近ARM系の低価格padに普及しつつあるAllwinner A10と同レベルとなるようです。

それにより、最近低価格化が著しい$100以下ランクの価格がさらにさがりそうです。

・・・そして、MIPS Jz4770タブレットの立場が苦しくなっていく可能性が・・・

VIA 8710搭載のAndroid TV BOX


micdigi.comに「The TV box based on VIA 8710」という記事が出ている。


大きさは写真にあるよう手のひらサイズの206*117*17mm。

CPUはVIA 8710(WM8710)で、ARM 11コア搭載の1Ghz。
GPUはCPUに内蔵されており、Mali200相当品。
RAMを512MB搭載
GUIはきれいでは無いけどスムースに動く。
1080Pの動画再生に対応。ビデオの巻き戻しもうまく動く。
OS: Android 2.3
内蔵ストレージ: 2GB or 4GB
HDMI出力あり(当然だけど)
USB経由でカメラと、3Gにも対応。

残念ながら値段がいくらか、というあたりが書いていない。
1万円以下ランクだとは思われるが、どうなることやら・・・

それにしても、謎なのはVIA 8710なのか VM8710なのか、というところ。

Wondermedia社がいまもありWONDERMEDIA PRIZM WM8710という製品紹介ページがあったり、2011年5月にWM8710出荷のプレスリリースを出していたりします。
結局、VIAの子会社になったものの製品としては、WM8710として出している、というあたりなんですかねぇ・・・

Jz4770搭載のICSタブレットリリース予定


MIPSから「MIPS Technologies and Ingenic Semiconductor Announce Availability of World’s First Android™ ‘Ice Cream Sandwich’ Tablet 」というプレスリリースが出た

100ドル以下でAndroid 4.0/ICS搭載のタブレットが出てくるよー

という内容なわけですが、そこに触れられているのは、予想通りAinol NOVO7 Basicと思われる、Jz4700 1GHz搭載7インチマルチタッチのタブレット。

8インチと9インチのモデルもでてくるよー、とあるけど、それがAinolからなのか、それとも別のベンダからなのかは、ちょっとはっきりとしない書き方かな・・・

実際の動作の感じについては、YoutubeにMIPSが「Ice Cream Sandwich with MIPS 」という紹介動画をアップしていますが、こっちはあまり見るべきものがない感じです。

それよりは、Ainolの開発者とおぼしきtomx2hのblogの方が、ずっと見るべきものがあったりします。

まずは、Novo7普及版 君正JZ4770方案ICS冰激凌安卓4.0新图という記事で開発中のスクリーンキャプチャがアップされています。
(これと同じ内容はimp3.netのフォーラム「Novo7普及版 君正JZ4770方案ICS冰激凌安卓4.0新图」にもあります)

また、中国系動画サイトのYOUKUで、视频:全球首款安卓4平板,艾诺Novo7 Basic 君正方案平板上市では電源ONからいくつかの操作を。
そして、视频:艾诺Novo7 Basic版Android 4.0固件运行小窥ではいろいろなアプリの動作を紹介しています。

とりあえず、これらを見る限りでは順調そうな感じで開発が進んでいる模様。
一般公開が期待できる・・・・のかなぁ???

——————————————————

おまけ

いろいろなAndroid系ニュースでは、MIPSリリースに書いてある通りに「Android 4.0タブレットのNOVO7がすでに中国で販売している」というようなことを書いちゃってますが、現実にはまだ開発中でリリースされていません。

現状販売されているのは「Android 2.2もしくはAndroid 3.2搭載のNOVO7 Basic」で、「Android 4.0搭載のNOVO7 Basic」については、おそらく、現在はfirmware開発の最終段階でもうすぐリリースではなるものの、まだAndroid 4.0搭載バージョンが市場に出回っていません。

Android Marketに非公式端末が表示される件


11月中旬ごろから継続的にAndroid MarketのWebインタフェースで「Ingenic Lynx」とかが表示されているという件。
いくつかのサイトで話題になっているようです。
Appllio:Android MarketがKindle Fireなどの非公式端末をサポート
liliputing:Android Market website now recognizes HP TouchPad, NOOK Tablet, Kindle Fire

そんなたいそうな話題じゃないなぁ、と思ってスルーしてたんですが、ニュースバリューがあるような話なんだったらとネタにしてみます。

うちには2つ中華系端末があります。
MIPS Androidのronzi A3と、通称MID V7系のBpad702です。
以前から時々「お使いの端末」に表示される気がしてはいたのですが、表示される確率が上がったのは11月に入ってから、継続して表示されるようになったのは11月中旬以降という感じです。

実際にどんな風に表示されているかというと↓

画像の中にもコメントして入れていますが、表示基準がいまいち分からない。

「NTT docomo Sony Ericsson U20i」
Xperia X10 mini proにドコモのSIMをさしているものです。
firmwareをいろいろ変更していますが、表示されるのはコレ1行のみ。

IMEIベースなのかな?と思っていたのですが、
「NTT docomo」という識別符がついていることを考えると
他にも何か要素があるのか?

「IS01」
auのIS01。標準のAndroid 1.6のまま使っています。

「Ingenic Lynx」
MIPS Androidのronzi a3。
この端末、firmwareを書くとMACアドレスが変更になるというすばらしい仕様。
変更法則はよくわかりません・・・
20回ぐらい書き直しているのですが、同じMACアドレスにはならない模様。

MACアドレスベースなのかと思いきや、2行しかないので、それ以外の何かの要素があるのか?

「Wondermedia WM8650」
Bpad702という通称MID V7系のAndroid端末にslatedroid.comで配布中のfirmwareをいろいろ書いてみているもの。
これはfirmwareを書き換えてもMACアドレスは書き換わったりしないようなので、1行のみ。

「携帯端末」
正体不明。
該当するとすればronzi A3ぐらいしか思い当たるものはないんだけど・・・

MIPS Android用にbusyboxをコンパイルする


MIPS Android内のbusyboxでapkを展開しようとすると、以下のエラーがでる。

# busybox unzip ../ni*apk
Archive:  ../nicoWnnG-2011.1115.1-mips.apk
unzip: zip flags 1 and 8 are not supported
#

まぁ、これは、MIPS Androidに限らずARM系でも同じ。
busyboxのコンパイルオプション変更でなんとかならないかなぁ、と調査。

BusyBoxからソースファイルを入手し、コンパイル。

横着してAndroid SDK for MIPS内のコンパイラを使おうとしたら失敗した。
かなり初期段階でエラーがでた。

バイナリ配布のMIPS用クロスコンパイラを探したところ、MIPS DeveloperのCompiler紹介ページで紹介されているCodeSourcery G++ Lite Compilerが良さそうだったので使う。

Sourcery CodeBench Lite 2011.03-93 for MIPS GNU/Linux からAdvanced PackagesのIA32 GNU/Linux TARをダウンロードし、適当なディレクトリに展開した。

$ wget https://sourcery.mentor.com/sgpp/lite/mips/portal/package9055/public/mips-linux-gnu/mips-2011.03-93-mips-linux-gnu-i686-pc-linux-gnu.tar.bz2
<略>
$  bzip2 -dc mips-2011.03-93-mips-linux-gnu-i686-pc-linux-gnu.tar.bz2|tar xf -
$ cd mips-2011.03/bin
$ export PATH=`pwd`:$PATH
$

そのあと、busyboxをダウンロードしたディレクトリに移動。

$ make defconfig
$ make menuconfig

menuconfigを使って、いろいろカスタマイズを実施。
「CONFIG_LZOP_COMPR_HIGH」が圧縮率関連のパラメータっぽいなぁ、とyに変更。
「CONFIG_CROSS_COMPILER_PREFIX=”mips-linux-gnu-“」というポイントを忘れずに。
その他変えたポイントは・・・

CONFIG_STATIC=y
CONFIG_CROSS_COMPILER_PREFIX="mips-linux-gnu-"
CONFIG_FEATURE_SEAMLESS_Z=y
CONFIG_LZOP_COMPR_HIGH=y
CONFIG_FEATURE_VI_8BIT=y
CONFIG_TUNE2FS=y

そして「make」
….
できあがり、転送したが、実行できないバイナリだった。

$ file busybox-test
busybox-test: ELF 32-bit MSB executable, MIPS, MIPS64 version 1 (SYSV), for GNU/Linux 2.6.12, statically linked, for GNU/Linux 2.6.12, stripped
$
# ./busybox-test
./busybox-test: 1: Syntax error: "(" unexpected
#

「CONFIG_EXTRA_CFLAGS=”-march=mips32″」も付け加えてみる・・・不可

おかしいなぁ、と探してみると、busyboxのページでバイナリ配布の1.19.0を発見
以下の3種類があった。

$ file *
busybox-mips:   ELF 32-bit MSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked, stripped
busybox-mips64: ELF 64-bit MSB executable, MIPS, MIPS32 version 1 (SYSV), statically linked, stripped
busybox-mipsel: ELF 32-bit LSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked, stripped
$

それぞれを、ronzi A3に転送して実行してみる。

# ./busybox-mips
./busybox-mips
./busybox-mips: 1: Syntax error: "(" unexpected
# ./busybox-mips ls
./busybox-mips ls
./busybox-mips: 1: Syntax error: "(" unexpected
# ./busybox-mips64 ls
./busybox-mips64 ls
./busybox-mips64: 1: Syntax error: newline unexpected
# ./busybox-mipsel ls
./busybox-mipsel ls
busybox         busybox-mips    busybox-mips64
 busybox-mipsel
#

実行できたのはbusybox-mipselでした。
つまり「ELF 32-bit LSB executable, MIPS, MIPS-I version 1 (SYSV)」のファイルのみ。
そういえば、とsuバイナリを見てみると「su: ELF 32-bit LSB executable, MIPS, MIPS64 version 1 (SYSV), dynamically linked (uses shared libs), stripped」
少なくとも「32-bit LSB」にする必要があるようだ。

$ make CFLAGS="-EL -march=mips32" LDFLAGS="-EL -march=mips32"
<略>
$ file busybox
busybox: ELF 32-bit LSB executable, MIPS, MIPS64 version 1 (SYSV), for GNU/Linux 2.6.12, statically linked, for GNU/Linux 2.6.12, stripped
$

目的とするものが作成されました。

そして、

# ./busybox unzip /sdcard/nico*apk
./busybox unzip /sdcard/nicoWnnG-2011.1115.1-mips.apk
Archive:  /sdcard/nicoWnnG-2011.1115.1-mips.apk
  inflating: META-INF/MANIFEST.MF
  inflating: META-INF/OSAKANAT.SF
  inflating: META-INF/OSAKANAT.RSA
  inflating: assets/and3ime.png
<略>

ということで、無事、apkファイルを展開できるunzip機能をもったbusyboxが完成しました。

これが何のために必要だったのかというと・・・

# ../busybox unzip /sdcard/nicoWnnG-2011.1115.1-mips.apk lib/mips/libnicoWnnGEngDic.so lib/mips/libnicoWnnGJpnDic.so lib/mips/libnicownngdict.so
Archive:  /sdcard/nicoWnnG-2011.1115.1-mips.apk
  inflating: lib/mips/libnicoWnnGEngDic.so
  inflating: lib/mips/libnicoWnnGJpnDic.so
  inflating: lib/mips/libnicownngdict.so
# ls
lib
#

というような感じで、カスタマイズ時に必要なlibファイルの取り出しを自動化できるように、ということだったります。

コンパイルしたバイナリをbusybox-1.19.3-mips.zipに置きました。
中身は「busyboxバイナリ」と「busyboxをコンパイルする際に使う.config」です。