- 博客(30)
- 资源 (2)
- 收藏
- 关注
转载 Linux/Unix命令之Ethtool (设置千兆网卡速度及模式)
Ethtool是用于查询及设置网卡参数的命令。概要:ethtool ethX //查询ethX网口基本设置ethtool –h //显示ethtool的命令帮助(help)ethtool –i ethX //查询ethX网口的相关信息 ethtool –d ethX //查询ethX网口注册性信息ethtool –r ethX
2015-12-31 16:12:47 33754
原创 SIP头域
本节列出了头域的全部列表,包括了语法注释,含义,和用法。每个头域都有示例给出。 关于与方法和proxy处理有关的头域字段在表2和表3中有处理。 where列描述了在头域中能够使用的请求和应答的类型。这列的值是:R:头域只能在请求中出现;r:头域只能在应答中出现;2xx,4xx,等等:一个数字的值区间表示头域能够使用的应答代码。c:头域是从请求拷贝到应答的。如果w
2015-12-27 12:40:39 5310
转载 以snull为例分析linux网卡驱动的技术文档[转载]二
OPENING AND CLOSING打开和关闭 我们的驱动能够在模块再如或者核心引导的时候探测出接口。下一步是给接口指定一个地址,以便驱动能够通过他来交换数据。打开和关闭接口是由ifconfig命令完成的。 当ifconfig给端口指定一个地址的时候,它执行两个任务。首先它通过 ioctl(SIOCSIFADDR) (Socket I/O Control
2015-12-22 10:39:56 910
转载 Linux设备驱动程序(LDD)中snull的编译问题
对LDD中snull程序,编译的时候会有许多问题,鉴于网上还没有合适的解决办法,做此总结,整理知识。本文在debian6.0上运行通过,内核版本为2.6.32。学习LDD中网络驱动程序部分,理解snull程序的原理很有必要。snull不依赖于硬件,数据包的收发都属于内存操作,但对整个网络驱动程序原 理已经做了很好的阐述。程序并不复杂,相比e100.c;8139too.c;pci-skeleto
2015-12-21 22:06:18 1837
转载 ldd3 sbull编译遇到的问题 解决(部分)方法
开始第一次make:结果如下:root@ubuntu:/home/shevarey/ssdd/sbull# makemake -C /lib/modules/2.6.32.16/build M=/home/shevarey/ssdd/sbullmodulesmake[1]: Entering directory `/usr/src/linux-2.6.32.16"
2015-12-20 15:43:44 1248
原创 error: implicit declaration of function ‘elv_next_request’
error: implicit declaration of function ‘elv_next_request’在Linux 2.3.36上编译2.6.18以前驱动程序发现“error: implicit declaration of function ‘elv_next_request’”因为,从linux-2.6.31开始elv_next_request就消失了因此,在改版本的
2015-12-20 15:26:23 2137
转载 Linux驱动总结3- unlocked_ioctl和堵塞(waitqueue)读写函数的实现
学习了驱动程序的设计,感觉在学习驱动的同时学习linux内核,也是很不错的过程哦,做了几个实验,该做一些总结,只有不停的作总结才能印象深刻。我的平台是虚拟机,fedora14,内核版本为2.6.38.1.其中较之前的版本存在较大的差别,具体的实现已经在上一次总结中给出了。今天主要总结的是ioctl和堵塞读写函数的实现。一、ioctl函数的实现首先说明在2.6.3
2015-12-20 11:25:03 780
原创 error: unknown field ‘ioctl’ specified in initializer
在2.6.36内核上加载编译驱动时,出现:“ error:unknown field 'ioctl' specified in initializer”因为,在2.6.36内核上file_operations发生了重大的改变:原先的 int (*ioctl)(struct inode*, struct file*, unsigned int, unsigned long)
2015-12-20 11:12:00 770
原创 常见消息部件(Common Message Components)
在SIP消息中,有一些很长用的部件。(甚至在SIP消息外,这些部件也存在)。这些部件值得我们单独讨论一下。 1. SIP和SIPS统一资源标记SIP或者SIPS 的URI用来标记一个通讯用的资源。就像其他所有的URI一样,SIP和SIPS URI可以放在网页上,email消息里,或者打印出来的名片上等等。在这些URI里边包含了足够的信息来发起和维持到这个资源的一个通讯会话。
2015-12-20 10:07:44 2018
原创 通讯(transport)
通讯层负责请求和应答在网络上的实际传输。这包括了在面向连接的通讯方式下的请求和应答所使用的连接管理。 通讯层负责管理像TCP/SCTP之类通讯协议的长连接,或者在这些协议上的TLS连接,并且包括管理打开这些连接的使用者的管理。这包括了客户端或者服务端,通讯层打开的连接,这样在客户端和服务端通讯函数可以共享这些连接。这些连接采用一组用远端的地址,端口,通讯协议标志的索引来进行管理。当通讯层打
2015-12-13 21:20:38 666
转载 RTC系统
一. RTC及驱动简介 RTC即real time clock实时时钟,主要用于为操作系统提供可靠的时间;当系统处于断电 的情况下,RTC记录操作系统时间,并可在电池供电情况下继续正常工作,当系统正常启动后,系统可从RTC读取时间信息,来确保断电后时间运行连续性。 目前,很多CPU中都已集成RTC系统,且有许多独立的外接RTC芯片可用于实现RTC功能;
2015-12-08 23:09:00 467
转载 FFmpeg示例程序合集-批量编译脚本
此前做了一系列有关FFmpeg的示例程序,组成了《最简单的FFmpeg示例程序合集》,其中包含了如下项目:simplest ffmpeg player: 最简单的基于FFmpeg的视频播放器simplest ffmpeg audio player: 最简单的基于FFmpeg的音频播放器simplest ffmpeg pic encoder:
2015-12-06 21:15:43 747
转载 makefile函数集锦
Makefile 常用函数表一、字符串处理函数1.$(subst FROM,TO,TEXT)函数名称:字符串替换函数—subst。函数功能:把字串“TEXT”中的“FROM”字符替换为“TO”。返回值:替换后的新字符串。2.$(patsubst PATTERN,REPLACEMENT,TEXT)函数名称:模式替换函数—patsubst。函数功能:搜索“TEXT”中
2015-12-06 21:14:26 323
转载 make条件判断ifeq,ifneq,ifdef,ifndef
使用条件判断,可以让make根据运行时的不同情况选择不同的执行分支。条件表达式可以是比较变量的值,或是比较变量和常量的值。 一、示例 下面的例子,判断$(CC)变量是否“gcc”,如果是的话,则使用GNU函数编译目标。 libs_for_gcc = -lgnu normal_libs = foo: $(objects) ife
2015-12-06 21:10:13 529
转载 RTP协议的报文头格式结构
RTP头格式如图2所示:开始12个八进制出现在每个RTP包中,而CSRC标识列表仅出现在混合器插入时。各段含义如下:①版本(V)2位,标识RTP版本。②填充标识(P)1位,如设置填充位,在包尾将包含附加填充字,它不属于有效载荷。填充的最后一个八进制包含应该忽略的八进制计数。某些加密算法需要固定大小的填充字,或为在底层协议数据单元中携带几个RTP包。③扩展(X
2015-12-06 18:30:36 1059
转载 RTP 问题汇总
视频网络传输一定要用rtp吗?RTP/RTCP有一套很好的反馈机制,通过其可以估算网络状况,然后在编码端进行调整,如网络繁忙时适当的降低画面质量,减小码率等,主要是想通过RTP/RTCP协议实现QoS!同时也可以用http或udp啊,都可以的,自己再加一些控制信息。利用rtp/rtcp的好处是这个协议本身帮你加入了 一些控制信息。相信有不少人和我一样,希望实现H264格式视频的流媒
2015-12-06 18:29:36 1401
转载 rtp h264注意点(FU-A分包方式说明)
之前写过一篇文章,分析了h264使用rtp进行封包的格式介绍:RTP封装h264。但里面好像没有把拆分以及一些需要注意的情况说清楚,因此这里做补充,也作为自己的备忘(自己记性好像不太好)。关于时间戳,需要注意的是h264的采样率为90000HZ,因此时间戳的单位为1(秒)/90000,因此如果当前视频帧率为25fps,那时间戳间隔或者说增量应该为3600,如果帧率为30fps,则增
2015-12-06 18:28:20 673
转载 H.264中的NAL单元类型 nal_unit_type
nal_unit_typeNAL 单元和 RBSP 语法结构的内容 0未指定 1一个非IDR图像的编码条带 slice_layer_without_partitioning_rbsp( ) 2编码条带数据分割块A slice_data_partition_a_layer_rbsp( ) 3编码条带
2015-12-06 18:27:00 2917
转载 RTP 包格式 详细解析
H.264 视频 RTP 负载格式1. 网络抽象层单元类型 (NALU)NALU 头由一个字节组成, 它的语法如下: +---------------+ |0|1|2|3|4|5|6|7| +-+-+-+-+-+-+-+-+ |F|NRI| Type | +---------------+F:
2015-12-06 18:24:48 1246
转载 SSL/TLS 协议详解
SSL(Secure Sockets Layer,安全套接层),及其继任者 TLS(Transport Layer Security,传输层安全)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃
2015-12-06 17:49:17 449
原创 S/MIME
SIP消息可以加载一个MIME 消息体,并且MIME标准包括了MIME内容的保密机制,确保完整性和机密性(包括“multipart/signed”和“application/pkcs7-mime”的MIME类别,参见RFC 1847[22],RFC 2630[23],RFC2633[24])。实现中应当注意,不管怎样,也会有很少的网络节点(不是典型的proxy服务器),会依赖于查看修改SIP消息(
2015-12-05 18:20:12 2981
转载 Linux串口终端驱动——S3C6410平台
1、终端设备 在Linux系统中,终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。tty是Teletype的缩写,Teletype是最早出现的一种终端设备,很像电传打字机,是由Teletype公司生产的。Linux中包含如下几类终端设备: 1).串行端口终端(/dev/ttySn)使用计算机串行端口连接的终端设备。串行端口对应的设备
2015-12-05 14:24:42 700
转载 Linux串口驱动(8250)的编写与调试
串口控制器都是大同小异,用3条地址线就可以完全对串口控制器进行控制。针对ST554芯片来说,控制寄存器主要有THR(发送保持寄存器),RHR(接收保持寄存器),IER(中断使能寄存器),FCR(缓冲控制寄存器),LCR(控制寄存器),LSR(状态寄存器),MCR(模式控制寄存器),MSR(模式状态寄存器),DLL,DLM和测试寄存器等。代码演示为linux-2.6.18。一般情况下,我们只
2015-12-05 11:40:05 4051
转载 linux 设备驱动之8250串口驱动分析
linux 设备驱动之 8250 串口驱动 ------------------------------------------ 本文系本站原创,欢迎转载! 转载请注明出处:http://ericxiao.cublog.cn/ ------------------------------------------ 一:前言 前一段时间自己实践了一下8250芯片串口驱动的编
2015-12-05 09:18:07 9821
转载 LINUX中的中断处理
一)、基本概念1、安装中断处理程序系统中中断信号线很有限,有时只有15或16根。内核维护了一个类似于I/O端口注册表的中断信号线的注册表。一个模块可以申请一个中断请求IRQ,处理完以后也可以释放掉它。相关函数:头文件原型1)int request_irq(unsigned int irq, void (*handl
2015-12-04 18:45:51 2423
转载 linux 下各errno的意义
strerror(errno):获取errno对应的错误/****************************获取错误代码描述**************/#include string.h>#include errno.h> /* for strerror */#include stdio.h>int main(int argc, char ** argv){ int i =
2015-12-04 18:19:35 507
转载 串口驱动移植心得
串口驱动的源文件一般是使用drivers/serial/8250.c文件,或该文件的稍作修改。这是因为大多的串口接口的操作寄存器都是符合相关的定义,都是基本一样的。那么在移植串口驱动时,一般是为该驱动添加我们的串口接口设备。一般来说,串口接口设备在board文件中添加或在板级目录下添加专属的serial文件。 设备的定义一般如下: struct plat_seri
2015-12-04 09:28:17 1539
转载 如何开启VMware串口
先前在玩GEC2410时,有个想法,就是在linux下进行调试,由于目标板上电或复位时会发送信息给PC机的串口,这已在windows下实现过,于是想在linux下看看效果,可是当时我在linux下设好串口后,发现一点反应都没有,当时以为是自己没有安装交叉编译环境,于是昨天晚上把嵌入式 linux下的交叉编译环境装好后,心想这下应该可以拉,没想到我上电目标板,linux下的串口一直没有反应,郁闷,怎
2015-12-03 18:49:25 635
转载 linux串口驱动分析
linux串口驱动分析硬件资源及描述 s3c2440A 通用异步接收器和发送器(UART)提供了三个独立的异步串行 I/O(SIO)端口,每个端口都可以在中断模式或 DMA 模式下操作。UART 使用系统时钟可以支持最高 115.2Kbps 的波特率。每个 UART 通道对于接收器和发送器包括了 2 个 64 位的 FIFO。寄存器
2015-12-02 22:31:42 764
转载 Linux串口(serial、uart)驱动程序设计
一、核心数据结构串口驱动有3个核心数据结构,它们都定义在1、uart_driveruart_driver包含了串口设备名、串口驱动名、主次设备号、串口控制台(可选)等信息,还封装了tty_driver(底层串口驱动无需关心tty_driver)。struct uart_driver { struct module *owner;
2015-12-02 09:34:09 1029
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人