2010年9月1日水曜日

Beagle Board-xMについて調べ中なう

(9月に入って憂鬱な隠者でございます。
いや、そろそろいろいろ決着をつけなければならない問題が積まれている状態でして。

というわけで、現実逃避がてら、BeagleBoard-xMを調べてみてたりします。
まぁ、Androidを動かすというミッションは、既にsolaさんが情報公開してくださってますので、僕はのんびりと、マニュアルを眺めるところから。


システムマニュアルは、BeagleBoard Hardware Design から、入手ができます。
マニュアルのIntroductionには

The processor used on the BeagleBoard-xM is compatible with several Cortex A8 processors manufactured by Texas Instruments. Currently, the processor is a DM3730 processor, which has yet to be announced by Texas Instruments. The only documentation that is available is the AM3715. The key difference between the AM3715 and the DM3730, is that the DSP is not included on the AM3715.
と書かれています。というわけで、CPUはAM3751にDSPが含まれているDM3730ですね。マニュアル中にはまだアナウンスされていないとなっていますが、本日の時点で、既にTIのサイトでは、Activeになってます。

まぁ、僕と同じく組込み系の経験が浅いアプリ屋だと、 DSPってなんぞやとか思うわけですが、デジタルシグナルプロセッサ (Digital Signal Processor)といって、デジタル信号処理に特化したマイクロプロセッサで、画像処理とか動画のエンコード、デコードといった処理をこちらで行うことで高速に処理することができるようになるという代物です。これが付いていると出来る事の可能性が広がります。

PMIC(電源管理)用のチップとしては、TPS65950が載っているようです。

TIのWebを見ると統合パワー・マネージメント IC、3 DC/DC、11 LDO、オーディオ・コーデック、USB HS トランシーバ、チャージャー内蔵って書いてます。電源管理とオーディオコーデックはこちらのチップの役割のようです。


Beagle Board-xMには、残念ながらNORもNANDもありません。
DM3730には、GPMC Busという外部メモリコントローラのバスがあるのですが、マニュアルを見ると
8.10.3 GPMC Bus
The GPMC bus is not accessible on the BeagleBoard. Its connectivity is limited to the POP memory access on the top of the processor and therefore is only accessible by the NAND memory.
The memory on the GPMC bus is NAND and therefore will support the classical NAND interface. The address of the memory space is programmable.
ということで、使えないようです。こっそりNORを付けてu-bootまでは高速起動できないだろうかとか思ってたので残念です。

ま、そのようなわけで、BeagleBoard-xM君を起動すると
  1. BootRomが最低限の初期化を行ない、microSD Powerの設定をTPS65950へ行う
  2. BootRomはその後、GPMC(xM君は利用なし),MMC1(microSDが接続)の順に検索しMLOをさがす
  3. MLOからX-Loaderが起動。u-boot.binをメモリに展開
  4. u-bootが起動し、uImageを読み込む・・・
    といった流れで起動するようです(*1)。詳しいことはまだわかってませんけど、MLOというのは、どうやらBootRomが理解できるような署名を付けた X-Loader でしょうか。

    なおxMに付属のmicroSDに入ってる中身と、その起動の様子は先日のエントリーを参照してください。

    ところで、Power Connectorの項目を見ると
    5.16 Power Connector
    Power will be supplied via the USB OTG connector and if a need arises for additional power, such as when a board is added to the expansion connectors, a larger wall supply 5V can be plugged into the optional power jack. When the wall supply is plugged in, it will remove the power path from the USB connector and will be the power source for the whole board. The power supply is not provided with the BeagleBoard.
    と書かれています。つまり、電源の供給は、USB OTGを接続すればできるってことですねぇ。電力食うようなボードを追加しなければ、USB供給で動くんですか。知らなかった。もしかして、古いBeagle Boardもできたんでしょうか。

    ちなみに、Beagle Boardのマニュアルは164ページ。CPUのリファレンスマニュアルは3642ページ。もちろん英語です。全部読むつもりなら結構な覚悟が必要そうですよね。
    とりあえず、せっかくなので、僕はしらばくu-bootのコードを追いかけながら、この石について少し勉強しといてみたいなぁとか思ってたりします。



     (*1)  正確には、DM3730はこの動作を sys_boot[0:4] を元に決定しています[sprugn4b.pdf 26.2.3]。
    で、回路図見てみたのですが、つぶれていてよく読み取れませんねぇ・・・これ。
    ブートの順番は確かめきれていないので、上記の内容は間違ってるかもしれません。確定したらまた追記します[2010/09/09 追記]

    0 件のコメント:

    コメントを投稿