自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 gerrit环境搭建

1:搭建gerrit服务器端downloadgerrit-2.10.warinstall java:sudo apt-get install openjdk-7-jre-headlessinstall gerrit:java -jargerrit-2.10.war init -dreview_sitevim review_site

2015-12-08 10:14:57 2445

原创 vivado抓FPGA上debug singal波形的方法

vivado抓FPGA上debug singal波形的方法

2015-11-22 20:36:26 10645

原创 如何播放无限长度的音乐

对audio代码进行压力测试的时候,我们往往会循环播放一首音乐。实际上,无论是aplay还是tinyplay来循环播放音乐,两个循环之间,都伴随着音频流的关闭和再次打开,对应到底层,也就是DMA与I2S/SPDIF的关闭和再次开启。这实际上是起不到太多压力测试DMA与I2S/SPDIF的作用的。最近做机顶盒芯片,发现电视的音频输出,是和手机或PAD不一样的,理论上讲,电视可以做到播放一个台N多

2015-07-28 14:07:17 3174

原创 怎样往linux社区提交代码

以alsa for-next branch为例子:首先git clone git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git //社区里面 Mark Brown 维护的audio 分支。checkout 到for_next branch做一个patch,然后发送到社区就行了。1.      git comm

2015-07-21 18:21:42 2044

原创 zx2000 HDMI audio

长见识了,zx2000 fpga验证HDMI audio 的时候,发现走的是intel PCI HDA audio架构。没见过arm芯片hdmi audio走这条路的。可能公司之前是做x86芯片的,PC上的HDMI audio好像都走intel的pci hda audio架构, 现成的IP,集成到arm芯片里就可以了。调试过程中遇到三个问题:1:zx2000没有pci控制器,需要增加一个假

2015-07-21 17:48:02 874

原创 两种形式的dma 实现memory copy代码

在飞思卡尔的时候,需要用SDMA实现内存到内存memory copy的功能,需要做两部分的工作:1:在DMA controller中加入M2M的支持。2:写一个驱动来调用DMA controller的M2M功能。上面的2实际上对于不同的SoC来讲,思路是一样的,有通用性,在这里总结下。当时在实现的时候,用了两种方法:1:cyclic, 用dma_alloc_coherent分配

2015-07-09 11:11:41 9038

原创 移植alsa-lib与alsa-utils

在做zx2000 FPGA验证的时候,因为是用busybox编译的小的rootfs,里面没有alsa-lib与aplay,所以需要自己将alsa-lib与aplay移植到rootfs中。首先需要到alsa的网站上去下载alsa-lib与alsa-utils:ftp://ftp.alsa-project.org/pub/lib/ftp://ftp.alsa-project.org/pub

2015-07-06 17:24:51 1297

原创 Audio模拟多声道

本文档主要包括两个部分:1:如何将一首超过两声道的多声道音乐放到多个双声道声卡上播放,来模拟原音乐文件的多声道输出。2:如何将多个双声道音乐文件同时放到一个8声道的声卡的不同channel上播放。涉及的文件:etc/asound.conf 1:如何将一首超过两声道的多声道音乐放到多个双声道声卡上播放,来模拟原音乐文件的多声道输出。1):Sabresd板子按设计来讲,sa

2015-07-02 18:16:18 2119

原创 Sabresd板子上WM8962的耳机和功放的关系

本文档主要讨论i.mx6_sabresd板子WM8962 machine driver中耳机(HP)和喇叭(Ext Spk)之间的关系。主要包括三个部分:1:Linux 3.10.17版本内核中HP与Ext Spk的关系。2:Linux 3.0.35版本内核中HP与Ext Spk的关系,以及改进。3:如何增加kcontrol接口,通过amixer来控制HP和Ext Spk。上面

2015-07-02 18:13:11 4874

原创 Windows下Openocd使用方法:

烧录:cmd window 1:openocd.exe –f openjtag.cfg –f zx2000.cfg注意,在zx2000.cfg中要设置好load_timingload_eloaderload_uboot要load的文件的地址。Cmd window 2:telnet localhost 4444load_timingload_elo

2015-07-02 18:09:09 5836

原创 ZX2000 SPDIF 整体架构以及SPDIF协议分析

Audio PLL经过上面表格里面的分频,可以分出target中的频率(Mhz)。我FPGA验证的时候跑的是48K采样率的音乐,所以clock的设置如下:BitClock = ASYSCLK / D = OverSampClock / D = 36.864 / 6 = 6.144Mhz //D的值是软件控制的DataClock = 6.144 / 2 = 3.072 Mhz

2015-07-02 17:56:00 4386

原创 Audio codec FPGA 验证时I2C读写寄存器小结

Audio codec由于涉及到D/A,A/D等模拟相关的操作,所以在FPGA上无法实现其功能,但是其内部的寄存器,是可以通过I2C对其读写的。ZX2000内置CODEC是挂在芯片的I2C2上,所以第一步需要在dts中添加I2C2,注意zx2000内置audio codec的i2c slave addr为0x8。zx2000.dtsi:  i2c2: i2c@d83a0000 {

2015-07-02 17:43:45 2945

原创 如何将内核数据打印到文件

1:内核里将一段DMA内存里的数据打印到/tmp/LogFile中,用hexdump打开这个文件就可以看到这段内存里的数据了。DMA操作的是物理地址,往文件里写数据,需要的是数据的虚拟地址。还好,分配DMA内存的时候,已经将DMA内存的物理地址对应了虚拟地址。下面是分配的音频DMA buff,在播放音乐时,buff里的值是不停更新的。int * tmp; 389        

2015-07-02 17:40:22 2173

原创 SPDIF S24_LE S24_3LE调试小结

在验证spdif S24_3LE/S24_LE格式的数据播放时,因为我的linux rootfs中没有alsa-lib与aplay,所以我用了android中的tinyalsa。因为android tinyalsa默认是不支持24bit数据的,所以需要先修改tinyalsa Carl的Linux rootfs下, 底层注册了两个声卡,但是在/dev/snd/下面只有第一个声卡的相关

2015-07-02 16:32:07 5843

原创 Alsa period_size/periods/buffer_size计算逻辑

Alsa period_size/periods/buffer_size计算逻辑背景:ZX2000 FPGA验证时发现,S24_3LE mono格式的音乐播放时,会有周期性的噪音出现,噪音信号发生时是有音频数据的,只是看起来和原数据相比有位移,用正弦波测试时可以看出噪音信号的包络和原信号有些相似。用默认配置的时候,读取runtime->period_size = 1366,一个

2015-07-02 15:55:12 14664

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除