迅为IMX6Q开发板QT系统移植tinyplay

发布者:TranquilSilence最新更新时间:2025-04-09 来源: cnblogs关键字:IMX6Q开发板  QT  系统移植 手机看文章 扫描二维码
随时随地手机看文章

tinyalsa 是 Google 在 Android 4.0 之后推的基于 alsa 内核的用户层音频接口。tinyalsa 提供的头文件是'asoundlib.h',提供最基础的 pcm 和 mixer 操作。
tinyalsa 的实现文件为 pcm.c(实现 pcm api)和 mixer.c(实现 mixer api)。在其中有四个小工具它们分别是:
tinypcminfo:tinypcminfo.c,查看 pcm 设备能力;
tinyplay:tinyplay.c,使用 pcm 设备播放 wav 格式的音频文件;
tinycap:tinycap.c,使用 pcm 设备采集 pcm 格式的码流,并保存为 wav 格式的文件;
tinymix:tinymix.c,对 pcm 设备的控制,包括音量调节、设备切换。
这四个工具使用时可以先使用 tinypcminfo 查看 pcm 设备的能力,以防我们使用其他三个命令时使用
了不合理的配置会出现 parameter invalid 的错误。
本文档适用于最小 Linux 系统以及 Qt 系统。

64.1 源码编译
查看本次提供的压缩包内容,分别为指导文档,测试音乐以及源码文件夹,如下图所示。

将提供的压缩包中的文件夹 tinyalsa 拷贝到 Ubunut 的工作目录,如图。

本次编译环境为“arm-2009q3”,如下图所示。

进入到 ubuntu 上的 tinyalsa 文件夹,在当前目录下输入命令“make”,自动生成 4 个 可执行文件“tinycap、tinymix、tinypcminfo、tinyplay”。

编译完成。

64.2 耳机和喇叭测试
本次测试是在 iTOP-iMX6Q 开发板上进行,耳机,麦克风的连接如图。喇叭左声道是 J5,右声道是 J6。

64.2.1 测试环境和 tinymix
将上一步生成的 4 个二进制可执行文件和我们提供的测试音乐 1.wav 文件拷贝到 U 盘,插入到运行最小 Linux 系统的 iMX6Q 开发板上,挂载 U 盘使用命令 “mount /dev/sda1 /mnt/disk”,如下图所示。

如果在 qt 系统上,那么先需要使用命令“mknod /dev/sda1 b 8 1”创建节点,再使用命令“mount/dev/sda1 /mnt/disk”挂载 U 盘,如下图所示。

然后使用命令“cp /mnt/disk/tiny* /bin”将 U 盘中的四个可执行文件拷贝到“/bin”目录下,如下图所示。

接着在控制台输入“tinymix”命令,如下图所示,可以看到全部设置。

第一行显示“Number of controls: 52”表明有 52 条 tinymix 混音命令。
第二行是介绍 0-52 条命令的表格; 第一列 ctl 表示编号。使用对应命令的时候如果想用第 n 条命令,则 tinymix 要加上第一个参数 n; 第二列 type 表示类型。INT 类型可以设置为 0-127 或者 255,BOOL 表示可以设置为 0 和 1; 第三列 num 表示“可控制数目”。例如,有两个耳机(左耳和右耳)通道,可是只用设置一个参数 4 同时就可以设定两 个耳机的音量;第四列 name 解释命令;第五列 value显示参数当前的值。
测试中需要用到的命令如下表所示。注意,下表中只有最常用的命令,其它命令可以使用 tinymix 命令查看研究,这里不再赘述。

编号 5 中的零交叉检波(Zero Cross detection)设置增益只有在输入信号零交叉后才会变化,开启此项以避免增益变化引起的咔咔声。
应该注意的是,无论在最小 Linux 系统还是 Qt 系统,声音默认同时从扬声器以及内置耳机输出,并没有切换内外放的开关。而当扬声器的两个声道同时打开时,默认只有右声道有声音,要想使用左声道输出,则需关闭右声道。即扬声器只能作用在一个声道。如果在耳机和扬声器同时设置非零音量时播放音乐,声音从耳机以及扬声器的右声道传出。

64.2.2 耳机播放测试
使用耳机输出,则在串口控制台依次执行以下命令:tinymix 4 127、tinymix 5 1、 tinymix 38 1、
tinymix 41 1,如下图所示。

接下来在串口控制台输入“tinyplay /mnt/disk/1.wav”,音频文件的具体路径应以实际情况为准,操作完成如下图所示。

