2012-03

2012-02 RX62N SH2A Xen-hypervisor


もう3月。あれから1年・・・時間は止まったまま



先月の成果

  • ubuntu11.10上でXen-hypervisorを動かして、
  • さらに実在しているVineLinux4.2をpvm(準仮想化)に変換して動かすことが出来た。
    • ここに至るまでには、ubuntu上でubuntu 32bit/64bit ,CentOS4.8 , FedoraCore6 までのpvmイメージを作って動かすことを行なった。Vineはpvm(完全仮想化)でも動かしてみた。
    • Linuxの仮想化はもう当たり前だ。




持ち越し案件

  • USBオシロみたいな奴。
  • SH2AのFPU使いこなし。
  • MinGWクロスgccのビルド。
  • STM32F4でMaple --- 秋月品切れ中。





STM32F4Discovery

シンセアンプラグドさんがTGSTM32F4を作り始めていらっしゃるようで、

  • http://d.hatena.ne.jp/pcm1723/20120211/1328985956
  • 秋月でSTM32F4ポチろうとしたら、品切れになっていた。(ァゥ)買いそびれてやんの。
  • もしかしてあの基板はDACが載っているのでかなり音いいんじゃないかな。
  • AAAなんで、また入荷を待つか。





こいつは凄い:ubuntu installer

Install, Run Ubuntu on Android

  • まあ、本体メモリー512MBだとちょっときついだろうが。





自分用メモ:USB-CDCデバイスの転送バイト数

Bulk EP IN/OUTのサイズは64だと仮定しての話。

  • デバイスからホストに送信するバイト数が64以上の時は、64byte単位で送信することで、HOST側は連続して引き取りに来てくれるので転送が速くなる。
  • ただし、最後に送信したバイト数が64のときだけ、後続データがないことを示すための0byteパケットを最後に送る必要がある。
  • つまり、裏を返せば、転送バイト数が63byte以下のパケットを送ってしまうと、CDCデータがそこで途切れていると言うことをホストPCに知らせることになり、次のUSBフレームまでデータを取りに来ないような感じになる。


  • 転送単位を64byteにした場合に転送がハングするのは、転送サイズの問題ではなくエンドポイントの制御がうまくいっていない場合が多い。
    • とりあえずハング回避したければ、常に63byte以下の転送になるように分割する。
    • その場合はデータ引き取り頻度がおそらく1mSインターバル程度になって、転送速度も63kB/sec程度となる。


なんでこんなことやってるかと言えば、

  • USBオシロみたいな奴。
  • これの続きを製作中だから。





秋月:STM32F4−DISCOVERY

在庫復活。ポチれっ!

  • http://akizukidenshi.com/catalog/g/gM-05313/
  • Flash 1MB , SRAM192kB , CPU 168MHz FPU入り
    Advanced connectivity
     USB 2.0 full-speed device/host/OTG controller with on-chip PHY 
     USB 2.0 high-speed/full-speed device/host/OTG controller with dedicated DMA, on-chip full-speed PHY and ULPI 
     10/100 Ethernet MAC with dedicated DMA: supports IEEE 1588v2 hardware, MII/RMII 
  • USB OTGは2系統あって、FSとHSらしい。PHYも両方付き。
    3×12-bit, 2.4 MSPS A/D converters: up to 24 channels and 7.2 MSPS in triple interleaved mode 
    2×12-bit D/A converters 
  • ADは3系統、DAは2系統も内蔵されているらしい。てんこ盛りだな
  • ST-Linkが切り離せないのがアレだな。基板もでかいし。





メモ:Poorman's ADK

kako.comさん経由の情報

  • このUSB接続での余ったEndpointをADK用に開放してくれているらしい。
                            [Arduino/PIC24F/ARM...]
    Android端末 <===USB===<  USBホストになれるマイコン 
  • なので、Arduinoの場合はUSB HOSTシールドが必須だ。
  • ARMの場合も、USB OTGとかHOSTになれるデバイスでなくちゃだめだ。
  • この逆のパターン
                            [Arduino/PIC24F/ARM...]
    Android端末 >===USB===>  USBデバイスのマイコン 
  • もあるはずなのだが、その場合はAndroid端末がUSB HOSTになる条件が必須になるので、OSが3.xとか4.0でかつ、USB端子もdevice/host兼用のものでなくてはならない。


つまり、あれだ。

ADKで何かするプログラムを作りたいのなら、

  • 別にPIC24FJ64GB002とか、USB HOSTシールドとか、そういう高価な機材を買わなくても、
  • 普通にWindowsやLinux上でlibusb叩くだけでできるんじゃあ?
  • 動くのが分かってから、マイコン側を組み立てれば良い訳で。

まあ、どっちにせよ、AndroidのJava側と、WindowsもしくはARMのUSB HOST側の両方を書かないと試せないという時点で モチベーションだださがり確定な事案だな。(もちろんADKのサンプル丸写しでやるのだけれど)





秋月でフォトマル?

用途
・蛍光測定
・バイオフローサイトメトリ
・DNAバイオチップシーケンサ
・環境分析
・PET
・高エネルギー物理実験
  • 意味が分からない。LHCとかで実験する人が秋月で部品調達することはありえないので、最後の項はジョークにしてもおかしい。





Android OS研究

Terminal Emulator (SHell)

ConnectBot (SSH Client)

Ubuntu installer


  • 上の2つを試してみたが、残念ながらどちらもキー入力が一切出来なかった。(お前はアンドロイド初心者か?)
  • 最後の1つを試したかったが、最初の奴を使ってROOT権限を取得したりとかしないといけないらしいので試せなかった。

だけれども、冷静になって考えてみたら、5万円くらいするARM機(Cortex-A9 DualCore 1.2GHz級)よりも Atom1.6GHzの格安ネットブックのほうが、実はCPUパワーもGPUパワーも上で、しかも上記3個のソフトを インストールする必要など最初からないのだ。

  • 普通にubuntu11.10を入れれば、3番目の作業は不要で、SSHなど付いてて当たり前、terminal emulatorもしかり。
  • 何よりBlueToothキーボードとかも不要。
  • 強いて欠点を言うと、格安ネットブックは1kg強とARM機よりも重いことと、HDDが250Gくらい無駄に入っていることと、キーボードまでも付いていることと、有線LANやUSBホストが標準で付いていることと、起動が遅いことと電池の持ちが悪いこととタッチスクリーンがないことだ。
  • でも、ubuntuを普通に使いたいだけなのに、わざわざAndroid機を買って、ソフトウェアインストールの苦行を行なったり使いにくいソフトウェアキーボードを叩いたりするのは本末転倒的行為だということに今更ながら気づいた次第。






    <前の月次の月>