【Qualcomm高通音频】外部Codec调试流程_ES7243E

[RK3308H_Linux] 关于8+2(8路模拟麦克风 + 2路es7243e回采)的调试心得 RK3308h 使用8路个模拟麦克风录音,2路走I2C2挂es7243e用i2s_8ch_2做回采。 阅读详情

一、 调试大纲

调试正式开始之前,想办法获取以下信息:硬件设计原理图/Codec参考驱动代码/FAE联系方式。

1. 从硬件设计原理图,我们要获取到Codec芯片和CPU通过什么接口连接,包括数据传输接口、控制接口、reset和power引脚。

2. Codec参考驱动代码,一般正规的厂商都会提供的,至少也提供对应场景的寄存器配置。

接下来开始正式调试,大致分为以下流程:

a. 数据总线配置

b. codec驱动集成

c. 把codec挂载到声卡上

d. 音频空间封装以及调用

e. 音效优化

 

二、数据总线配置

第三方Codec芯片一般是I2S总线/PCM总线进行数据传输,配置方法基本相同。

这一步是脱离Codec芯片,至于CPU侧有关系。

当配置完成后,可以通过以下指令进行测试总线属性,以I2S为例:

a. 先向设备导入一首测试音频test.wav

b.执行以下指令进行测试

tinymix "QUAT_MI2S_RX Audio Mixer MultiMedia1" "1"

tinyplay /sdcard/test.wav -D 0 -d 0 &

c. 这个时候就可以使用示波器测量QUAT_MI2S对应GPIO,进而测得当前的位时钟、采样率和位深度配置。

 

三、Codec驱动集成

这一步主要比较基础但也至关重要,需要多和厂商FAE沟通。

 

四、Codec挂载到声卡

修改文件:kernel/msm-3.18/sound/soc/msm/msm8952.c

修改内容:

