oss_hdaudio移植

在vxworks下移植oss庫,其實只要根據linux的編譯信息,移植下來一般沒有問題

但是要運行的話,就需要花點時間調試了,比如oss_hdaudio驅動。

下面將移植時遇到的問題列下來

1.reset_controller函數 Controller not ready

原因是oss_udelay函數是空的,reset_controller是需要時間的。


2. attach_codec: Codec #%d is not physically present
static codec_t NULL_codec = { 0 }; /* TODO: Temporary workaround - to be removed */


系統不知道爲什麼讀寄存器會找不到,然後我直接給系統賦值alc888
{0x10ec0888, "ALC888", VF_ALC88X_HACK, (char **) &alc883remap}

根本解決方法請看第4條。


3. usrAppInit和shell運行同一個函數執行結果不同


shell運行的函數優先級高,假如函數有類似死循環等待的情況,usrAppInit就會執行失敗。


使用taskSpawn起來一個任務,但是系統會重啓。將堆棧分配大一點就不會出現重啓了。


4. oss_hdaudio驅動時好時壞
這是由於分配的內存數據是亂的,需要初始化分配的內存數據

#if 0
#define KERNEL_MALLOC(nbytes) malloc(nbytes)
#else
#define KERNEL_MALLOC(nbytes) calloc(1, nbytes)
#endif

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章