2012-06

2012-04 FM3 RX62N SH2A Android PIC32MX


6月


持ち越し案件

  • USBオシロみたいな奴。 --- 済み
  • MinGWクロスgccのビルド。
  • STM32F4で何か --- 何もしていない。






Android-x86 4.0.3(Ice Cream Sandwich)を VMWarePlayerで飼いならしてみるテスト

始めました。

read more : Android


ubuntu installer free for Android

  • 試してみたい
  • けど実機がない。
  • root取る必要がある。

How to Install Native Ubuntu on EeePad Transformer!

EeePad欲しいなー。
けど、TF300が近々出るし。
native ubuntuのほうは(たぶん)TF10x専用なんだろうなぁ・・・。(実のところ良く分かってない)

そういえば、どっかにAndroidでbash動かしたり、Linuxの普通のユーザーランド動かしたりする解説サイトないのかな。

  • まあ、普通にubuntuをインストールするという手もあるんだろうけど・・・。

これかな?

小ネタ 2010-021 Android NDKでネイティブCUIアプリを作ってみる

  • Androidって、ディレクトリ構成相当変だけど基本Linuxだよね(Y/y)






PHPにはまった。

websvnの話。

  • PHPのスクリプトは、<?php 〜 ?> のタグ(のようなもの)の間にphp コードを書いて、その外側に静的なHTMLを書くようになっている。
  • RSS表示のためのスクリプトである、rss.php は
  • まずはじめに include config.php を行なっている。
  • そのあとで rssの本体を標準出力に書き出している。


  • 問題は、config.phpの内容。

<?php 
   〜 
?>
 

  • 最後になぜか空行がある。おそらくだれか(自分かもしれない)が間違えて挿入したものだろう。
  • このために、rssの本体の前に必ず1行の空行が挿入されてしまう。困ったもんだ
  • IE8で見ても、区別はつかない(ソースを見れば付くのだが)
  • FireFoxで見ると、最初に空行があるRSSフィードはエラーとして表示されてしまう。
  • rssでない、普通のHTMLである限りは、どのブラウザでも空行は丸無視されるので、全く無問題だったのだ。
  • まとめると、config.phpのようなインクルードヘッダーにおいては
  • <?php 〜 ?> の外側には空文字を一切書いてはいけない、ってことなんだ。

これはPHPの罠だと思う。






Androidで他のARM Linuxのバイナリを動かす

  • 簡単に言うとldd bashとかやってみて、依存libファイルを/lib/以下にコピーするだけ。
  • Androidには/libがないので作る。
  • Androidには/etcがあるので、もしかしたら/etc内のファイルが衝突することがある(かもしれない)


  • たぶん自分がAndroidを使うとしたら、sshd入れて、最小構成のCUIなubuntu serverみたいなやつを chroot分離環境に入れて、sshでWindowsのteratermから繋いで使うのかもしれない。
    • (単なる非力なARMバイナリーを試すだけのプラットフォームとして)
  • そのARM機にEthernetが装備されているなら、玄箱の代わりにWebサーバーをさせるかも。
  • VIAのAndroidPCとかRaspberryPiが買えるなら、もうそのままARM Linuxが走るしEthernetもあるので、手間要らずかも。
  • GUIやJava層には全く興味が無いんだな。






Aitendoの謎基板3950円売り切れ。

  • 次回入荷に期待。
  • これLAN付いてないんだよう。
  • 技的付いてなさそう。
  • ついでにMarketもついてなさそう。

まあ中華なんてそんなもの。






この仕事が終わったら・・・・

  • FM3でPDP11のエミュレータ書いてunix動かすんだ。(FM11ぢゃないよ)
  • そしたら、こんどはそのunixをネイティブThumb-2で動くようにリコンパイルするんだ。
  • gccなんか使っちゃだめだよ。 --- PDP11上のpccでビルドするんだ。---何のため?ブートストラップの儀式


参考URL

フラグか?

フラグなのかっ!

・・・

続く






PIC32MX DIPパッケージ。キター!

