2013-10
2013-09 FM3 RX62N SH2A PIC32MX
10月
- なんと、おまけでTinyBasicまで移植してしまった。
所感:
- PIC32MXは、220円なのにトコトン遊べる石だ。(たぶん半年くらいは遊んでいられるだろう。まだUSB HOSTを遊んでいない
- ATtiny2313のときも、V-USBで半年は遊べた。あの石は110円くらいだった。
- まあ、なんというか、1つの半導体を骨までしゃぶり尽くすというジャンルは、ありかな。
- 遊び方というのが、既製品ライターや開発ツールを一切買わないで自力でブートする、というやつだ。
これから:
- SPIがある程度叩けるようになったので、たぶん2chまでのロジアナいけるかもしれない。
- 単体BASICコンピュータ、作れるかも。PS/2 KEYBOARDとSDCARDとサウンド出力(とVGA出力 or NTSC)。
- まあ、需要があるかどうかは、微妙だな
- USB HOSTを追求してないので、やってみるのも一興。
- でも、pcDuinoが秋月で入手できるらしいので、そっちに移るかも。
- 1GBと8kBじゃあ、アンドロメダとすっぽんくらい広さが違うか。
HIDBoot.X更新
サイズを4kB減らしました。
もっと読む: HIDBootX
pcDuino
- ubuntuとandroidが走るA10マイコン(CPU=1GHz,DRAM=1GB,GPU=Mali400)
本家
通販(岡山)
- http://www.androciti.com/?pid=62881105
- 秋月でも(AAA)。ストリナでも売ってます。
どこがいいの?
Raspberry Pi A | $25 | \2,500 | ARM11 | 700MHz | 875MIPS/Core | 875MIPS | 256MB | HDMI | |||||
Raspberry Pi B | $35 | \3,500 | ARM11 | 700MHz | 875MIPS/Core | 875MIPS | 512MB | HDMI | Ether | ||||
BeagleBone Black | $45 | \4,500 | Cortex-A8 | 1GHz | 2000MIPS/Core | 2000MIPS | 512MB | HDMI | Ether | 各種拡張ボード(ケープ)あり | |||
Cubieboard | $49 | \4,900 | Cortex-A8 | 1GHz | 2000MIPS/Core | 2000MIPS | 1GB | Mali400 | HDMI | Ether | SATA | 4GBNandFlash | 96extendPin |
pcDuino | \7,350 | \7,350 | Cortex-A8 | 1GHz | 2000MIPS/Core | 2000MIPS | 1GB | HDMI | Ether | Arduino内蔵 |
- RaspPi祭りに乗り遅れたので。
- RaspPiよりRAMが多い。CPUもGPUもパワーがある。
- RaspPiのCPUはARM11で、かなり古い。
- 値段はRaspPiより高い。けれどAndroidも走る。
- ArduinoっぽいI/Oピンが立っている。まあUSBあるから使わんけど、どうしても高速I/OポートをLinuxから直叩きしたい向きには、格好の餌食だ。
- WiFiが実装されていないこと(USB接続の小型アダプタという手はある)。
A10の英語仕様書:
A10 Linux
- A10とか言ってるけどARMにはCortex-A10は無い。
- Cortex-A8 + Mali400GPUのワンチップSoCを中華メーカーがA10と名づけている。
- シングルコアの1GHzなので今となっては、そんなに速くない。といってもMarvel ARM266MHz程度の玄箱よりずっと速い。
- 一時期、中華Padにこの石が大流行りした。Android4.0がそのまま使えるファームがあったからだけど、実際4.0を動かすには ややCPUの処理速度が不足している気がした。シングルコアなので、重いアプリが多い今となってはつらい。GPUパフォーマンスはまだ大丈夫だ。
pcDuino 使ってみた。
- とりあえず2枚買った。
- Raspberry Piは使ったことがないので、比較は出来ない。
- けれど、pcDuino は良い。ちょっと高いけどね。
どこが良いの?
- 性格が素直。
- 買ってきて、電源を繋ぐだけで、内蔵2GB nandから、ubuntu12.04(GUIはlightdm)が立ち上がる。
- (玄箱のDebianインストールのシチ面倒臭さがまるでアホみたいだ。)
- 母艦を用意することなく、本体(+microSD+USB memory)だけで、公開されているubuntuのイメージをmicroSD側にddで書き込んで、そのままmicroSDから新しいubuntuをブートできる。
- 新しいubuntuがトラブった場合でも、microSDを抜いて起動し、起動後にmicroSDを挿せば、自己メンテナンスできて便利。
- 性能的にはまあ充分。
- ARMでLinuxが動くボードとしては、充分。
- ただし、Intel Core-i5なんかと比べちゃ駄目。比べるならAtomの旧製品のシングルコア版と比べて、たぶん劣る。
- GUIはそんなに速くない感じだった。
- メモリーの1GBは、まあ我慢できる。512MBだと今時のLinuxではアウトなのでラズパイはアウト。
- Androidも動かせるらしい。
- 未検証。まあNexus-7あるから要らんかな。
どこが駄目?
- よく調べてないけど、RTCが無いので、起動時にntpdateかまさないと2010年1月1日から始まってしまう。
- /var/logがtmpfsなので、ログが毎回消える。(fstabから外せば直るが)
- CPU兼GPUのA10が熱い。要らなくなった互換機マザーのサウスのヒートシンクを貼った。
- けれど、それでも熱い。クロックを下げたいところ。
- この性能でArduinoのPORT叩きは完全なるオーバースペックだと思うけど、たぶんどんなに巨大なスケッチ書こうとも メモリー足りるし、へこたれないと思う。その気になれば、NEON/vfpフル回転なスケッチも書けるよ。
- ていうか、こいつ自身がArduinoになる使い方じゃなくて、USBの先にAVRのArduino繋いで、開発できるよ。
- (Arduino IDEは最初からインストールされていました。)
結論
- もう、ArduinoとかDueとか、もどきとか、mapleとか、GR-SAKURAとかmbedとか、全部要らないー(甘い贅沢 by MEG)
- 最初からLinuxが入ってるなら、あとは何も要らない。
- 結局、Cortex-Mなマイコンって、何に使うつもり?Linuxが動くとでも?
- どれもLinux動かせないしRTOSなんて中途半端。
つまり、今まで1万円〜2万円以上していたLinuxボードが、Arduinoと同じスケールで使えるようになるんだったら
Arduinoに位置していたプロトタイピングツールの存在価値は一挙に薄れてしまう。
- 消費電力と基板サイズが今のところネック。価格的にはRasp-PiとArduinoは同格だし、ARMなArduinoになると逆転してる。
- そもそもARMなArduino(Dueのこと)の存在価値はあるのか?Linuxが逆立ちしたって動かないのに。
pcDuino のコンパイル速度
- ベンチマークは例によって、jedという軽量テキストエディタのビルドタイム。
- 自分が使っているjedは、VineLinux4.2に付いてきたjed_ja(EUC,SJIS OKな改造版)だけど、
- 単にコンパイルベンチするのであれば、apt-get source jed で取ってきて普通にtime make するだけでOK.
- なんでjedをコンパイルベンチに使っているかというと、時間が適度なことと、常用するエディタなので、必ず1回は 新しいターゲットでビルドする必要があるから。
- pcDuino(Cortex-A8 1GHz / microSD 16GB class10)
real 1m17.050s user 1m4.380s sys 0m3.490s
- intel x64 (Core2 2.5GHz程度だったと思う。違うかも?) makeの-jオプションはいれずにシングルスレッドでビルド。
real 0m17.860s user 0m16.480s sys 0m1.068s
- arm-linux On QEMU (ubuntu13.04のLXC+QEMUを使ってお遊びで導入したARM-Linux。HOST PCはおそらく上と同じ奴)
real 2m26.298s user 2m15.752s sys 0m7.588s
- 結果、Core2に4倍くらい差をつけられている。けれどクロック差やIPC(1クロック当たりの命令数)を考えればpcDuinoは結構頑張っている。
- 次回は、intel PC側のCPUバリエーションをいくつか用意していろいろ比較してみよう。(全部x64だけど)
PinguinoX.4
- pcDuinoはちゃんとセットアップを完了して玄箱からリプレース終了した。
- おかげで、玄箱のHDD音とファンの振動から開放された。
- Postfixとdovecot(鳩小屋)のMaildir設定が最後まで虎ぶっていたが、なんとか解決。
- ntpdateは良いネット環境ではどのubuntuも起動時に時計合わせするようだ。(ntp.ubuntu.com)
- けれど、ADSLのPoorな環境では(というかNTPパケットが相互に通らない環境では)時計を合わせてくれないので難儀した。
まあそれは置いといて、最近はPinguinoX.3を卒業してX.4を使うようにした。
- あと、forum.pinguino.ccも拾い読みするようになった。
- そしたら、ADKの話題が出ていたので、早速Pinguinoを立ち上げて、exampleを試す。
D:\PinguinoX.4\examples\09.Interfacing\Android
- しかし、ビルドしてみると足が出ていた。
- USB Host STackが意外とでかい。スケッチのバイナリーサイズは50kB強あるし、SRAMも12K以上ある。
- よって、MX220F032Bには逆立ちしても入らないっぽい感じ。
- ・・・Mchipのサンプルだと32kBに入ってたのになー・・・。
- ところで、PinguinoのUSB CDC StackとHOST Stackのソースは何処に?
- ソースを探す旅に出よう。
pcDuino:RAMLOG
ログ・ファイルをRAMに置いてシステム・パフォーマンスを改善する方法
- http://sourceforge.jp/magazine/08/07/18/0047251
- pcDuinoでは元々/var/logはtmpfsだ。
- だがそのままでは、サーバーとして長期運用するのは難しい。設定を変えて再起動するたびにログが消去されるのは困る。
- /var/logへの各種log書き込みはけっこう頻度が高いので、普通にmicroSDに吐かせるとすぐに寿命が来るだろう。
- だから、RAMLOGのようなものは必須だ。
- logrotateに対応して欲しいな。
pcDuino:コンパイルベンチの続き
- jed(軽量テキストエディタ)のコンパイル時間計測結果は、こんな感じだった。
pcDuino(Cortex-A8 1GHz / microSD 16GB class10) real 1m17.050s user 1m4.380s sys 0m3.490s model name : Pentium(R) Dual-Core CPU E5200 @ 2.50GHz real 0m20.738s user 0m17.272s sys 0m2.904s model name : Intel(R) Celeron(R) CPU G550 @ 2.60GHz real 0m14.441s user 0m12.192s sys 0m1.908s model name : Intel(R) Core(TM) i3-3220 CPU @ 3.30GHz real 0m6.331s user 0m5.560s sys 0m0.480s
- E5200って、今となっては遅いのね。
- 自分の頭の中では結構速い部類になってたのは、おそらくCore2世代で時間が止まっているからかも知れない。
- 一応全部ubuntu+gcc,pcDuinoのみubuntu12.04、他は13.04
- 計り方はmake clean;time make; なので結構いい加減な値かも。HDD性能も全部違うし。
- すでにお察しかと思いますが、intelのCPUはどれもコスパの良い安物ばかりチョイスしています。
Due VGA
日曜エレクトロニクス(日エレ)
- Due用のVGA出力ライブラリ、あるんだ。
- カラー出力もOKみたい。
- しかも漢字出てるし。
しかしあれだな、HDMI出力が付いてLinuxも動くボード(Rasp Piとか)が2500円で、
方や、頑張ればモノクロSVGA出力が出来るDueが5000円くらいという混沌の中で
人はどちらの基板に価値を見出すのだろうか(BGM 地上の星♪)