通过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. PHP实现无限分类

    PHP实现无限分类 无限分类 递归 无限级分类是一种设计技巧,在开发中经常使用,例如:网站目录.部门结构.文章分类.笔者觉得它在对于设计表的层级结构上面发挥很大的作用,比如大家在一些平台上面,填写邀请 ...

  2. 打通 Spark 系统运行内幕机制循环流程

    本课主题 打通 Spark 系统运行内幕机制循环流程 引言 通过 DAGScheduelr 面向整个 Job,然后划分成不同的 Stage,Stage 是从后往前划分的,执行的时候是從前往后执行的,每 ...

  3. scanf函数读取缓冲区数据的问题

    标准I\O的缓冲类型 标准I\O根据不同的应用需求,提供了全缓冲.行缓冲.无缓冲三种缓冲方式. 全缓冲:只有当划定的缓冲区被填满或者数据读取至末尾时,才开始执行I\O操作(执行系统提供的read\wr ...

  4. ubuntu环境安装谷歌驱动命令

    1.sudo apt-get install chromium-chromedriver. 2.直接下载:http://chromedriver.storage.googleapis.com/inde ...

  5. 如何将编写好的CS文件做成exe可执行文件

    编译好的控制台CS文件: cs文件单独拿出来放到F盘目录中 打开命令提示CMD: 执行下面语句即可在F盘目录中看到生成的exe文件,windows系统下双击就可运行: C:\Windows\Micro ...

  6. 十二、IntelliJ IDEA 中的版本控制介绍(中)

    由于 IntelliJ IDEA 支持的版本控制工具非常的多,但咱们真正能够用到的也就两三个而已,因此在本篇博文中,咱们主要介绍 SVN.Git 和 GitHub 的配置方法. SVN 如果想要在 I ...

  7. love paradise - 陈慧琳

    love paradise - 陈慧琳 You're always on my mind All day just all the time You're everything to me Brigh ...

  8. Visual Studio Installer打包安装项目VS2015

    使用VS2015的Visual Studio Installer打包安装项目,虽然整体操作很简单,但还是有几个特殊的点需要记一下,故写下此博客方便以后查阅 第一步,创建安装项目 如下: 里面最左侧的框 ...

  9. zipfile 解压文件名乱码

    zipfile 中文文件名 解压乱码 上传文件功能模块需求及BUG现象: 环境 mac django 1.11.13 python 3.6 功能需求: 上传一个.zip格式的压缩文件 解压该test. ...

  10. unittest单元测试框架之unittest案例(二)

    1.待测方法: # 加法,返回 a+b 的值 def add(a,b): return a+b # 减法,返回 a-b 的值 def minus(a,b): return a-b # 乘法,返回 a* ...