RK3399基于ubuntu文件系统的audio调试
RK3399基于ubuntu文件系统的audio调试
Kernel:4.4
背景:使用rk3399的开发环境,codec使用alc5640,Linux系统用自制的ubuntu。
步骤:
1.移植好驱动,确认声卡设备创建
2.ubuntu安装alsa lib和alsa utils
3.根据寄存器调试通路,播放测试文件
1.移植好驱动,确认声卡设备创建
# cat /proc/asound/cards 0 [rockchiprt5640c]: rockchip_rt5640 - rockchip,rt5640-codecrockchip,rt5640-codec#ls /dev/snd/
by-path controlC0 pcmC0D0c pcmC0D0p seq timer查看寄存器
# cat /sys/kernel/debug/regmap/1-001c/registers 播放时
# cat /proc/asound/card0/pcm0p/sub0/hw_params # cat /proc/asound/card0/pcm0p/sub0/sw_params
以上信息确认无误后到第二步
2.ubuntu安装alsa lib和alsa utils
到alsa官网http://www.alsa-project.org下载alsa-lib和alsa-utils
tar -xvf alsa-lib-XXXXXX.tar.bz2
cd alsa-lib-XXXXXX
创建install目录,后面安装utils工具要用
./configure --prefix=/home/vampire/alsa/install/
make
sudo make install
alsa-utils是alsa的一个工具包,里面包含有声卡测试和音频编辑的工具
tar -xvf alsa-utils-XXXXXX.tar.bz2
./configure --prefix=/home/vampire/alsa/install/ --with-alsa-inc-prefix=/home/vampire/alsa/install/include --with-alsa-prefix=/home/vampire/alsa/install/lib
make
3.调试通路,播放测试文件
默认音频是关闭的,需要打开通路
下面以耳机为例(系统需能正确识别到耳机插拔)
根据5640的规格书确认需要打开的寄存器
参考对应配置文件external\alsa-config\cards\rockchip_rt5640.conf
amixer cset numid=51,iface=MIXER,name=‘DAI select’ 1
amixer cset numid=5,iface=MIXER,name=‘HP Channel Switch’ on on
amixer cset numid=116,iface=MIXER,name=‘HPO MIX DAC2 Switch’ on
amixer cset numid=58,iface=MIXER,name=‘Mono DAC MIXL DAC L2 Switch’ on
amixer cset numid=61,iface=MIXER,name=‘Mono DAC MIXR DAC R2 Switch’ on
amixer cset numid=91,iface=MIXER,name=‘HP L Playback Switch’ on
amixer cset numid=92,iface=MIXER,name=‘HP R Playback Switch’ on
播放wav测试文件
aplay test1k.wav
喇叭Speaker通路配置
https://blog.csdn.net/vcsuanfadaima/article/details/112279334
在Ubuntu上安装sox:
$ sudo apt-get install sox libsox-fmt-all
libsox-fmt-all包含mp3的解码器和其它格式的解码器。
播放音乐:
$ play Crystals.mp3
使用alsamixer可以调节音量
后记
因为ubuntu系统镜像文件需要上传服务器,并且需要在制作好的镜像中包含alsa功能,所以需要在打包ubuntu的image之前就添加好alsa相关库和工具。
由于挂载制作时是root权限,导致编译配置utils出现错误如下
error:this packages requires a curses library
目前并未找到直接解决办法。怀疑是配置utils时未添加 --disable-alsamixer --disable-xmlto
make utils时报错可以这样解决,最后make install结束
touch alsaconf/po/t-ja.gmo
touch alsaconf/po/t-ru.gmo
RK3399基于ubuntu文件系统的audio调试相关推荐
- linux 深度定制,基于ubuntu发行版的安装界面的深度定制过程
基于ubuntu发行版的安装界面的深度定制过程 先阅读官方帮助文档详细介绍ubuntu社区如果定制ubuntu发行版的具体步骤.最好是按照步骤执行一遍,否则会停留在表面问题. 漫长的阅读-. 1.版本 ...
- 树莓派4b学习笔记三--基于Ubuntu搭建Docker 和portainer,基于Docker 搭建Homeassistant、EMQX
文章目录 一.基于Ubuntu搭建Docker和portainer 1.Docker简介 2.Ubuntu20.04安装Docker-ce 3.Ubuntu20.04安装Docker图形化界面port ...
- linux 上网本 基于ubuntu 台湾,基于Ubuntu Linux上网本云操作系统Jolicloud发布1.0版
Jolicloud是基于Ubuntu,早期用户界面和Ubuntu Netbook Remix相似,但最新版引入了基于HTML5的用户界面,突出了云端应用,它的App Center提供了数百项免费应用程 ...
- [基于瑞芯微RV1126调试RTL8818FU WIFI模组支持STA和AP模式]
基于瑞芯微RV1126调试RTL8818FU WIFI模组支持STA和AP模式 内核menuconfig配置 内核dts配置 文件系统配置和更改 驱动编译 wifi工具编译 libnl库编译 open ...
- 基于 Ubuntu 18.04 的 STM32F407 开发
基于 Ubuntu 18.04 的 STM32F407 开发 作者:解琛 时间:2020 年 8 月 2 日 基于 Ubuntu 18.04 的 STM32F407 开发 一.编译一个最小工程 1.1 ...
- 借助USB转RS232 模块串口传输练习、基于Ubuntu调用Opencv的点阵汉字字模读取
借助USB转RS232 模块串口传输练习.基于Ubuntu调用Opencv的点阵汉字字模读取 文章目录 借助USB转RS232 模块串口传输练习.基于Ubuntu调用Opencv的点阵汉字字模读取 1 ...
- RK3399安装Ubuntu
1.安装qemu 在Linux PC主机上安装模拟器: sudo apt-get install qemu-user-static 2.下载和解压 ubuntu-core Firefly-rk3399 ...
- 基于Ubuntu和STM32分析全局变量、局部变量、堆、栈
目录 一.C程序的内存分配 二.STM32的内存分布 三.Ubuntu系统和STM32中验证 1.Ubuntu 2.STM32 四.参考资料 一.C程序的内存分配 栈(stack) 由编译器自动分 ...
- 基于Ubuntu交叉编译FFmpeg Windows SDK
写在前面 FFmpeg是一个开源且跨平台的音视频解决方案,集采集.转码.流式化为一身,项目的libavcodec编解码模块和libavformat媒体格式模块,支持非常非常丰富的编解码格式和容器封装格 ...
- 求生之路 l4d linux,求生之路开服过程(基于ubuntu)
求生之路开服过程(基于ubuntu) 欢迎访问个人博客:melony 腾讯云.华为云亲测 配置: CPU 1核 内存 2GB 带宽 1M 硬盘 40g 系统 ubuntu 16.04 64位 服务器安 ...
最新文章
- c++编译器pointer to a function used in arithmetic的解决办法
- vue.js将一个对象的所有属性作为prop进行传递
- 日志服务客户端(logtail)异常检测工具
- leetcode33 --- search
- 这些道理,未必正确,一定准确
- 匿名提问:rm -rf了怎么办?
- 小透明学弟的华为上岸之路
- php 将表情存入数据库,php + mysql 存入表情 【如何轉義emoji表情,讓它可以存入utf8的數據庫】...
- Python的基本语法汇总
- Atitit.播放系统规划新版本 v4 q18 and 最近版本回顾
- 多线程之CyclicBarrier工具类和Exchanger工具类
- 成为黑客必须掌握的知识!
- 《互联网周刊》发布2019快时尚品牌排行榜
- 入门级元宇宙AR avatar制作教程
- 推广软件开发分析规范
- java.util.LinkedHashMap cannot be cast to 问题
- 《看不见的大猩猩:无处不在的6大错觉》读书摘记
- ubuntu占用空间清理
- ArcGIS API For Javascript 4.15 绘制地图:在地图上绘制点和面
- 平安好医生技术栈的分析