FT701W で omap4boot が使えるかも??

 OMAP4にはUSBからブートローダを読み込んで起動する機能があります。

前回 FT701W で fastboot mode に入れないか色々試していたときに、電源 OFF 時に USB に接続すると、わずかな時間だけHostPC から、USBデバイスが見えることに気づきました。

$ lsusb
(省略)
Bus 001 Device 066: ID 0451:d00f Texas Instruments, Inc. 
(省略)

このVendorID, ProductID でググってみると、これが OMAP4 の USB ブートの際に使用するデバイスらしいです。

ってことは、自前のBootloaderをこれで流し込めるのでは?

一気に期待が高まりますね!

 

で、USB ブートさせるには HostPC 側で omap4boot と言うツールを使うらしいです。

いきなり動かすのはコワいので omap4boot の中身を調べてみました。

ざっくり書くと、以下のような流れになっているようです。

 

HOST-PC側

  1. 1st bootloader を USB で送り込んで、それをターゲットで起動。
  2. 1st bootloader からの応答 (0x11223344) を待つ。
  3. 応答が来たら 2nd bootloader を転送。
  4. 終了

1st Bootloader (Target)

  1. ペリフェラルの初期化
  2. USB で応答 0x11223344 を返す。
  3. 2nd Bootloader を USB から受信。
  4. ヘッダがあれば解析して Linux kernel として起動

1st Bootloader ではボードごとにペリフェラルの初期化コードが書かれています。

ATAG 作ったり ramdisk の配置とかもやっているので、u-boot だけじゃなく、Linux kernel も直接起動できそうです。

 

まずは 1st bootloader のペリフェラルの初期化処理を FT701W に合わせて作成する必要がありそうです。

pandaboard 用の処理はあるけど、SDRAM、GPIO や IOMUX の初期化を行うようなので pandaboard と同じじゃマズイよなぁ。

xloader も解析かなぁ。。

コメントを残す

メールアドレスが公開されることはありません。