可以看到正在播放,并且耳机中可以听到声音,退出播放使用快捷键 Ctrl+c。

64.2.3 扬声器喇叭播放测试
使用扬声器,则需在串口依次输入以下命令:tinymix 6 127、tinymix 7 1、tinymix 38 1、tinymix
41 1,如下图所示。

接下来在串口控制台输入“tinyplay /mnt/disk/1.wav”,音频文件的具体路径应以实际情况为准,操作完成如下图所示。

可以听到扬声器中有声音播放。

关键字:IMX6Q开发板  QT  系统移植 引用地址:迅为IMX6Q开发板QT系统移植tinyplay

上一篇:时时笔记丨驱动丨迅为4412开发板-mmc升级驱动修改篇
下一篇:迅为i.MX8MM开发板ARM嵌入式Linux安卓9.0工业核心板iMX8M Mini板

推荐阅读最新更新时间:2026-03-24 05:03

-i.IMX6Q开发板QT系统移植wifi-mt6620(一)
45.1 6620_launcher 6620_launcher 工具是作为后台的一个服务程序运行,该服务会配置串口的工作参数,下载固件补丁到 MT6620 中,它位于开发板的“/usr/bin/”目录下,在系统中内置,用户可以直接覆盖。 45.2 移植 wpa_supplicant 在进行编译之前要先修改编译器为 4.3.2 版本,如何设置编译器参见手册 19.1 章节“Qt4.7 编译器的安装”。另外为了避免使用环境变量设置编译器而可能出现的问题,文档中大部分编译是使用编译器的绝对路径,用户也应先找到自己编译器的绝对路径待用。下图是本次编译使用的编译器以及编译器压缩包。 由上图可知该编译器的绝对路径为“/usr/local/
[单片机]
<font color='red'>迅</font><font color='red'>为</font>-i.IMX6Q<font color='red'>开发板</font><font color='red'>QT</font><font color='red'>系统移植</font>wifi-mt6620(一)
-i.MX6ULL开发板-QT实战项目DHT11&网络编程实战练习(一)
1 项目前准备 工具及环境: 1.开发环境: Ubuntu 16.04 2.工具:Qt creator 3.迅为 电子 i.MX6ULL终结者开发板 MX6ULL终结者开发板已板载了DHT11 传感器 ,且提供的Linux镜像和设备树已配置好了dht11接口,dht11驱动程序使用高版本Linux内核自带的稳定驱动程序,根文件系统使用网盘资料里的Yocto镜像,使用手册有详细的系统移植和 Qt5移植步骤。开发板要保证iio接口正常,如图 1.1: cd /sys/bus/iio/devices/iio:device1 多cat几次, cat in_temp_input ,出现00为结尾的数字为正常 2 软件流程图 本实验目的是
[单片机]
<font color='red'>迅</font><font color='red'>为</font>-i.MX6ULL<font color='red'>开发板</font>-<font color='red'>QT</font>实战项目DHT11&网络编程实战练习(一)
4412开发板一键烧写QT程序到开发板
之前我们写好一个程序,都是先交叉编译完,然后在通过 nfs/tftp 或者其他的方法拷贝到开发板,然后在手动执行,如果我们调试程序很频繁,那我们每次都重新拷贝到开发板,那这样就太麻烦了,有没有方便一点的办法呢,这个就是接下来我们要介绍的一种方法,一键烧写 QT 程序到开发板,我们只需要在qtcreater 上点击一下编译,那么 QT 程序会自动到开发板上来运行,是不是非常的方便? 85.1 在开发板上移植 ssh 要想实现一键烧写,那么我们必须就先要在开发板上移植一个 ssh,本次实验我们使用的是 busybox 文件系统,这个文件系统并不支持 ssh,所以我们要先移植一个上去。接下来,我们一起来移植一下。 移植环境: 编译器保持
[单片机]
<font color='red'>迅</font><font color='red'>为</font>4412<font color='red'>开发板</font>一键烧写<font color='red'>QT</font>程序到<font color='red'>开发板</font>
IMX6开发板Mfgtools工具单独烧写镜像-设备树Qt系统
烧写设备树版本 Qt 系统要使用 iMX6Q 设备树光盘里的烧写工具,将文件夹下的 cfg.ini 修改成如下图所示: 打开“android_m6.0.1_2.0.0_ga_tool_20190725mfgtoolsProfilesLinuxOS Firmwareucl2.xml”文件,搜索“Linux-SabreSD-eMMC”,可看到操作表信息。只烧写某一个镜像时,只需把把其他镜像的操作表注释掉即可。 68.3.1 烧写文件系统 注释掉“burn uboot”,“burn zImage”,只留下“burn rootfs”,如下图,注释 u-boot 操作表: 注释 zImage 操作表: 然后打开烧写软件按照手册进行烧写
[单片机]
<font color='red'>迅</font><font color='red'>为</font>IMX6<font color='red'>开发板</font>Mfgtools工具单独烧写镜像-设备树<font color='red'>Qt</font>系统
i.MX6ULL终结者使用Yocto文件系统开发QT文件系统
本节所有的测试程序需要开发板有Qt环境来运行。我们提供的文件系统是由yocto裁剪整理得来的。之后我们会整理一份单独移植的qt系统。方便用户移植第三方软件。如果用户的文件系统非我们的出厂版本,请参考之前烧写章节重新烧写出厂文件系统。开发板启动需要输入登录名:root,默认无密码。 1 外部存储设备(U盘,TF卡)使用 我们在测试qt程序时经常会用到U盘TF卡拷贝程序,yocto系统在使用这些设备时会自动挂载,非常方便。这里我们要求盘符分区格式为FAT32。 首先启动开发板,我们将U盘插入USB接口会有如图1.1打印信息。 在这里插入图片描述 然后使用命令“df”即可查看到U盘自动挂载的目录。如图1.2: 在这里插入图片描述
[单片机]
<font color='red'>迅</font><font color='red'>为</font>i.MX6ULL终结者使用Yocto文件系统开发<font color='red'>QT</font>文件系统
-iMX6ULL开发板-Qt窗口旋转
本章节使用的资料已经放到了开发板网盘资料中,路径为:11_Linux 系统开发进阶94_章节使用资料。 本章节介绍在 yocto Qt5 文件系统中使用程序旋转 Qt 窗口。在嵌入式中有时候需要竖屏显示,有时候不能修改 Qt 源码,那么可以在 Qt 应用程序中将窗口旋转 90 度。方法是将主窗口放入到 QGraphicsScene 中,然后旋转 90 度,通过 QGraphicsView 显示。子窗口通过指针来访问父窗口达到旋转的效果。 例程在文档同一目录下,实现的功能是点击主窗口工具栏的打开文件,然后弹出子窗口选择文件(选择普通文件),选择完点击确认,子窗口关闭,主窗口的 textEdit 组件会显示文件内容。 在 main
[单片机]
<font color='red'>迅</font><font color='red'>为</font>-iMX6ULL<font color='red'>开发板</font>-<font color='red'>Qt</font>窗口旋转
RK3588开发环境三步搭建指南:从零到一轻松上手
无需为环境配置而困扰,这份详尽教程将引导你轻松掌握旗舰芯片。 大家好!最近拿到了性能强悍的迅为RK3588开发板,是不是既兴奋又对如何搭建开发环境感到一丝迷茫? 别担心!环境搭建就像是玩新游戏前的“新手教程”,只要跟着正确的步骤走,就能轻松通关。今天,我将为大家带来一份RK3588开发环境搭建“三步曲”,用最清晰的逻辑,带你从零开始,完成整个平台的搭建。 本教程以系统为例(推荐Ubuntu20.04),这是进行最主流和高效的环境。 前言:准备工作 在开始“演奏”三步曲之前,我们需要准备好“乐器”: 1.一台PC:建议安装Ubuntu20.04/22.04LTS(物理机或虚拟机均可,内存建议8G以上)。 2.迅为RK358
[嵌入式]
一文搞懂定制Ubuntu文件系统-基于imx6开发板
解决思路 使用TF卡启动,先在开发板正常运行的Ubuntu系统上正常安装软件,安装完软件以后,把TF卡里面的文件系统在Ubuntu上打包。最终在使用mfg或者tf烧写进开发板。 涉及到的知识: 1.TF卡启动。 2.编译Ubuntu文件系统。 3.TF卡烧写。 实验环境 开发环境:Ubuntu14 开发板:迅为imx6q工业级(迅为imx6系列开发板均可) 开发板底板版本:V2.6 开发板Ubuntu镜像:Ubuntu12(Ubuntu16也可以) 工具: 1.一张只有一个FAT32分区的TF卡,大小不超过32G。 2.读卡器一个。 3. imx6开机自动烧写镜像文档。 步骤一 TF卡启动 在 ubuntu 系统下插入 tf
[单片机]
一文搞懂定制Ubuntu文件系统-基于<font color='red'>迅</font><font color='red'>为</font>imx6<font color='red'>开发板</font>
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved