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

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