首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
树莓派 alsa device
2024-10-17
树莓派安装alsa-lib库
安装alsa-lib库 apt-get install libasound2-dev dpkg -L libasound2-dev 参考:https://blog.csdn.net/happygrilclh/article/details/79581909
【.NET 与树莓派】用 MPD 制作数字音乐播放器
树莓派的日常家居玩法多多,制作一台属于自己的数字音乐播放机是其中的一种.严格上说,树莓派是没有声卡的,其板载的 3.5 mm 音频孔实际是通过 PWM 来实现音频输出的(通过算法让PWM信号变成模拟信号).在 Pi 4 上输出的音质还算过得去,至少没有杂音(如果有杂音,俗称电流声,其实电流是没有声音的,只是供电电压的不稳定产生了模拟信号,并不幸地进入了喇叭使它发出莫名的响声),就是低音不够厚高音有点飘,不追求 HiFi 音质只是看看恐怖片的话是没问题的. 正是因为使用 PWM 产生音频信号,所以
ALSA 学习小记
对于playback snd_pcm_begin snd_pcm_commit, 貌似 commit给的frame才会使得alsa去把数据填充 转自 http://magodo.github.io/ Zhaoting's Blog About ALSA - PCM接口 Apr 14, 2016 Table of Content 0. PCM 1. 概述 1.1 PCM设备的两种类型 1.2 PCM设备和ALSA应用的ring buffer 1.2.1 ring buffer - 单位(perio
Alsa 读取wave文件,并播放wave 文件
对于一个wave文件,如果需要播放,涉及到几个方面 1.对于wave文件的解析 2.通过解析wave文件,将得到的参数(主要是sampfrequency, bitsperSample,channel)通过alsa api设下去 3.正确找到data的起始点 4.play alsa 1.对于wave文件的解析,需要知道wave文件的格式 注意几点,标准的是44byte的头,但是有些情况下会有additional info, 占据2字节.头信息参见下图,也可以参考wave 文件解析 endian f
基于Orangpi Zero和Linux ALSA实现WIFI无线音箱(三)
作品已经完成,先上源码: https://files.cnblogs.com/files/qzrzq1/WIFISpeaker.zip 全文包含三篇,这是第三篇,主要讲述接收端程序的原理和过程. 第一篇:基于Orangpi Zero和Linux ALSA实现WIFI无线音箱(一) 第二篇:基于Orangpi Zero和Linux ALSA实现WIFI无线音箱(二) 以下是正文: 在进行接收端程序开发前,首先要了解Orangpi Zero的声音设备. Orangpi可以通过ALSA(The Adv
基于tiny4412的Linux内核移植(支持device tree)(三)
作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本:Linux-4.4.0 (支持device tree) u-boot版本:友善之臂自带的 U-Boot 2010.12 (为支持uImage启动,做了少许改动) busybox版本:busybox 1.25 交叉编译工具链: arm-none-linux-gnueabi-gcc (gcc vers
基于tiny4412的Linux内核移植(支持device tree)(二)
作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本:Linux-4.4.0 (支持device tree) u-boot版本:友善之臂自带的 U-Boot 2010.12 (为支持uImage启动,做了少许改动) busybox版本:busybox 1.25 交叉编译工具链: arm-none-linux-gnueabi-gcc (gcc vers
用Qemu模拟vexpress-a9 (五) --- u-boot引导kernel,device tree的使用
环境介绍 Win7 64 + Vmware 11 + ubuntu14.04 32 u-boot 版本:u-boot-2015-04 Linux kernel版本:linux-3.16.y busybox版本:1_24_stable 交叉编译工具链:arm-linux-gnueabi- qemu版本:stable-2.4 目的 本博文的目的是使用设备树来启动内核,这里有两种设备树传参方案,第一种是用u-boot,第二种是直接用Qemu启动kernel,然后在Qemu的命令行参数中利用-dtb将设
alsa driver--card
1.创建声卡 snd_card是对声卡硬件抽象出来的结构体,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创建一个snd_card结构体. 我们可以通过调用snd_card_new来创建一个snd_card结构体. struct snd_card *card; int err; err = snd_card_new(&pci->dev, index, id, module, extra_size, &card); /** * snd_car
移植Python3到TQ2440(一)
平台 硬件:TQ2440 64MB内存 256MB NandFlash bootloader:U-Boot 2015.04 kernel:linux-4.9 Python: Python-3.6.0 工具链:arm-none-linux-gnueabi-gcc 4.8.3 概述 现在树莓派很火,在树莓派上面用户可以通过Python来控制板子上面的GPIO资源, 然后我想TQ2440也应该做到这一点. 将来根文件系统会通过NFS的方式挂载到开发板上面. 正文 一.工具链 登录这个网址:
讓TQ2440也用上設備樹(1)
作者:彭東林 郵箱:pengdonglin137@163.com QQ:405728433 開發板 TQ2440 + 64MB 內存 + 256MB Nand 軟件 Linux: Linux-4.9 (https://github.com/pengdonglin137/linux-4.9 ) u-boot:U-Boot 2015.04 (http://www.cnblogs.com/pengdonglin137/p/4541705.html 以及 https://github.com/peng
uboot命令
uboot是怎么启动kernel的呢? 先熟悉一下uboot的命令吧. 首先是md, 查看内存. OpenJTAG> md 000000000: ea000014 e59ff014 e59ff014 e59ff014 ................00000010: e59ff014 e59ff014 e59ff014 e59ff014 ................00000020: 33f80140 33f801a0 33f80200 33f80260 @..3...3
【图像处理】【SEED-VPM】4.串口调试信息
—————————————————————————————————————————————————————————————————————— 串口返回正确的信息 Booting PSP Boot Loader Starting NAND Copy Booting Application @ 0x81080000 U-Boot 1.2.0 (Sep 12 2013 - 15:31:07) I2C: ready DRAM: 256 MB unknown vendor=0 Flash: 0 k
imx6sl 调试记录
公板芯片型号:MCIMX6L8DVN10AB 我的板子芯片型号:MCIMX6L2EVN10AB no GPU ,no EPDC 调板子时一定要注意,首先要搞清楚硬件芯片的具体差异,然后去nxp的官网找区别,网址如下:https://community.nxp.com/search.jspa?q=imx6sl%20no%20gpu%20no%20epdc 一直认为gpu,epdc是内核起来一定时间后才初始化的,这是错误的. 之前程序打印信息:Uncompressing Linux... done
构建 ARM Linux 4.7.3 嵌入式开发环境 —— BusyBox 构建 RootFS
上一篇我们已经成功将 ARM Linux 4.7.3 的内核利用 U-BOOT 引导了起来.但是细心的你会发现,引导到后面,系统无法启动,出现内核恐慌 (Kernel Panic). 原因是找不到文件系统.为了让内核成功启动,我们还需要构建一个根文件系统.为了后期开发的方便,我们采用 NFS 网络文件系统. 利用 BusyBox 构建 mini 根文件系统 什么是 BusyBox ? BusyBox 是一个遵循GPL协议.以自由软件形式发行的应用程序.Busybox在单一的可执行文件中提供了精简
Yocto开发笔记之《U-boot启动内核流程》(QQ交流群:519230208)
QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 ======================================================== 执行命令 u-boot# env default -f -a; setenv ipaddr 192.168.0.100;setenv serverip 192.168.0.107;setenv image zImage;setenv fdt_file zImage-imx6ul-14x14-evk.dtb;s
内核移植和文件系统制作(4):UBIFS根文件系统制作总结
UBIFS文件系统简介: 无排序区块图像文件系统(UnsortedBlock Image File System, UBIFS)是用于固态硬盘存储设备上,并与LogFS相互竞争,作为JFFS2的后继文件系统之一.真正开始开发于2007年,并于2008年10月第一次加入稳定版本于Linux核心2.6.27版.UBIFS最早在2006年由IBM与Nokia的工程师Thomas Gleixner,ArtemBityutskiy所设计,专门为了解决MTD(MemoryTechnology Device)
FL2440驱动添加(2): RTC(Real time clock)
一,Linux下的时间分为两种,系统时间与硬件时间(RTC芯片): 1,系统时间就是运行系统能够直接看到的时间: 2,硬件时间就是RTC芯片中的时间,断电任然有电池供电: linux系统开机时,会从RTC中读取当前时间,作为系统时间,从此以后系统时间独立tick.意味着,如果你用date命令修改了系统时间,硬件时间是不受影响的,如果此时关机,下次的系统时间还是不对.要想将系统时间保存到硬件时间,可以是用 hwclock 或者clock命令,hwclock就是hardware clock的意思.
用Qemu模拟vexpress-a9 (三)--- 实现用u-boot引导Linux内核
环境介绍 Win7 64 + Vmware 11 + ubuntu14.04 32 u-boot 版本:u-boot-2015-04 Linux kernel版本:linux-3.16.y busybox版本:1_24_stable 交叉编译工具链:arm-linux-gnueabi- qemu版本:stable-2.4 概述 这里我采用的方法是,利用网络引导的方式启动Linux内核.具体方式如下: 开启Qemu的网络支持功能,启动u-boot,设置u-boot的环境变量,u-boot采用tft
Android系统启动过程-uBoot+Kernel+Android
摘要:本文是参考大量网上资源在结合自己查看源代码总结出来的,让自己同时也让大家加深对Android系统启动过程有一个更加深入的了解!再次强调,本文的大多数功劳应归功于那些原创者们,同时一些必要的参考链接我会一一附上. 注:由于本人采用Exynos4412开发板学习,所以本文大部分资料都是基于此处理器的 简介:对于整个Android系统的启动总的来说分为三个阶段: BootLoader引导即uBoot.bin linux内核启动即zImage Android系统启动即ramdisk.img与sys
Mplayer 官方中文手册
MPlayer 名称总览描述交互式控制用法配置文件配置集通用选项播放器选项(仅适用于MPLAYER)分离器/媒体流选项OSD/字幕选项音频输出选项(仅适用于MPLAYER)音频输出驱动(仅适用于MPLAYER)视频输出选项(仅适用于MPLAYER)视频输出驱动(仅适用于MPLAYER)解码/过滤器选项音频过滤器视频滤镜通用编码选项(仅用于MENCODER)特定编解码器专用的编码选项(仅用于MENCODER)环境变量相关文件MPLAYER的使用范例MENCODER的使用范例程序错误程序的作者 名称
热门专题
background-size加过渡时间
对来自后列目录的编译器使用共享编译
全国行政区 数据表 sql 语句
oracle check 语法
oracle 统计 包含 特定 字符 个数
cp936 特殊图形字符编码
cxf框架 spring框架
handsonetable合并列
z正方教务系统2017漏洞
nodejs中appjs配置
vue在点击时改变date的值
JetBrains Rider优惠
Request的addHeader()方法
imp导入表结构和数据
border上边框为0
wsl2 sudoers文件编写错了导致无法执行sudo
屏幕放大局部放大软件
windows c 98启动线程
单片机中断后怎么返回主程序
flask 简单即时搜索显示