0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

BSP调试#08:Audio(RK3588)

BSP调试从0到1 来源:嵌入式分享 作者:嵌入式分享 2026-05-09 10:44 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本合集的是我当初调试 RK3588 平台时的原始笔记——只保留了那些踩过坑的问题接口,没出过问题的内容全删掉了。文章框架如下:wKgZPGn94wGAOYyRAABzsIrFu8s113.png

其中,“调试过程”章节可能有点意思(记录了我踩过的坑),其他章节无关紧要。

硬件设计

wKgZPGn94wGAaMLDAAJfpjWXz3c316.pngwKgZPGn94wKAY0hkAAFuOmKfgb4469.png

软件配置

dts 配置

wKgZPGn94wKAKrfaAABaBhPT3pQ714.png

内核配置

wKgZPGn94wKATI4YAACLc8gwmks149.png

调试过程

【问题描述】:配置后,声卡已经正常生成,但发现无法正常播、录音。

【问题分析】:开始时,我比较怀疑是声卡控件操作不对导致。结果再三确认不是,这下彻底没有头绪。只能“死马当活马医”,下面一通操作猛如虎。

查看引脚定义时,发现gpio1-21不太正常,进一步排查确认引脚存在复用。

wKgZPGn94wKAcCGYAAAWz5QQM68004.png

修改后

wKgZPGn94wKAZoUrAAAVFqHO4bA912.png

验证 1:确认 MCLK 是否有时钟输出

wKgZPGn94wKAcIfvAADy-_hNBfo603.png

验证结果:无 MCLK 时钟输出。经测试发现,播放音频时,无 MCLK 时钟输出。接下来需要解决时钟问题。

但是,确认一番后并没有发现问题。

dts配置确认没有问题。引脚正常调用,没被占用。

cat/sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/pinmux-pins|grep i2s
wKgZPGn94wKAHo86AAAVFqHO4bA797.png

检查 MCLK 时钟,也没问题。

cat/sys/kernel/debug/clk/clk_summary | grep -E"i2s0|mclk"cat/sys/kernel/debug/clk/clk_summary | grep i2s0_8ch_mclkout
wKgZPGn94wKAVK5EAAAaZBj1w9M321.png

那为什么主时钟 MCLK 没有输出呢?后面验证发现,MCLK时钟只有在正常播放或录制音频过程时,才会有输出

  • 播放音频时(正常情况下)

MCLK(主时钟):输出 12.288M 时钟 ;

SCLK(音频数据位时钟):输出 3M 时钟;

LRCK(音频数据左右声道时钟):输出 48kHz 采样率(与主时钟 12.288M 匹配);

SDO0:变化的频率输出。接音频芯片的 DAC 音频数据脚(DSDIN),输入的音频数据经过音频芯片的内部解码转换后通过 LOUT/ROUT 输出。

SDI0:无变化。接音频芯片的 ADC 音频数据脚(ASDOUT)。

  • 录制音频时(正常情况下)

MCLK:输出 11.2896M 时钟 ;

SCLK:输出 2.8M 时钟;

LRCK:输出 44kHz 采样率(与主时钟 11.2896M 匹配);

SDO0:无变化;

SDI0:变化的频率输入。

说明:不同音频时钟会有所不同,测试遇到录音时时钟为 11.2896M,播放音频时钟为 12.288M。

【问题解决】:替换 spl 阶段的 bin 文件。将其他平台的rk3588_spl_vx.xx.bin 文件拷贝过来尝试,发现从 RK3568-SDK 中的rk3588_spl_v1.12.bin 可以解决该问题。

wKgZPGn94wKACZXTAAA16fFYe10681.png

拷贝过来同时修改RK3588MINIALL.ini 文件解决该问题。

vim ./rk3588/RK3588_LINUX6.1/rkbin/RKBOOTRK3588MINIALL.ini
wKgZPGn94wOAXC0hAAD7VKjUpxQ111.png

功能验证

录音

arecord-D hw:0,0-d5-f cd -t wav test.wav

播放

gst-play-1.0test.wavaplay-Dplughw:0,0test.wavaplay-D hw:0,0--period-size=1024--buffer-size=4096-r48000-c2-f test

(完)


