通过A64 的I2S总线与回音消除模块连接,在A64中需要使能并配置daudio功能。

Daudio 为A64 的数字音频接口,可配置成i2s/pcm格式标准音频接口。

内核配置在lichee/linux-3.10/ 下执行make ARCH=arm64 menuconfig 选中

“AsoC support for daudio platform” 和 “AsoC support daudio0 machine”.

在sys_config.fex 配置daudio的特性;

关于daudio的源码在linux-3.10/sound/soc/sunxi/

sunxi_tdm_utils.c

tdm 处理的公共函数

sunxi_daudio.c

在asoc框架中设计的cpu_dai模型,i2s及pcm的引脚配置也在该文件中

sunxi_snddaudio0.c

处理daudio0部分,在asoc框架中设计为machine模型

测试工具 alsa-utils 或tinyalsa , arm-linux-gcc 为aarch64-linux-gnu-gcc 的软链接

编译alsa-lib-1.1.6

./configure  --host=arm-linux  CC=arm-linux-gcc  --disable-Python --prefix=/tmp

make

make install

编译alsa-utils-1.1.6

./configure --host=arm-linux  CC=arm-linux-gcc  --disable-alsamixer  --disable-xmlto  CPPFLAGS=-I/tmp/include  LDFLAGS=-L/tmp/lib  --with-alsa-prefix=/tmp/lib  --with-alsa-inc-prefix=/tmp/include

make

tinyalsa 修改Makefile gcc路径编译即可。

拷贝alsa-lib 及alsa-utils 相关lib和share到设备上,运行aplay

#ln aplay arecord

# ./aplay -l

**** List of PLAYBACK Hardware Devices ****

card 0: snddaudio0 [snddaudio0], device 0: SUNXI-TDM0 snd-soc-dummy-dai-0 []

Subdevices: 1/1

Subdevice #0: subdevice #0

card 1: sndhdmi [sndhdmi], device 0: SUNXI-HDMIAUDIO sndhdmi-0 []

Subdevices: 1/1

Subdevice #0: subdevice #0

#./arecord -Dhw:0,0 -d 20 -f cd -r 16000 -c 1 -t wav test.wav

# ./aplay -Dhw:0,0 test.wav

关于寄存器的具体配置可参考Allwinner_A64_User_Manual_V1.1.pdf 的”7.6. I2S/PCM” 。

A64 I2S调试的更多相关文章

  1. 嵌入式小系统I2S接口调试总结

    最近调试了I2S.由于芯片里面硬件配置出现了几个错误,着实也把我折腾了一番,不过,最终 还是把它搞定了.为了加深理解,就做个笔记吧,方面以后查找和学习. 定义:I²S或I2S(英语:Inter-IC ...

  2. 调试CS5343总结报告

    一周前接到新任务,调试CS5343,百度一下,CS5343是一款音频采集的AD芯片,CS5343驱动代码是现成的,我的工作是提高芯片的采样速率,看了一边芯片的Datesheet,辛好东西不是很多. 概 ...

  3. rtl8201以太网卡调试【转】

    转自:https://blog.csdn.net/wenjin359/article/details/82893122 参考博客:https://blog.csdn.net/zpzyf/article ...

  4. 音频采样中left-or right-justified(左对齐,右对齐), I2S时钟关系

    音频采样中left-or right-justified(左对齐,右对齐), I2S时钟关系 原创 2014年02月11日 13:56:51 4951 0 0 刚刚过完春节,受假期综合症影响脑袋有点发 ...

  5. 第38章 I2S—音频播放与录音输入—零死角玩转STM32-F429系列

    第38章     I2S—音频播放与录音输入 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...

  6. 数字麦克风PDM信号采集与STM32 I2S接口应用(四)--单片机源码

    本文是数字麦克风笔记文章的单片机程序.一些朋友私信我,调试出问题. 我就把源码贴出来吧,可能主要问题是DMA的配置. 尤其双DMA时候,需要手动启动I2S的接收DMA,HAL库没有这个接口,不看dat ...

  7. C# Web应用调试开启外部访问

    在用C#开发Web应用时有个痛点,就是本机用VS开启Web应用调试时外部机器无法访问此Web应用.这里将会介绍如何通过设置允许局域网和外网机器访问本机的Web应用. 目录 1. 设置内网访问 2. 设 ...

  8. NodeJs之调试

    关于调试 当我们只专注于前端的时候,我们习惯性F12,这会给我们带来安全与舒心的感觉. 但是当我们使用NodeJs来开发后台的时候,我想噩梦来了. 但是也别泰国担心,NodeJs的调试是很不方便!这是 ...

  9. 微信公众号开发之VS远程调试

    目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 前言 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流 ...

随机推荐

  1. sqlserver根据条件生成插入语句--单表

    ALTER proc [dbo].[proc_insert] (@tablename varchar(256),@where varchar(max))asbeginset nocount ondec ...

  2. Linux配置临时IP和网关命令

    配置IP以及子网掩码: ifconfig eth0 192.168.1.33  netmask  255.255.255.0 up 设置网关: route add default gw 192.168 ...

  3. error C2027: use of undefined type 'COleDispatchImpl'的解决方法

    解决办法:在资源管理视图中删除CMDTARG.CPP文件,然后重新编译 设置断点后,F5调试运行,调试运行后,然后关编辑器提示保存对CMDTARG.CPP的修改,点了保存,出现error C2027: ...

  4. io问题导致的insert缓慢

    生产环境一日常insert在业务量加倍之后非常缓慢,对有问题sql做awr报告和10046trace得出以下结论:In the 10046 trace, the execution of sql el ...

  5. ssh配置调试的必杀技

    我们知道,ssh客户端的文件及文件夹的权限会影响到身份验证是否通过,可能又不告诉我们为什么,这真是件烦心了事 所以,服务器调试执行就可以看到很多错误信息了 /usr/sbin/sshd -d -p 2 ...

  6. ZT linux 线程私有数据之 一键多值技术

    这个原作者的这个地方写错了 且他举的例子非常不好.最后有我的修正版本 pthread_setspecific(key, (void *)&my_errno); linux 线程私有数据之一键多 ...

  7. OWASP出品:Xenotix XSS漏洞测试框架及简单使用

    OWASP Xenotix XSS Exploit Framework是一个高效的跨站脚本漏洞(XSS)检测和攻击测试框架.它通过特有的三大浏览器引擎(包括Trident, WebKit和Gecko) ...

  8. Codeforces Round #423 (Div. 2)

    codeforces 423 A. Restaurant Tables [水题] //注意,一个人选座位的顺序,先去单人桌,没有则去空的双人桌,再没有则去有一个人坐着的双人桌.读清题意. #inclu ...

  9. Oracle表空间、段、区和块简述

    本文转载自:http://blog.itpub.net/17203031/viewspace-682003/ 在Oracle学习过程中,存储结构,表段区块可能是每个初学者都要涉及到的概念.表空间.段. ...

  10. 在UML系统开发中有三个主要的模型

    http://www.cnblogs.com/Yogurshine/archive/2013/01/14/2859248.html 在UML系统开发中有三个主要的模型: 功能模型: 从用户的角度展示系 ...