PICマイコン PIC32MX220F032B−I/SP


PICマイコン PIC32MX110F016B−I/SP

  • ・MIPS32(R)M4K(R)コア(32ビット)搭載
  • ・高速動作(最大クロック40MHz)
  • ・DMA機能搭載
  • ・高速ADコンバータ内蔵(最大1,100KSPS)

えーっと、MIPS32コアのマイコンがDIP28P(ATmega32と同じDIPパッケージ) で発売されて、しかも190円で買えるなんて、夢のようだ。

/ATMEL_AVR/jpg/pic32.jpg

  • 夢かも。
  • USBは付いてない。
  • SRAMがPIC並に少ないんですけどこれ。
    • MIPSのレジスタ構成知っててわざとやってるんだろうか(SRAM4K)。32bitレジスタが32本あるので、割り込んだだけで128byteくらい使うし、コンテクスト保存でも同様にそれくらいが必要。
    • あと、関数コールを含む関数(leafでない関数)ではセーブレジスタ8本とかすぐにスタック退避されるので、スタックはぼこぼこ消費される。
    • 下手するとスタックエリアだけで軽く4kB使う勢い。


さて、何に使うかこれ?

  • 真っ先に思いつくのが、Arduino純正基板にこのチップを換装して、32bit偽装Arduinoかな。
  • 裏側はパターンカットとジャンパーの嵐。





PIC32MX DIP28PパッケージでしかもUSB内蔵!!!

まるで夢みたいだ。 買わない手はもうない。

  • FLASH 16KBのは、200円 32kBのは220円。


  • さて、ライターだが・・・PIC32MX220はPICkit2では焼けないらしいが、ググるとpic32prog.cみたいなものがあるらしい。
  • EJTAGとICSPのどちらでも焼けるので、pic18spxを改造して焼くか、pic32progのようなものを使うか・・・だな。
  • (どうやらPICkit3は最初から選択肢にないらしい)
  • PICkit2は当然持ってない。PIC18F2550で作れるけど。

たぶん察していると思うけれど、ライターを作るまでが遠足だからね。

  • 焼けるようになったからといって、それで何かを作るというわけでもないところが駄目なところだ。

read more : PIC32MX



るねさすピンチ!

  • なんだかんだ言ってもね。3社の寄り合い所帯だったわけで。結局品種統合しなかったしね。
  • H8とか20世紀の遺産を保守し続けていても未来はないし、今さら流行る訳ないし
  • 個人的にはRXシリーズはもっと早く発売されて頑張って欲しかったけどARMの最下位品種に完負けしてる現状では時既に遅し。
  • LSIの信頼性はほんとに高いのかもしれないけれど、日本独自仕様はガラパゴスと揶揄されて敬遠されていくよね。
  • 結局家電メーカーも大陸依存しているし、ここで自動車メーカーが国際調達始めたら大口顧客全滅するじゃない。

震災と1F事故さえ無かったら、と思うことはある。





AllWinner A10


  • CPU+GPUのコストが$7じゃあ$40〜$60くらいで商売してるAtomとか真っ青だな。
  • 一時期、$100 OLPCとか騒がれてた時代があったけど、$100以下の中華Android端末はたくさんあるし、そこそこの性能もある。OLPCはVIAだかAMD AMDGeode GXの500MHz程度のCPUが使われていたけれど、ハード面でもソフト面でももうAndroidが追い越した感がある。
  • Androidはコンピューター教育にはあんまり向いてない。ソースコードは公開されているが、簡単にいじれるほどのものではないし、いじりがいがあるようなものでもない。
  • むしろユーザーランドはAndroidを避けて普通のLinuxにすべき。





本物のAndroid入手。

  • これまでは、Android-x86をVMWarePlayerで動かしていたが、このたび遂にARM insideなAndroidの実物を入手した。
  • ここを参考に、ubuntu 12.04化してみた。
  • とりあえず、hello worldのCソースを書いて、gccを使ってコンパイル、実行した。
    root@localhost:/tmp# gcc a.c
    root@localhost:/tmp# ./a.out
     hello world.
    root@localhost:/tmp# 
    OKだ。問題ない。


