频道澳门葡京手机版网址
登录注册
澳门葡京手机版网址 > 澳门葡京手机版网址 > 移动开发 > 其他 > 正文
ALSA声卡(11)从零编写之调试
2017-01-23 09:28:00         来源:qingkongyeyue的博客  
收藏   我要投稿

ALSA声卡(11)从零编写之调试1、调试:(1)把程序拷贝到服务器上进行编译。

(2)把程序放到内核上面去

重新配置内核,吧原来的声卡驱动程序去掉
a. 修改语法错误 11th_myalsa
b. 配置内核去掉原来的声卡驱动
-> Device Drivers
-> Sound card support
-> Advanced Linux Sound Architecture
-> ALSA for SoC audio support

c. 使用新内核启动

d. 安装新驱动

insmod alsa/driver/myalsa/platform/s3c2440_iis.ko
insmod alsa/driver/myalsa/platform/s3c2440_dma.ko
insmod alsa/driver/myalsa/codec/uda1341.ko
insmod alsa/driver/myalsa/machine/s3c2440_uda1341.ko
mkdir /dev/snd
cd /dev/snd/
ln -s /dev/controlC0
ln -s /dev/pcmC0D0p
ln -s /dev/pcmC0D0c
cd /

e. aplay来测试


insmod ker_rw.ko
regeditor r32 0x4B000080 9
regeditor r32 0x55000000 5

(3)配置内核

原来声卡驱动的配置项

查看Makefile

查看对应的配置项

去掉配置项CONFIG_SND_SOC_SAMSUNG

修改后重新编译内核

拷贝到网络系统并修改内核的名字

2、启动内核安装驱动

(1)查看环境变量

(2)启动

没有发现声卡

(3)安装新驱动(查看之前编译好的驱动程序)

insmod alsa/driver/myalsa/platform/s3c2440_iis.ko
insmod alsa/driver/myalsa/platform/s3c2440_dma.ko
insmod alsa/driver/myalsa/codec/uda1341.ko
insmod alsa/driver/myalsa/machine/s3c2440_uda1341.ko

(4)查看设备节点(aplay使用的设备节点默认是/dev/snd目录下,所以要在/dev/snd目录下创建设备节点)

(5)测试

出现段错误

返回地址在snd_pcm_info,在内核里分析此函数,这个函数调用某个子函数后出错

snd_pcm_info函数的ops->ioctl函数没有被赋值。

这里lr是0

在数据传输的时候出错,看snd_pcm_lib_write_transfer函数

(6)测试2

名为myalsa for playback的中断一次也没有发生,表明DMA传输一次都没有启动

使用寄存器编辑器读取IIS和DMA 的寄存器,看看有没有被正确设置(26th_debug_regeditor)

把编辑器拷贝到服务器编译,拷贝别的驱动程序的Makefile,修改Makefile

进行编译,然后编译测试程序

最后把寄存器编译器和测试程序都拷贝到网络问价系统上

查看寄存器编辑器的用法

寄存器地址

insmod ker_rw.ko
regeditor r32 0x4B000080 9 //读DMA寄存器,r32表示读32位数据,从地址0x4B000080开始读,总共读9个寄存器
regeditor r32 0x55000000 5 //读IIS寄存器,r32表示读32位数据,从地址0x55000000开始读,总共读5个寄存器

IIS寄存器的值全为0,因而存在问题(可能IIS控制器的时钟没有使能,裸板程序没有使能时钟,是因为一上电的时候,就实行裸板程序,2440的IIS模块等各种模块时钟默认是打开的),当大家启动内核后,为了省电,内核会把用不到的模块关闭掉,所以在驱动里面要把IIS打开

当打开IIS时钟后寄存器就会有值,但是这些值是否正确还有待分析

最后安装驱动,创建设备节点,然后用aplay播放音频数据

点击复制链接 与好友分享!回澳门葡京手机版网址澳门葡京手机版网址
上一篇:低功耗芯片间串行媒体总线SLIMbus
下一篇:RecyclerView之仿百度贴吧实现item的触摸移动和删除效果
相关文章
图文推荐
点击排行

关于大家 | 联系大家 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 澳门葡京手机版网址_澳门新莆京娱乐_www.88807.com - 点此进入--致力于做实用的IT技术学习网站

XML 地图 | Sitemap 地图