自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (3)
  • 收藏
  • 关注

转载 2020-08-24

转载[https://blog.csdn.net/guotianqing/article/details/80044087]1. 概述  在多数unix系统中,当多个进程/线程同时编辑一个文件时,该文件的最后状态取决于最后一个写该文件的进程。  对于有些应用程序,如数据库,各个进程需要保证它正在单独地写一个文件。这时就要用到文件锁。  文件锁(也叫记录锁)的作用是,当一个进程读写文件的某部分时,其他进程就无法修改同一文件区域。  能够实现文件锁的函数主要有2个:flock和fcntl。  早期的

2020-08-24 16:17:35 172

转载 c++异常机制--学习笔记

[ 转载 ]:https://www.cnblogs.com/hdk1993/p/4357541.html1. 概述  异常处理是C++ 的一项语言机制,用于在程序中处理异常事件。异常事件在C++中表示为异常对象。异常事件发生时,程序使用throw关键字抛出异常表达式,抛出点称为异常出现点,由操作系统为程序设置当前异常对象,然后执行程序的当前异常处理代码块,在包含了异常出现点的最内层的try块,依次匹配catch语句中的异常对象(只进行类型匹配,catch参数有时在catch语句中并不会使用到)。若.

2020-08-06 09:49:16 352

转载 C++中虚函数的作用和虚函数的工作原理

【转载】https://www.cnblogs.com/zkfopen/p/11061414.html1. C++中虚函数的作用和多态虚函数: 实现类的多态性关键字:虚函数;虚函数的作用;多态性;多态公有继承;动态联编  C++中的虚函数的作用主要是实现了多态的机制。基类定义虚函数,子类可以重写该函数;在派生类中对基类定义的虚函数进行重写时,需要在派生类中声明该方法为虚方法。  当子类重新定义了父类的虚函数后,当父类的指针指向子类对象的地址时,[即B b; A a = &b;] 父类指针根

2020-07-28 11:50:16 428

原创 live555学习笔记之-GroupSock(NetAddress&NetAddressList&AddressPortLookupTable)

live/groupsock/include/NetAddress.hh1.概述  group是组/群的意思,socket是网络接口的代名词了。这个部分很庞大,主要是与网络相关的。而live555的网络模块很多都涉及到组播的概念。  使用Socket进行的网络连接,网络地址一般由地址(IP)和端口(port)组成。live555中定义了一些数据类型,表明了目前所支持的网络地址类型。typedef u_int32_t netAddressBits;typedef u_int16_t portNum

2020-07-21 11:55:08 468

原创 live555四大基础组件学习笔记-处理程序handler类

1.介绍  处理程序相关类一共有三个,其没有派生继承关系,但是其有友元关系和使用关系。处理程序相关类主要是用于对相关的处理函数的指针和数据的包装,方便在DelayQueue相关类中的使用等。先来总的说以下三个类的关系。  HandlerDescriptor是一个节点类,而HandlerSet是一个链表类,链表节点就是HandlerDescriptor对象。HandlerIterator是一个迭代器类,其绑定一个HandlerSet对象。  处理程序相关的三个类都定义在live555sourcecon

2020-07-21 11:53:54 211

原创 AVI格式--学习笔记

1. 介绍  AVI是音频视频交错(Audio Video Interleaved)的英文缩写,它是Microsoft公司开发的一种符合RIFF文件规范的数字音频与视频文件格式,原先用于Microsoft Video for Windows (简称VFW)环境,现在已被Windows 95/98、OS/2等多数操作系统直接支持。AVI格式允许视频和音频交错在一起同步播放,支持256色和RLE压缩,但AVI文件并未限定压缩标准,因此,AVI文件格式只是作为控制界面上的标准,不具有兼容性,用不同压缩算法生成的

2020-07-14 19:44:02 465

原创 const的作用--学习笔记

1. const关键字的作用欲阻止一个变量被改变,可使用const,在定义该const变量时,需先初始化,以后就没有机会改变他了;对指针而言,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;在一个函数声明中,const可以修饰形参表明他是一个输入参数,在函数内部不可以改变其值;对于类的成员函数,有时候必须指定其为const类型,表明其是一个常函数,不能修改类的成员变量;对于类的成员函数,有时候必须指定其返回值为const类型,以使

2020-07-13 19:31:14 1288

转载 堆--学习笔记

[ 转载 ]https://www.jianshu.com/p/c5f4255b81481.概念  堆,是一种十分基础的数据结构,也是优先队列实现的最好方法,其本身的实现也挺简单的。废话不多说,我们直接来看堆的一些描述和特性。1.1拓展概念二叉树  首先,堆其实就是一颗完全二叉树,在描述一颗二叉树的时候,我们完全可以使用类似链表的方式,一个数据域来储存数据,两个指针来指向其左右节点。但这样储存会导致空间的浪费,所以可以采用数组来储存二叉树。  堆正是一种特殊的二叉树,完全二叉树,这样子的.

2020-07-12 17:31:05 226

原创 线程-学习笔记

1.背景  在传统的Unix模型中,当一个进程需要由另一个实体执行某件事时,该进程派生(fork)一个子进程,让子进程去进行处理。Unix下的大多数网络服务器程序都是这么编写的,即父进程接受连接,派生子进程,子进程处理与客户的交互。  虽然这种模型很多年来使用得很好,但是fork时有一些问题:fork是昂贵的。内存映像要从父进程拷贝到子进程,所有描述字要在子进程中复制等等。目前有的Unix实现使用一种叫做写时拷贝(copy-on-write)的技术,可避免父进程数据空间向子进程的拷贝。尽管有这种优化

2020-07-11 17:08:24 216

原创 RTP打包发送H264之封包详解

1.网络抽象层单元类型(NALU)NALU 头由一个字节组成, 它的语法如下: +---------------+ |0|1|2|3|4|5|6|7| +-+-+-+-+-+-+-+-+ |F|NRI| Type | +---------------+F: 1 个比特.forbidden_zero_bit. 在 H.264 规范中规定了这一位必须为 0.NRI: 2 个比特.nal_ref_idc. 取 00 ~ 11, 似乎指示这个 NALU 的重要性, 如 00 的

2020-07-07 17:30:32 266

原创 alsa声卡驱动之三:ASoC框架中的platform

第一篇章中说过ASoC分为:Machine、Codec、Platform三个部分,其中Machine主要起到匹配Codec跟Platform,Codec主要是音频解码芯片的初始化配置跟一些相对应的控制,比如第二章节说的tlv320aic3x.c文件的内容。

2018-01-09 11:22:51 561

原创 alsa声卡驱动二:ASoC框架中的Codec

Codec简介在移动设备中,Codec的作用可以归结为4种,分别是: 对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号 对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号

2018-01-03 16:00:42 406

原创 alsa声卡驱动一:声卡的创建

Alsa的声卡创建流程,以及在ASOC的框架下的实现。

2018-01-02 18:15:19 924

原创 i2c子系统学习总结

linux,i2c子系统学习总结

2017-12-20 11:25:10 657

原创 alsa-lib和alsa-util安装编译及开发板移植

最近想在自己的开发板上移植一个音频驱动,所以涉及到了音频测试方面,alsaproject提供了alsa-driver、alsa-lib以及alsa-utils。现在的内核基本都有 了alsa-driver,所以关于他的安装没有进行操作。一下主要总结一下alsa-lib和alsa-utils的安装移植。先准备alsa-lib跟alsa-utils的安装包,我用的是alsa-lib-1.1.5跟als

2017-12-16 10:23:57 1729

原创 自旋锁学习总结

--为了获得一个自旋锁, 在某CPU 上运行的代码需先执行一个原子操作,该操作测试并设置(test-and-set) 某个内存变量,由于它是原子操作,所以在该操作完成之前其他执行单元不可能访问这个内存变量。如果测试结果表明锁已经空闲,则程序获得这个自旋锁并继续执行;如果测试结果表明锁仍被占用,程序将在一个小的循环内重复这个“ 测试并设置” 操作,即进行所谓的“ 自旋”,通俗地说就是“在原地

2016-11-15 17:53:42 529

原创 linux的原子操作学习总结

原子操作学习总结

2016-11-15 17:35:48 499

原创 字符设备驱动学习总结

从module_exit(l138_led_exit);中的函数l138_led_exit(void)来看字符设备驱动建立的过程static int l138_led_exit(void){unregister_chrdev_region(led_dev,count);//删除主从设备号cdev_del(&led_cdev);//cdev设备删除device_d

2016-10-28 10:43:13 497

原创 继电器电路设计

继电器左边的电路:1、三级管作为开关电路,b极高电平时,三极管导通,端点2接地。注意:电平输入会有一个波动,或者上升的时间,在e极跟b极之间并联一个RC并联电路。(RC并联是减少高频阻抗,RC串联是滤去高频),不管RC串联还是并联,电容的作用都是一样的,电容的作用就是防止电压突变,吸收尖峰状态的过电压,串联的电阻起阻尼作用,电阻消耗过电压的能量,从而抑制电路的振荡。并联的电阻吸收电容的电能

2016-10-19 15:05:23 9667 1

原创 光耦合器原理及作用

光耦合器(optical coupler,英文缩写为OC)亦称光电隔离器,简称光耦。光耦合器以光为媒介传输电信号。它对输入、输出电信号有良好的隔离作用,所以,它在各种电路中得到广泛的应用。

2016-10-19 13:56:32 6762

alsa-lib跟alsa-utils

音频驱动测试,包含alsa-lib库跟alsa-util工具,可用于做音频驱动时对驱动进行测试。

2017-12-16

UCOS入门教程(ppt)

是一个很好的学习教程,此学习教程是在32上面学习的,对于喜欢单片机,而且想学嵌入式是一个很不错的入门教程

2014-07-20

zigbee无线网络管理

学习zigbee组网的技术,是一个pdf稳定,里边有部分代码,是zigbee组网技术不错的文档。

2014-07-14

空空如也

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

TA关注的人

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