自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (16)
  • 收藏
  • 关注

原创 PCI地址

PCI 分 PCI配置空间 和 BAR空间PCI配置空间 访问PCI/PCIe设备的配置空间通过PCIEXBAR加上设备的Bus、Device、Fun号的转换来得到  BAR空间为 PCI总线空间,需iomap映射后访问

2017-05-31 18:51:04 455

转载 linux新的API signalfd、timerfd、eventfd使用说明

[+]三种新的fd加入linux内核的的版本:signalfd:2.6.22timerfd:2.6.25eventfd:2.6.22三种fd的意义:signalfd:传统的处理信号的方式是注册信号处理函数;由于信号是异步发生的,要解决数据的并发访问,可重入问题。signalfd可以将信号抽象为一个文件描述符,当有信号发生时可以对其read,这样可

2017-05-27 16:28:01 307

转载 LeetCode总结

最近完成了www.leetcode.com的online judge中151道算法题目。除各个题目有特殊巧妙的解法以外,大部分题目都是经典的算法或者数据结构,因此做了如下小结,具体的解题思路可以搜索我的博客:LeetCode题解题目算法数据结构注意事项Clone GraphBFS哈希表Word Ladder IIBFS

2017-05-27 16:25:01 299

转载 camera的测试程序-预览的保存