@@ -2357,8 +2388,8 @@ static struct snd_soc_dai_link msm8952_dai[] = {
 		.stream_name = "Quaternary MI2S Capture",
 		.cpu_dai_name = "msm-dai-q6-mi2s.3",
 		.platform_name = "msm-pcm-routing",
-		.codec_dai_name = "snd-soc-dummy-dai",
-		.codec_name = "snd-soc-dummy",
+		.codec_dai_name = "ES7243E Hi
手把手教你用ESP32驱动ES7243E音频ADC,实现低成本麦克风阵列原型(附I2S配置代码) 本文详细介绍了如何使用ESP32驱动ES7243E音频ADC芯片,构建低成本麦克风阵列原型。从硬件选型、I2S配置到音频流处理,提供完整的实战指南,包括寄存器配置代码和信号完整性优化技巧,帮助开发者快速实现高性价比的音频采集方案。 阅读详情

相关推荐

【Qualcomm高通音频】ES7243E Codec驱动集成与声卡挂载实战指南

本文详细介绍了如何将ES7243E音频编解码芯片集成到高通骁龙平台,并完成声卡挂载的完整调试流程。内容涵盖从硬件原理图分析、驱动代码集成、设备树配置,到声卡链接、音频通路打通及音效优化的实战步骤,旨在帮助硬件和驱动工程师高效解决外挂Codec的音频调试问题。

weixin_29173777的博客 148

2021-06-07 RK3328 Android 10 上调试es7243记录

RK3328 Android 10 上调es7243

海月汐辰 2130

android dummy codec

dummy codec 1. 什么情况下需要用到虚拟codec 一般在linux 或者 android 系统中,没有外挂codec,主控上也没内置codec,但是外挂了一个i2s、spdif的接口的芯片; 比如说lt9611 ,芯片内置i2s 接口,用于接收主控的i2s 音频信号,等案例 这个时候就需要一个dummy codec ,挂到平台上,注册声卡出来。 当播放音频时:主控播放*.wav ----平台i2s rx ------设备lt9611 i2s —>输出 2. 虚拟codec 的注册到平台的

m0_57123509的博客 1890

RK系列SDK -- i2s mclk 无输出

说明:本文适用于基于 linux 4.4 内核版本开发的 RK 系列 SDK。硬件上,RK 芯片端 i2s mclk 引脚连接外部 codec 芯片 mclk 引脚,为外部芯片提供 mclk 时钟。软件上,需要对 mclk 做使能处理。 DTS配置 不同平台对应的时钟名称不一样,下述只举例 RK3399 和 RK3288 平台配置,其他平台可以去 kernel\drivers\clk\rockch...

Bin.Z的博客 6374

【Qualcomm高通音频】如何使用QXDM、QCAT、CoolEditor音频日志抓取、解析和分析?

一、使用QXDM抓取音频日志 使用步骤如下:(已抓取录音日志为例) 确保qxdm和qpst软件已成功安装且qxdm软件已激活成功,把设备连接电脑上。 点击左上角菜单栏Options-->Comunications...进入设备连接界面 根据设备管理器显示设备的diag口这里连接到上去。 选择抓取音频日志的audio.dmc配置文件,这样只抓音频日志的话,日志会小一些,也方便后面解...

crow_ch的博客 9475

【MTK】ES7210、ES7243E Driver调试

调试ES7210、ES7243E Driver花了很长一段时间,主要时间还是花费在I2S这块,第一次调试,调试了一两天才知道接出来的I2S 不支持输入,后面飞线又改板才使用正确的I2S, 在MCLK这里有卡住了,最终还是寻求MTK才解决MCLK不出来的问题,主要还是因为很少调试I2S设备,基本都是LCD/TP/Camer/Sensor的调试,还有很多细节就没有写了,具体还是根据自身的调试情况来处理。通过代码重新复位初始化就正常了。如果录制出来的的文件内容都是全0的文件,就得排查,I2S的信号是否正常。

Healer 7000

高通开发系列 - 数字和模拟codec驱动

高通开发系列 - 数字和模拟codec驱动

fulinux的博客 2317

高通音频驱动调试(十七)

1.查看当前codec # cd /sys/class/sound # ls -alh lrwxrwxrwx 1 root root 0 2019-12-04 14:29 card0 -> ../../devices/soc/soc:sound-9335/sound/card0 lrwxrwxrwx 1 root root 0 2019-12-04 14:29 controlC0 -&...

Android系统攻城狮 2625

ES7243E DS.pdf

音频芯片ES7243E音频芯片ES7243E音频芯片ES7243E音频芯片ES7243E音频芯片ES7243E

es7243调试资料.zip

es7243调试资料

Ubuntu图形界面崩溃?从tty到GUI的终极修复指南

本文提供了Ubuntu图形界面崩溃后进入tty的终极修复指南。详细介绍了如何诊断显示管理器(如LightDM或GDM3)状态,并通过重装、切换显示管理器、修复依赖、系统升级及排查显卡驱动等核心方案,逐步恢复GUI。帮助用户从命令行界面高效修复桌面环境,避免数据丢失。

vulkan6gpu的博客 756

从原理到落地:Java+TensorRT打造YOLO模型GPU极致推理方案

Java+TensorRT的YOLO模型GPU加速方案,核心是通过JNI桥接实现Java与TensorRT的高效交互,结合TensorRT的底层优化能力,最大化GPU算力。该方案既保留了Java后端的工程化优势(如易维护、生态完善),又解决了AI模型推理的性能瓶颈,可落地于实时视频分析、智能监控、工业质检等场景。基于TensorRT Dynamic Shape实现多尺寸输入的自适应优化;结合Java的协程(Virtual Thread)提升异步推理的并发效率;

2601_94871597的博客 738

容器化部署指南——Docker/K8s环境下的OpenClaw实践(附Dockerfile)

通过本文的详细指导,你已经掌握了OpenClaw在Docker和Kubernetes环境中的容器化部署方法。从基础镜像构建到高级部署策略,从开发环境到生产环境,你现在已经具备了完整的容器化部署能力。 容器化技术为OpenClaw提供了灵活、可扩展、可移植的部署方案,能够满足不同规模和需求的应用场景。通过合理使用Docker和Kubernetes,你可以实现高效的部署管理和运维自动化。 在实际应用中,建议根据具体的业务需求选择合适的部署策略,并结合监控、日志、安全等最佳实践,确保系统的稳定性和可靠性。同时

博客 462

LoveSQL

LoveSQL(SQL注入详解) 1、根据题目,显然想到的是sql注入漏洞,直接尝试万能密码 2、此时url构造,查看字段数 /check.php?username=admin' order by 3%23&password=1 # 存在 /check.php?username=admin' order by 4%23&password=1 # 报错 因此,得到总共有三个字段数 注意:url中不能用#,应该用url编码%23 3、用union来查询测试注入点,查看回显点

lunan的博客 1535

【纯干货分享】常用高速接口眼图模板合集

文章汇集了常见的高速接口的信号眼图测试模板技术要求,比如,LPDDR5/4、PCIe 5.0/4.0、USB、MIPI等等,方便工程师快速进行查询和使用。

一只豌豆象的博客 3055

高德地图API如何使用

通过以上步骤,您可以成功接入并使用高德地图API来为您的应用添加丰富的地图功能。

QQ_778132974的博客 4735

从 Service Entry Sheet 按 PO 行项目追溯服务行:PACKNO 与 ESLL 层级解包实战

摘要: SAP MM模块中,外部服务采购的数据结构较为复杂,服务明细并非直接存储在采购订单行项目表EKPO中,而是通过PACKNO关联到服务包表ESLL。本文解析了从采购订单行项目EBELN+EBELP获取服务行号SRVPOS的方法,重点分析了服务包的层级结构(根包、子包SUB_PACKNO),并提供了兼容合同项目的ABAP代码实现。通过EKPO-PACKNO定位根包后,需结合ESUC和ESLL表逐层解析子包,最终获取服务明细数据,解决了服务采购场景下的数据关联难题。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 125

Android11车机系统海外项目资源包RRO方案优化

本文介绍了汽车设置应用如何通过Android RRO(运行时资源叠加)方案实现多车型差异化资源管理。针对不同车型(国内/海外、轿车/SUV)和配置(方向盘、轮毂等),采用产品变体(productFlavors)构建不同APK版本,并通过JSON配置文件动态启用对应资源包。系统根据车辆下线配置自动匹配适用的资源叠加包,解决了硬编码判断带来的维护问题。该方案实现了资源的高效复用,同时支持灵活配置多种车型组合,为汽车行业多车型共平台开发提供了可扩展的技术实现。

shusuanly的博客 446

10年总结合并 射频工程师常用器件AD PCB元件库文件,带3D封装 (2021年1月更新)

10年总结合并 射频工程师常用器件Altium Designer原理图库AD PCB元件库文件,带3D封装

plc抢答器梯形图

本文为plc抢答器梯形图,希望对你的学习有所帮助。

Oracle11gR2 (p10404530_112030_Linux-x86-64_3of7.zip)

Oracle11G Linux版本linux_x86_64_oracle11.2.0.3文件分割成7个压缩包,必须集齐7个压缩包才能一起解压一起使用:Oracle11gR2 (p10404530_112030_Linux-x86-64_7of7.zip)https://download.csdn.net/download/weixin_43800734/72510847Oracle11gR2 (p10404530_112030_Linux-x86-64_6of7.zip)https://download.csdn.net/download/weixin_43800734/72557536Oracle11gR2 (p10404530_112030_Linux-x86-64_5of7.zip)https://download.csdn.net/download/weixin_43800734/72563426Oracle11gR2 (p10404530_112030_Linux-x86-64_4of7.zip)https://download.csdn.net/download/weixin_43800734/72564706Oracle11gR2 (p10404530_112030_Linux-x86-64_3of7.zip)https://download.csdn.net/download/weixin_43800734/72500267Oracle11gR2 (p10404530_112030_Linux-x86-64_2of7.zip)文件分割成 2个压缩包:https://download.csdn.net/download/weixin_43800734/72501554https://download.csdn.net/download/weixin_43800734/72510520Oracle11gR2 (p10404530_112030_Linux-x86-64_1of7.zip)文件分割成 2个压缩包:https://download.csdn.net/download/weixin_43800734/72517746https://download.csdn.net/download/weixin_43800734/72518224

国密SM2算法KDF实现[可运行源码]

本文详细介绍了国密SM2算法中密钥派生函数(KDF)的实现过程。作者在项目中需要实现SM2的签名、验签、加密、解密等功能时,发现网上现有的KDF代码不符合《GMT 0003.4-2012 SM2椭圆曲线公钥密码算法》的规定,因此自行实现了符合标准的KDF函数。文章提供了KDF的C语言实现代码,包括函数逻辑、输入输出参数说明以及错误处理机制。代码中使用了国密算法中的密码杂凑算法SM3,并给出了两个示例数据以验证实现的正确性。该实现为需要符合国密标准的开发者提供了参考。

上一篇: 【Linux驱动调试技巧】如何进行SELinux安全策略配置?
下一篇: 【Qualcomm高通音频】当内部Codec和外部Codec上都有麦克风输入,如何做到灵活切换内部外部Codec上的麦克风进行录音呢?
一息尚存,从吾所好
博客等级 码龄8年 306粉丝 83原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值