2007年10月18日 星期四

把driver搬進Wince下需注意的問題

通常如果廠商所提供的driver夠完善的話,搬移的動作就會簡單許多,而且通常都會有說明檔可參考,所以按著步驟做應該ok

這次搬移的是audio driver,大致上的的搬移動作就是把所提供的driver貼到BSP層,
而需注意到地方有以下幾點:

1.修改BSP下的batch file

To let the drivers know what our BSP is based upon.
set WM_BSP= (BSP)

EX:
set WM_BSP=MAINSTONEIII

2.Every driver also needs to add the board support package to the CDEFINES. For Windows
CE this would be a line in each sources file like the following:

CDEFINES=$(CDEFINES) -DWM_BSP_$(WM_BSP)

This gives us a symbol like WM_BSP_(BSP)

所以在每個sources下要加入

EX:
CDEFINES=$(CDEFINES) -DWM_BSP_MAINSTONEIII

3.在Platform層的driver下的dir要記得做修改,把新加入的driver的資料夾名稱加進裡面,已防止build code時找不到新加入的driver,如下所示:

DIRS=\
wolfson \
wavedev \

4.在build code時常會遇到找不到header file的問題,這是因為在sources下沒有去指定在
build code時要搜尋的路徑,所以要自己手動加入

如下圖所示,有可能會出現類似的錯誤



所以在driver下相對應的子目錄裡的sources就要加入hrader file的指定路徑,如下所示

example:

EXT_INCLUDES=$(_TARGETPLATROOT)\src\drivers\Wolfson\inc\Compatibility

如此在build code時就會到所指定的路徑去找header file