step1: 打开视频设备static int video_open(const char *devname){ struct v4l2_capability cap; int dev, ret; dev = open(devname, O_RDWR); if (dev < 0) { TestAp_Printf(TESTAP_DBG_ERR, "Error opening de

2017-05-24 20:06:39 537 1

转载 linux alsa 音频路径切换

kcontrol的创建和注册和调用流程步骤1:创建过程通过如下等宏来初始化一个 snd_kcontrol_new 结构的实例SOC_DOUBLE_R_TLV/SOC_ENUM/SOC_SINGLE/SOC_SINGLE_TLV......步骤2:注册过程调用 snd_soc_add_codec_controls,该函数首先通过 snd_soc_cnew 函数将这些来

2017-05-24 20:03:14 1600

转载 内核资料:ALSA资料

内核资料好多好多,一个人摸索真的很难。 最近又卡住了,没办法向前进了。声卡,资料真的好多。没有一个系统的视频或者学习资料真的感觉无从下手。只能用时间耗了,先堆一些枯燥的资料。等我哪天茅塞顿开了,再来写心得吧!Master clock:每一个音频子系统都需要一个主时钟,通常被称作MCLK或者SYSCLK,主时钟可以来自外部晶振,锁相环或者CPU系统时钟.某些时钟源是 可以配置

2017-05-24 20:01:30 608

转载 wm8960驱动:裸机代码研读

网上已经有基本的wm8960驱动的demo。可以播放特定频率的wav文件。这个程序很具有参考性。 我们知道,初始化wm8960,需要大概的步骤如下: 1.初始化I2C总线,通过I2C接口给wm8960下配置命令。 2.将声音文件加载到memory中 3.初始化I2S,并把内存中的数据通过I2S总线送给wm8960,从而wm8960通过解码播放出声音 我们大概来看一下,这个代码的

2017-05-24 19:59:56 6775

转载 linux驱动开发: wm8960 codec代码分析

关于alsa架构已经啃了好久好久,但是也卡了好久好久。难说皮毛到底有看懂多少,不管,我们先来啃wm8960 codec的驱动代码:必要相关函数说明: ////////////////////////////////////////////////////////////////////////////1.#define SOC_ENUM_SINGLE(xreg, xshift, x

2017-05-24 19:56:48 1934

转载 HardFault_Handler问题查找方法

收藏评论(0)分享到微博QQ微信LinkedInSTM32出现HardFault_Handler故障的原因主要有两个方面:1、内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。2、堆栈溢出。增加堆栈的大小。 出现问题时排查的方法:发生异常之后可首先查看LR寄存器中的值,确定当前使用堆栈为M

2017-05-24 19:00:38 2067

转载 Cortex-M3/4的Hard Fault调试方法

1 Cortex-M3/4的Fault简介        Cortex-M3/4的Fault异常是由于非法的存储器访问(比如访问0地址、写只读存储位置等)和非法的程序行为(比如除以0等)等造成的。常见的4种异常及产生异常的情况如下:Bus Fault:在fetch指令、数据读写、fetch中断向量或中断时存储恢复寄存器栈情况下,检测到内存访问错误则产生Bus Fault。M

2017-05-24 18:52:24 2036

转载 解决stm32进入HardFault_Handler的定位办法

1、首先在HardFault_Handler的while(1)处打上断点。2、等待代码运行到此,这时查看寄存器LR,在左边一个是工程,一个是寄存器。上面的LR是我正常时copy的,一般在进入hardfault时,会变成下图的值,这时就可以知道该看那个寄存器的值,当时我那里是0xFFFFFFFD,所以是看PSP的地址。3、找到该看的地址后然后如下图打开内存,输入上

2017-05-24 18:50:01 5846

转载 程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大系列集锦

程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大经典原创系列集锦与总结(七月在线:https://www.julyedu.com/,面试 & 算法 & 机器学习在线课程)作者:July--结构之法算法之道blog之博主。时间:2010年10月-2014年12月。出处:http://blog.csdn.net/v_JULY_v 。说明:本博

2017-05-24 13:57:49 335

转载 程序员如何快速准备面试中的算法

程序员如何快速准备面试中的算法 准备面试、学习算法,特别推荐最新出版的新书《编程之法:面试和算法心得》,已经上架京东等各大网店前言    我决定写篇短文,即为此文。之所以要写这篇文章,缘于微博上常有朋友询问,要毕业找工作了,如何备战算法。尽管在微博上简单梳理过,如下图所示:       但因字数限制,许多问题无法一次性说清楚,

2017-05-24 13:56:56 294

转载 ALSA System on Chip(ASOC)

此文档仅作为开发随笔记录文档,可作为正式文档做材料参考,但不做正式文档。 Written bywolfgang huang([email protected]) 此类文档仅记录Android4.1.2+Kernel2.6.37+OMAP3730平台ALSA开发及内核要点,备注好资料应用,以供后续开发人员快速入手,也可作为科普类资料,供其他相关人员学习。 

2017-05-23 18:38:54 443

转载 alsa分析:网络资源

关于alsa,网络上已经有很多人做了分析,有的分析的非常好,图文并茂,我就拿来主义,直接引用了。下面是收集的一些链接,内容包括:alsa驱动架构audio codec的驱动alsa的snd_controls/dapm/alsa-lib/alsa配置脚本.....alsa的中间层:alsa-lib alsa-HAL alsa-framework++++

2017-05-20 15:06:45 270

转载 alsa分析:alsa的那些配置文件 ( 2 )

http://blog.csdn.net/doom66151/article/details/6577955 关于ALsa的配置文件,这里有一篇很好的文章。感谢原著。+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  理解和使用Alsa的配置

2017-05-20 15:03:55 610

转载 alsa分析:alsa的那些配置文件 ( 1 )

http://blog.csdn.net/doom66151/article/details/6573176在根文件系统下,alsa相关的配置文件有:在/system/usr/share/alsa目录下:├── alsa.conf  ├── cards  │   └── aliases.conf  └── pcm      ├── cen

2017-05-20 15:02:07 2248

转载 ALSA 音频系统源代码分析: ALSA library 分析 --- 配置系统

ALSA的配置主文件默认是:/usr/share/alsa/alsa.confALSA lib源代码中的conf.c负责load,解析这个配置文件。配置以层次结构组织的,由一个snd_config_t 数据结构对象snd_config保存着总配置根,用list_head的方法将各个层次的配置组织起来。[cpp] view plain copy

2017-05-20 15:00:21 902

原创 音频基本概念

转自 https://zhidao.baidu.com/question/2053292811772756147.html这里了解一下各个参数的含义以及一些基本概念。样本长度(sample):样本是记录音频数据最基本的单位,常见的有8位和16位。通道数(channel):该参数为1表示单声道,2则是立体声。桢(frame):桢记录了一个声音单元,其长度为样本长度与通道数的乘积。采样率(ra

2017-05-20 14:53:27 2254

转载 alsa用户空间编程

[-]ALSA简介Device naming声音缓存和数据传输Overrun and underrunDisplay Some PCM Types and FormatsOpening PCM Device and Setting ParametersSimple Sound PlaybackSimple Sound RecordingAdvanced Features

2017-05-20 14:02:56 1515

转载 asla架构和alsa-lib音频库的移植

alsa 是在Linux出现比较晚的音频处理库,主要是针对原有的OSS的库进行改进.性能更好,支持多个播放源等.但相应的,增加的编程的复杂性.  旧的oss是采用标准文件IO接口,设备打开采用open,声音播录是采用数据IO接口(read/write),设备的参数采用ioctl来控制.都是系统调用因此无需额外库和配置文件来操作设备.但alsa也是最终采用open/read/write/ioct

2017-05-20 13:59:15 584

转载 嵌入式Linux下ALSA音频架构ALSA-lib移植与编译

***************************************************************************************************************************作者:EasyWave                                                              

2017-05-20 13:52:52 1196

转载 wordexp函数学习

GNU C LIB 库中有模式匹配这一章,除了威力非凡的正则表达式, Shell-Style Word Expansion 也是其中一节,介绍了另外一种模式匹配的思路。简单的说就是将输入的字符串,按照单词解析成一个wordexp_t类型的变量。这个变量本质是个矢量,她有we_wordc成员,表示有矢量成员的个数,换言之,就是解析成了几个单词。    注意,we_wodv这个指针数组

2017-05-19 19:21:11 2049

转载 pci设备的枚举(转)

------------------------------------------一:前言Pci,是Peripheral Component Interconnect的缩写,翻译成中文即为外部设备互联.与传统的总线相比.它的传输速率较高.能为用户提供动态查询pci deivce.和局部总线信息的方法,此外,它还能自动为总线提供仲裁.在近几年的发展过程中,被广泛应用于多种平台.pc

2017-05-19 17:28:54 2300

转载 armlinux中一些重要的宏-如unlikely、container_of及地址定义

本篇文章主要介绍了"armlinux中一些重要的宏-如unlikely、container_of及地址定义",主要涉及到armlinux中一些重要的宏-如unlikely、container_of及地址定义方面的内容,对于armlinux中一些重要的宏-如unlikely、container_of及地址定义感兴趣的同学可以参考一下。TEXT_OFFSET  内核在RAM中的起始位置相对

2017-05-18 14:16:38 461

转载 mips处理器linux内核pci初始化和设备枚举详解

Linux启动过程中pci总线初始化主要包括2部分,pci控制器的注册和pci设备的枚举,pci总线和其他总线一个很重要的区别就是pci总线的枚举,在启动过程中遍历pci总线树上所有可能的dev func,记录下所有存在的设备的vendor id  设备名等,这个是做为后面pci设备驱动初始化中注册pci设备驱动需要匹配的重要依据,类似于platform驱动。  先说pci控制器注册,

2017-05-16 18:13:44 1381

转载 Linux下的PCI总线驱动

版权所有,转载请说明转自  http://my.csdn.net/weiqing1981127原创作者:南京邮电大学  通信与信息系统专业 研二 魏清 一.理论1.      PCI总线的特点:(1)速度上快,时钟频率提高到33M,而且还为进一步把时钟频率提高到66MHZ、总线带宽提高到64位留下了余地。(2)对于地址的分配和设置,系统软件课自动设置,每

2017-05-16 17:21:40 837

转载 Intel E100 网卡驱动实例分析

本来是做zero-copy的,顺便把分析记录写下来,供大家参考,如果有错误清大家多包涵。只挑重要的来说,一些细节的地方我也不大懂,要看芯片手册才行,我们作软件的就别看那么细了,最重要是把主要流程弄清除。 系统结构定义以下定义的结构,要保证长度是32bit的整数,也就是4bytes对齐,在自己添加成员的时候尤其小心。struct cb 字面理解为control

2017-05-16 17:19:53 1488

转载 PCI Express设备驱动 (4,PCIe配置空间和PCI设备中的寄存器)

1、访问PCI配置空间,PCI基本配置空间的读写使用下列函数: 原型定义在按 Ctrl+C 复制代码按 Ctrl+C 复制代码int pci_write_config_byte(struct pci_dev *pdev, int where, u8 *val);int pci_write_config_word(struct pci_dev *pdev, int wh

2017-05-16 17:18:40 5867

转载 uboot中PCIe驱动程序说明

针对之前分析uboot中PCIe部分的代码,这里进行简要的PCIE体会说明,回头再整理一下格式1.     概论这边的说明只针对Uboot中P1020开发板的PCIE部分。简要说明功能和注意问题。2.     PCIe相关基本概念Host主桥:HOST 主桥与主存储器控制器在同一级总线上,其主要功能是隔离处理器系统的存储器域与处理器系统的PCI总线域。PCI 设备可以方便地通过 H

2017-05-16 17:17:52 8538 1

转载 Freesclae i.MX6 Linux PCIE驱动源码分析

最近需要做一个工具来测试PCIE的link是否成功,但是由于PCIE的驱动都是在内核空间中,因此需要首先分析一下i.MX6 PCIE的驱动源码。首先我不得不吐槽一下驱动源码的存放位置很混乱,在Linux 3.0.35_4.1.0中,驱动居然是在arch/arm/mach-mx6/目录下,通常的情况来说,这里是存放板极信息文件的地方,而pcie的驱动更应该放在drivers/pci等相关目录下,因此

2017-05-16 16:05:13 580

转载 设备树的用法(Device Tree Usage)

基本数据格式————————————————————————————————device tree是一个简单的节点和属性树,属性是键值对,节点可以包含属性和子节点。下面是一个.dts格式的简单设备树。/ { node1 { a-string-property = "A string"; a-string-list-property

2017-05-16 14:57:29 1325 1

转载 Linux设备树的用法

本文通过为一个新machine写一个设备树来介绍设备树相关的概念,以及如何来描述一个machine。关于设备树的技术细节描述,需要参考ePAPR文档,ePAPR文档中包含了大量的基础语法之外的细节,如果你需要了解更多本文之外的设备树细节,请参考ePAPR文档。基本数据格式设备树是一个由节点及属性组成的简单树结构。属性是基于key-value对的,节点

2017-05-16 14:56:07 612

转载 设备树使用手册

设备树使用手册This page walks through how to write a device tree for a new machine. It is intended to provide an overview of device tree concepts and how they are used to describe a machine.本文将介绍如何

2017-05-16 14:52:35 502

转载 PCI 总线初始化

在《Linux内核修炼之道》里,文章作者对如何使用Kconfig和Makefile定位内核源码有精彩的阐述。并且该作者还在《Linux那些事儿 之 我是PCI》系列文章中对X86架构下的PCI总线和设备驱动做了很详细的分析。由于工作需要,我在此基础上分析了ARM体系结构的PCI总线驱动,并把心得和笔记整理一下,或许对日后解析其他子系统有所帮助。以下涉及到的Linux内核源码均为2.6.23版本

2017-05-16 14:50:48 2084

转载 音频帧概念详解

正常人听觉的频率范围大约在20Hz~20kHz之间。采样频率是指将模拟声音波形进行数字化时,每秒钟抽取声波幅度样本的次数。根据奈奎斯特采样理论,为了保证声音不失真,采样频率应该在40kHz左右。常用的音频采样频率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,如果采用更高的采样频率,还可以达到D

2017-05-15 11:00:54 12874 3

转载 Alsa音频编程

一、前序这里了解一下各个参数的含义以及一些基本概念。声音是连续模拟量,计算机将它离散化之后用数字表示,就有了以下几个名词术语。样本长度(sample):样本是记录音频数据最基本的单位,计算机对每个通道采样量化时数字比特位数,常见的有8位和16位。通道数(channel):该参数为1表示单声道,2则是立体声。帧(frame):帧记录了一个声音单元,其长度为样本

2017-05-15 10:41:47 736

转载 基于 libmad 的简单 MP3 流媒体播放器的实现

1.介绍本文在 Fedora 5 Linux 下实现了一个基于 libmad 的 MP3 流媒体播放器。此流媒体播放器可以播放基于 HTTP 1.1 协议传输的 MP3 流媒体数据。基本原理是:从 HTTP 服务器获得 MP3 媒体信息,然后通过网络传输把 MP3 数据以数据流的形式接收到 MP3 流媒体播放器客户端,由客户端通过 libmad 解码 MP3 数据流,得到 PCM

2017-05-15 10:39:56 1582

转载 linux alsa pcm 播放声音

/**alsa play test *ALSA用户空间编译,ALSA驱动的声卡在用户空间,不宜直接使用 *文件接口中,而应使用alsa-lib *打开---->设置参数--->读写音频数据 ALSA全部使用alsa-lib中的API *交叉编译 *export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH *arm-linux-gcc -o a

2017-05-15 10:24:56 1603

转载 Linux ALSA 系统架构

ALSA是Linux声卡驱动的架构,下面基于linux-2.6.32描述下ALSA系统架构。ALSA系统可以分为alsa-lib、alsa-driver,而alsa-driver又分为core层和底层硬件层。作为开发者,我们只需移植底层硬件层,根据自己硬件特性,实现底层的移植。而core层基本属于ALSA标准框架,不需要自己实现。介绍ALSA框架,下面是大体框架图。     如

2017-05-15 10:13:07 330

NAU88L24_DesignUserGuide_rev1.7.pdf

NAU88L24

2021-03-12

TC358743.7z

TC358743 V1.1

2021-03-12

brezillon-drm-kms.zip

brezillon-drm-kms.pdf 介绍kms

2021-03-12

深入理解Linux虚拟内存管理CD.rar

深入理解Linux虚拟内存管理CD

2021-03-02

systemTap英文文档集合.7z

systemTap英文文档集合.7z

2021-02-26

dtrace 用户指南.zip

dtrace 用户指南 中文版

2021-02-26

Solaris动态跟踪指南.zip

Solaris动态跟踪指南 全面介绍D语言

2021-02-26

内核红黑树MAP--C语言

封装了linux 内核 红黑树,纯C语言,外层已经封装好了,直接使用,有压力测试,很不错

2019-01-17

FFmpeg Basics

Multimedia handling with a fast audio and video encoder Multimedia handling with a fast audio and video encode Multimedia handling with a fast audio and video encode Multimedia handling with a fast audio and video encoder

2017-12-01

Linux Media Subsystem Documentation

2017年 最新的 V4L2 规范 ,做 linux 摄像头的一定要看...........................................................................................................

2017-11-29

单独编译和使用 webrtc 音频回声消除模块

单独编译和使用webrtc音频回声消除模块(附完整源码+测试音频文件)

2017-11-29

live555MediaServer

live555MediaServer 服务器 实现 RTSP流媒体,实现 RTSP流媒体

2017-10-10

高通 atheros ART 校准

高通 atheros ART 校准 资料合集

2016-12-23

输入方向的流量控制 .doc

Linux中的QoS分为入口(Ingress)部分和出口(Egress)部分,入口部分主要用于进行入口流量限速(policing),出口部分主要 用于队列调度(queuing scheduling)。 大多数排队规则(qdisc)都是用于输出方向的,输入方向只有一个排队规则,即ingress qdisc。ingress qdisc本身的功能很有限, 但可用于重定向incoming packets。通过Ingress qdisc把输入方向的数据包重定向到虚拟设备ifb,而ifb的输出方向可以配置

2016-11-08

DDR DDR2 DDR3设计总结指导手册

DDR DDR2 DDR3 Layout 详细 总结 经验

2016-10-27

QT编写的超市收银系统

QT 超市收银系统 可直接运行 给大家一个参考

2016-04-30

空空如也

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

TA关注的人

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