Android端末を手に入れた、というよりはむしろ、 ARM-Linux端末を手に入れた、という表現のほうが正しいみたい。




ubuntuが使えるようになると、Windows上などからsshでAndroid(というかubuntu)にログインしたり、VNC Viewerを使って Android(というかubuntu)のデスクトップに接続できたりする。とても興味深い

  • ただし、VNC経由のデスクトップなので、速度はそれなりだ。Android上のVNC Viewerを使ってlocalhostに繋ぐときもそんな感じ。
  • GUIを捨ててssh経由のCUIで使うなら快適だ。Android上のTerminal Emulatorで使う限りはラグは感じられない。





XENがXENXEN動かなくて困ってる件

  • ↑洒落になってない。


いったい何が起きたのか解説しよう。

  • とある互換機にubuntuを導入。
  • XEN-Hypervisorも導入。
  • ところが、Xenカーネルを起動すると、60%以上の確率で、dom-0が起動しない。(いわゆる、刺さる、ってやつ)
  • 普通のubuntu12.04(Linux3.2)カーネルの起動は、何の問題もない。
  • 30%以下の確率で、起動することもあるが・・・それじゃあ怖くて使えない。


ここで愚痴ってもしかたないんだが、とりあえずスペックを書いておこう。

  • マザーはASRockのH61マザー。PCIスロットが2個付いてるといえばたぶん分かるだろう。
  • CPUはCeleron G530 (貧乏だぜー。byスギちゃん)
  • ubuntuは11.10と12.04の両方を試した。(いずれもserver-64bit)
  • メモリーは8GB。memtestは合格済み。


  • dom-0が起動しないパターンだが、Xenカーネルのdmesgが出たあと、dom-0のdmesgが全然出ないでハングするパターン(11.10)と、dom-0の最初のほうのdmesgの途中でハングするパターン(12.04)がある。
  • BIOS設定で、intel VTをoffにすると、一度だけubuntuが立ち上がって、xm list出来た。
    • しかたない、どうせpvm(準仮想化)しか使わないから。と思ってそのまま使おうとしたら、
    • 2度目以降は、dom-0が全然起動しなくなった。


ちなみに、別のH61マザー+Cele530Gの組み合わせではpvmもhvmも問題なくピンピン動いている。(メモリー8Gも同じ)

  • チップセットもCPUもメモリー容量も同一なんで、あとはBIOSが違うとかPCIにtulipなNICを挿していることが違う程度だ。

・・・マザー買い替え。なのか・・・・PCIが刺さるマザーって、もう選択枝ないんだな。困った


原因はBIOSだった。

  • BIOSアップデートで2.0のものを導入したら直った。
  • でも、原因は結局なんだったんだろう。BIOSのバグ?
  • 2.00 6/6/2012 Instant Flash 2.86MB Modify for Windows8 shut down behavior.
  • 1.80 5/14/2012 Instant Flash 2.84MB 1. Improve USB compatibility. 2. Modify Dell Raid card issue. 3. Update CPU code.
  • 1.70 4/10/2012 Instant Flash 2.83MB Intel Ivy Bridge CPU に対応





ついに人工知能が誕生・・・なのか?

Google、大規模人工ニューロンネットワークを用いた研究成果を紹介


引用: >Googleの人工ニューラルネットワークは、演算能力を1万6000個のCPUコアに拡大し、

>10億以上の接続ポイントを設けた。

>成人男性の脳の神経経路は約100兆個の接続があるとされており、「まだ拡大の余地は大きい」


  • つまり、あと1万倍のCPU(1億6000万個)が要るのか・・・。
  • これだったら、むしろニューラルネット専用のFPGAを開発するとか、いっそサルの脳みそに電極をさすとか、したほうがよさそうだな。


  • ガニメデの優しい巨人のVisorとかZoracが現実になるんかいな。胸熱だな。






<前の月次の月>