文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>2.6.22上移植uda1341音频驱动

2.6.22上移植uda1341音频驱动

时间:2009-03-26  来源:For Free

(1)下载附件中uda1341驱动源码,保存为s3c2410-uda1341.c

(2)将s3c2410-uda1341.c复制到kernel root/sound/oss/目录下

(3)修改oss目录下的kconfig

添加

config S3C2410_SND_UDA1341

       tristate "S3C2410 UDA1341 driver (S3C2410)"

       depends on SOUND_PRIME!=n && SOUND && ARM && ARCH_SMDK2410

(4)修改oss目录下的makefile

增加

obj-$(CONFIG_S3C2410_SND_UDA1341) += s3c2410-uda1341.o

(5)修改增加内存映射,以使内核知道该虚拟地址可用,而且对应的物理地址是我们的声卡。修改/arch/arm/mach-s3c2410/smdk-s3c2410.如下:

static struct map_desc smdk2410_iodesc[] __initdata = {
/**//* nothing here yet */
{0xe0000000, 0x19000000, SZ_1M, MT_DEVICE}, // 网卡内存映射

{0xf0d00000, 0x55000000, SZ_1M, MT_DEVICE}, // 增加

};

(6)把2.4.18内核的include/asm/arch/bitfield.h复制到2.6.22.1同目录下

(7)修复2.6.22内核中dma的bug,2.6.22内核中dma通道的映射有问题。通道映射不正确的话,uda1341就没有输出。

修改arch/arm/plat-s3c24xx/dma.c的s3c2410_dma_map_channel函数中修改如下:

 

static struct s3c2410_dma_chan *s3c2410_dma_map_channel(int channel)
{
struct s3c24xx_dma_order_ch *ord = NULL;
struct s3c24xx_dma_map *ch_map;
struct s3c2410_dma_chan *dmach;
int ch;
if (dma_sel.map == NULL || channel > dma_sel.map_size)
   return NULL;
ch_map = dma_sel.map + channel;
/* first, try the board mapping */
#if 0 //这段注释掉

if (dma_order) {
   ord = &dma_order->channels[channel];
   for (ch = 0; ch list[ch]))
     continue;
    if (s3c2410_chans[ord->list[ch]].in_use == 0) {
     ch = ord->list[ch] & ~DMA_CH_VALID;
     goto found;
    }
   }
   if (ord->flags & DMA_CH_NEVER)
    return NULL;
}
#endif //一直到这里

/* second, search the channel map for first free */

 

就是注释掉一段代码就行了。然后,还是同一个文档中,修改函数:s3c2410_dma_enqueue这个函数的结尾:

将s3c2410_dma_ctrl(chan->number S3C2410_DMAOP_START);  

 

修改为    s3c2410_dma_ctrl(channel, S3C2410_DMAOP_START);

 

 (8) make menuconfig

选择driver->sound->sound card support->open sound system-> S3C2410 UDA1341 driver (S3C2410)

 

 (9)编译 make zImage

 

 (10)测试

/dev/dsp 数字信号处理(DSP):DSP是指声卡中专门处理效果的芯片,称为效果器,对提高声卡性能很有用

/dev/mixer 混音器混音器是一台控制音频信号的提升,并将音频信号导向所指目的地的设备

cat test.wav>/dev/dsp 如果驱动移植成功,这时可以听到杂音

移植一个madplay音频播放程序,就可以用来播放mp3了

 

参考文章:

http://zhongranxu.blog.163.com/blog/static/6658419520090153127277/

 

     

文件: s3c2410-uda1341.rar
大小: 8KB
下载: 下载
相关阅读 更多 +
排行榜 更多 +
我的城市警察局

我的城市警察局

角色扮演 下载
盛世天下

盛世天下

角色扮演 下载
镇魂街破晓手游

镇魂街破晓手游

角色扮演 下载