本人专注 Linux 驱动 & Linux/Android BSP 开发调试,可接外包项目/技术支持/问题定位。有需求或交个朋友可加微信:【Chen_WeChat2025】。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5213

    文章

    20857

    浏览量

    339585
  • audio
    +关注

    关注

    1

    文章

    335

    浏览量

    61772
  • BSP
    BSP
    +关注

    关注

    1

    文章

    109

    浏览量

    28224
  • RK3588
    +关注

    关注

    8

    文章

    614

    浏览量

    7803
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式分享#63:RK3588 怎么选?全系列选型指南

    欢迎关注,每周更新!☞ 正文 最近几年,RK3588 在嵌入式圈子里热度确实很高。 不管是开发板、边缘计算盒子、NVR、工控机、AI 视觉,还是多屏显示项目,经常都能看到它的身影。 原因也不复
    的头像 发表于 05-31 21:19 312次阅读
    嵌入式分享#63:<b class='flag-5'>RK3588</b> 怎么选?全系列选型指南

    BSP调试#09:拓展GPIO (RK3588)

    本合集的是我当初调试 RK3588 平台时的 原始笔记 ——只保留了那些踩过坑的问题接口,没出过问题的内容全删掉了。文章框架如下: 其中,“调试过程”章节可能有点意思(记录了我踩过的坑),其他章节
    的头像 发表于 05-14 21:23 122次阅读
    <b class='flag-5'>BSP</b><b class='flag-5'>调试</b>#09:拓展GPIO (<b class='flag-5'>RK3588</b>)

    RK3588+AP6256|不掉电重启AP模式踩坑调试实录

    前言:在嵌入式Linux项目中,把WiFi模组切换为AP模式是个常见需求——配网、调试、本地组网都离不开它。但AP6256这颗模组在AP模式下踩坑的概率,远比STA模式高得多。今天基于RK3588
    的头像 发表于 05-14 08:31 462次阅读
    <b class='flag-5'>RK3588</b>+AP6256|不掉电重启AP模式踩坑<b class='flag-5'>调试</b>实录

    BSP调试#05:MIPI DSI(RK3588

       本合集的是我当初调试 RK3588 平台时的 原始笔记 ——只保留了那些踩过坑的问题接口,没出过问题的内容全删掉了。文章框架如下: 其中, “调试过程” 章节可能有点意思(记录了我踩过的坑
    的头像 发表于 04-17 11:54 9321次阅读
    <b class='flag-5'>BSP</b><b class='flag-5'>调试</b>#05:MIPI DSI(<b class='flag-5'>RK3588</b>)

    BSP调试#04:HDMI TX(RK3588

      本合集的是我当初调试 RK3588 平台时的 原始笔记 ——只保留了那些踩过坑的问题接口,没出过问题的内容全删掉了。文章框架如下: 其中, “调试过程” 章节可能有点意思(记录了我踩过的坑
    的头像 发表于 04-10 09:23 6715次阅读
    <b class='flag-5'>BSP</b><b class='flag-5'>调试</b>#04:HDMI TX(<b class='flag-5'>RK3588</b>)

    BSP调试#03:Ethernet(RK3588

    本合集的是我当初调试 RK3588 平台时的 原始笔记 ——只保留了那些踩过坑的问题接口,没出过问题的内容全删掉了。文章框架如下: 其中,“ 调试过程 ”章节可能有点意思(记录了我踩过的坑),其他
    的头像 发表于 04-03 15:53 1.1w次阅读
    <b class='flag-5'>BSP</b><b class='flag-5'>调试</b>#03:Ethernet(<b class='flag-5'>RK3588</b>)

    RK3588的GMAC 时钟怎么一直没有?

    使用RK3588芯片,linux6.6内核,将自己设计的phy芯片驱动起来后,ifconfig 查看有eth0,phy 芯片驱动正常,但是RK3588芯片一直没有产生GMAC时钟信号,其他配置均正确,通过命令查看时钟配置也都正确的,但是为什么一直没有这个clock出来呢?
    发表于 03-26 22:47

    BSP 调试:前言

    RK3588 平台时的 原始笔记 ——只保留了那些踩过坑的问题接口,没出过问题的内容全删掉了。   加上,调试 RK3588 那会我已经不再是新手,因此合集《BSP
    的头像 发表于 03-12 21:19 585次阅读
    <b class='flag-5'>BSP</b> <b class='flag-5'>调试</b>:前言

    RK3588操控终端

    RK3588操控终端全国产化无人装备手持操控终端,搭载工业级瑞芯微RK3588J芯片,适配麒麟等自主操作系统,从硬件核心到软件应用实现 100% 国产化,彻底摆脱外部技术依赖。设备标配16G
    发表于 02-28 09:42

    一文打通Rockchip DP调试:从原理到实战,覆盖RK3399/RK3576/RK3588全平台

    嵌入式开发中,DisplayPort(DP)接口的调试常让工程师头疼 —— 不同芯片特性差异大、Type-C 与标准口配置不同、高分辨率输出异常、MST 多屏适配难… 尤其是 Rockchip RK3399、RK3576、
    的头像 发表于 02-04 16:14 1302次阅读
    一文打通Rockchip DP<b class='flag-5'>调试</b>:从原理到实战,覆盖<b class='flag-5'>RK</b>3399/<b class='flag-5'>RK</b>3576/<b class='flag-5'>RK3588</b>全平台

    RK3588平台USB摄像头调试实战:从报错到稳定运行

    在嵌入式开发中,RK3588 凭借强劲的算力常被用于边缘计算、工业视觉等场景,而 USB 摄像头作为常见外设,调试过程中难免遇到各类 “卡壳” 问题。最近我们在 RK3588调试
    的头像 发表于 02-04 16:13 1019次阅读

    调试RK3588必看!这个临时设备树文件,藏着你要的所有配置答案

    ”——rk3588-evb7-v11-linux.dtb.dts.tmp。不少人以为它是编译过程的“临时垃圾”,看完这篇你就知道:它其实是解决硬件适配、内核启动问题的“调试钥匙”。
    的头像 发表于 02-03 15:55 1846次阅读
    <b class='flag-5'>调试</b><b class='flag-5'>RK3588</b>必看!这个临时设备树文件,藏着你要的所有配置答案

    【技术分享】RK3588如何搭建xenomai3+ethercat

    说明使用的RK3588的分支版本是linux-6.1-stan-rkr6内核版本是6.1.99把瑞芯微的SDK更新到linux-6.1-stan-rkr6这个版本即可。编译xenomai3的内核请参考上一篇技术分享:技术分享|RK3588如何增加Xenomai3实时补丁修
    的头像 发表于 12-11 17:26 1575次阅读
    【技术分享】<b class='flag-5'>RK3588</b>如何搭建xenomai3+ethercat

    RK3588数据手册

    RK3588的资料
    发表于 08-01 16:08 59次下载

    RK这2款旗舰芯片RK3588 PK RK3576,谁是最优选

    在 AI 边缘计算领域,瑞芯微的 RK3588RK3576 都是备受瞩目的处理器。在中国半导体产业的版图中,瑞芯微作为国内 SoC 芯片领跑者,凭借其在处理器芯片设计领域的深厚积累和持续创新
    发表于 07-10 18:24