4.01.2009

Windows CE 的 SD BUS architecture

MS 的 SD card driver 分為三層:
source code 在 C:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\SDCARD
  1. BUS : SD BUS 的動作。
  2. Hardware : 底層相關的 operation,呼叫和被 BUS driver 呼叫。
  3. SD card client : SDBUS Driver 會依照 SD card 種類和 regisry 內容 load client driver 進來。

BUS Driver 又區分為三層:
  • Host
  • Slot
  • Device
所有送 SD CMD 都要由 Device 這一層送出。
SD card 插入,移出由 Slot 這一層負責。
Host 和 Slot 在機器開機時就 initial 完了 (因為一個機器有多少 SD host,一個 Host 有多少 slot 都是固定的)。

Slot 偵測 SD card 插入,new 一個 Device 出來,然後開始下SD CMD,取得插入的 SD card 資訊。填入 Device Class。然後 load Client Driver 進來。

整個 SD BUS Driver 的 class 都有繼承 RefObj,所以可以 ObjectIndex 找出 object 實體。
所以到處在 FindObjectFromXXX
然後用 Host, Slot, Device 動作。


ref: http://bluefish.blog.51cto.com/214870/474653

沒有留言: