
我所知的linux
heanyu
这个作者很懒,什么都没留下…
展开
-
jrtplib-3.7.1笔记--流程一遍
一、RTP 是进行实时流媒体传输的标准协议和关键技术实时传输协议(Real-time Transport Protocol,PRT)是在 Internet 上处理多媒体数据流的一种网络协议,利用它能够在一对一(unicast,单播)或者一对多(multicast,多播)的网络环境中实现传流媒体数据的实时传输。RTP 通常使用 UDP 来进行多媒体数据的传输,但如果需要的话可以使用 TCP 或者 ATM 等其它协议。 协议分析 :每一个RTP数据报都由头部(Header)和负载(Payload)两个部分组成,原创 2010-12-15 15:38:00 · 12412 阅读 · 3 评论 -
gpio_request 原形代码
其原型为 int gpio_request(unsigned gpio, const char *label) 先说说其参数,gpio则为你要申请的哪一个管脚,label则是为其取一个名字。其具体实现如下:int gpio_request(unsigned gpio, con原创 2011-08-22 19:24:26 · 19221 阅读 · 4 评论 -
spin_lock spin_lock_irq
1.spin_lock会关闭中断。那么衍生出的spin_lock_irq跟它有什么区别呢?不是也是关闭中断吗? 我的理解是spin_lock关闭的是软中断, 禁止了内核抢占;软中断有spin_lock_bh(), spin_lock_bh()是禁止软中断, s原创 2011-08-22 19:25:22 · 2784 阅读 · 0 评论 -
Linux内核代码风格 from kernel
Chinese translated version of Documentation/CodingStyleIf you have any comment or update to the content, please post to LKML directly.原创 2011-09-28 15:06:58 · 1614 阅读 · 0 评论 -
如何参与Linux内核开发 from kernel
Chinese translated version of Documentation/HOWTOIf you have any comment or update to the content, please contact theoriginal docume原创 2011-09-28 15:11:59 · 6543 阅读 · 0 评论 -
How to modify the uboot environment from userspace
OverviewThis How-To is meant to be a starting point for people to learn how access to the uboot environment from userspace.This is my fi转载 2011-10-12 19:26:30 · 3434 阅读 · 0 评论 -
内核队列、定时器、阻塞、休眠
工作队列(work queue)是Linux kernel中将工作推后执行的一种机制。这种机制和BH或Tasklets不同之处在于工作队列是把推后的工作交由一个内核线程去执行,因此工作队列的优势就在于它允许重新调度甚至睡眠。工作队列是2.6内核开始引入的机制,在2.6.20之后,工作队列的数据结构发生了一些变化,因此本文分成两个部分对2.6.20之前和之后的版本分别做介绍。转载 2011-10-25 10:05:06 · 5256 阅读 · 0 评论 -
模拟I2C
I2C是总线结构,1个Master,1个或多个Slave,各Slave设备以7位地址区分,地址后面再跟1位读写位,表示读(=1)或者写(=0),所以我们有时也可看到8位形式的设备地址,此时每个设备有读、写两个地址,高7位地址其实是相同的。 I2C数据格式如下: 无数据 SCL=1,SDA=1; 开始位(Start):当SCL=1时,SDA由1向0跳变;转载 2011-10-27 11:05:45 · 1152 阅读 · 0 评论 -
8 Command Line Tools to Monitor Linux Performance
It’s really very tough job for every System or Network administrator to monitor and debugLinux System Performance problems every day. After being a Linux Administrator for 5 years in IT indu转载 2012-09-21 23:39:25 · 3495 阅读 · 0 评论 -
platform设备驱动全透析 ----宋宝华
1.1 platform总线、设备与驱动 在Linux 2.6的设备驱动模型中,关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。原创 2011-08-22 19:41:12 · 2528 阅读 · 0 评论 -
中断 中断信号 中断源
中断概述: 什么是中断,简单地说就是CPU在忙着作自己的事情,这时候硬件(比如说键盘按了一下)触发了一个电信号,这个信号通过中断线到达中断控制器(cpu),控制器接受到这个信号,向CPU发送INT信号申请CPU来执行刚才的硬件操作,并且将中断类型号也发给CPU,此原创 2011-08-22 19:26:27 · 5032 阅读 · 0 评论 -
Linux支持的信号列表
<br /> <br />kill -l<br />dsp@Ubuntu:~/opt/workdir/jrtplib-3.7.1/examples$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR111) SIGSEGV 12转载 2010-12-16 10:21:00 · 1638 阅读 · 0 评论 -
GNU make中文手册
http://www.linuxsir.org/main/doc/gnumake/GNUmake_v3.80-zh_CN_html/index.html GNU make中文手册 ver - 3.8 翻译整理:徐海兵 2004-09-11 关于本书 本文瑾献给所有热爱Linux的程序员!本中原创 2011-03-04 09:22:00 · 1724 阅读 · 0 评论 -
Git 中文教程
介绍 Git --- The stupid content tracker, 傻瓜内容跟踪器。Linus 是这样给我们介绍 Git 的。 Git 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同, 它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(mer原创 2011-03-04 11:56:00 · 1230 阅读 · 0 评论 -
key_t键和ftok函数(转)
key_t键 System V IPC使用key_t值作为它们的名字,在Redhat linux(后续验证默认都在该平台下)下key_t被定义为int类型,追溯如下: /usr/include/sys/ipc.h #ifndef __key_t_defined typedef __key_t key_t; #define __key_t_defined #endif /usr/include/bits/types.h原创 2011-03-11 10:13:00 · 4847 阅读 · 0 评论 -
共享内存---shmget shmat shmdt : System V semaphore: semget() semop() semctl()
(1) 要使用共享内存,应该有如下步骤: 1.开辟一块共享内存 shmget() 2.允许本进程使用共某块共享内存 shmat() 3.写入/读出 4.禁止本进程使用这块共享内存 shmdt() 5.删除这块共享内存 shmctl()或者命令行下ipcrm ftok()。它有两个参数,一个是字符串,一个是字符。字符串一般用当前进程的程序名,字符一般用来标记这个标识符所标识的共原创 2011-03-11 10:44:00 · 3922 阅读 · 0 评论 -
Linux内核中的循环缓冲区
Linux内核中的循环缓冲区 作者:西邮 王聪 Linux内核中的循环缓冲区(circular buffer)为解决某些特殊情况下的竞争问题提供了一种免锁的方法。这种特殊的情况就是当生产者和消费者都只有一个,而在其它情况下使用它也是必须要加锁的。 循环缓冲区定义在include/linux/kfifo.h中,如下: struct kfifo { unsigned char *buffer; unsigned int size; unsigned int in; unsigned in原创 2011-03-10 17:32:00 · 2146 阅读 · 0 评论 -
Linux信号量PV操作
semop操作中:sembuf结构的sem_flg成员可以为0、IPC_NOWAIT、SEM_UNDO 。为SEM_UNDO时,它将使操作系统跟踪当前进程对这个信号量的修改情况,如果这个进程在没有释放该信号量的情况下终止,操作系统将自动释放该进程持有的信号量。除非你对信号量的行为有特殊的要求,否则应该养成设置sem_flg为SEM_UNDO的好习惯。 1: //假设两个进程(父子进程)对一个文件进行写操作,但是这个文件同一时间只能有一个进程进行写操作。 2:原创 2011-03-11 10:47:00 · 5518 阅读 · 0 评论 -
Linux音频编程指南
一、数字音频 音频信号是一种连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才能送到计算机中作进一步的处理。 数字音频系统通过将声波的波型转换成一系列二进制数据,来实现对原始声音的重现,实现这一步骤的设备常被称为模/数转换器(A/D)。A/D转换器以每秒钟上万次的速率对声波进行采样,每原创 2011-04-21 20:12:00 · 1329 阅读 · 0 评论 -
Linux 信号signal处理机制
信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。 信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质转载 2013-08-20 23:53:52 · 1488 阅读 · 0 评论