自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

早先生

共同学习,共同进步

  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 可重入型函数与不可重入型函数

可重入型函数可重入型函数可以被一个以上的任务调用,而不必担心数据的破坏。可重入型函数任何时候都可以被中断,一段时间以后又可以运行,而相应数据不会丢失。可重入型函数或者只使用局部变量,即变量保存在CPU寄存器中或堆栈中。如果使用全局变量,则要对全局变量予以保护。下面是一个可重入型函数的例子。void strcpy(char *dest,char *src){     wh

2013-12-25 15:59:47 1279

原创 ucos基础学习

μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。1) 核心部分(OSCore.c) 是操作系统的处理核心,包括操作系统初始化、操作系统运行、中断进出的前导、时钟节拍、任务调度、事件处理等多部分。能够维持系统基本工作的部分都在这里。2) 任务处理部分(OSTask.c) 任务处理部分中的内容都是与任务的操作密切相关的。包括任务的建立、删除

2013-12-25 15:53:59 1237

转载 c++中const关键字使用详解

一 const基础下面四个定义语句是大多数书籍讲解const关键字都会用到的,[1]const int* a = &b;[2]int const *a = &b;[3]int* const a = &b;[4]const int* const a = &b;      如果你能区分出上述四种情况,证明你基础不错,不过也不要高兴太早,这个只是最基础的部分了。不知道也很容易:如

2013-12-25 13:14:11 698

转载 Linux设备驱动之——PCI 总线

PCI总线概述                           随着通用处理器和嵌入式技术的迅猛发展,越来越多的电子设备需要由处理器控制。目前大多数CPU和外部设备都会提供PCI总线的接口,PCI总线已成为计算机系统中一种应用广泛、通用的总线标准[1]。Linux因其开放源代码以及稳定的性能,越来越受到广大用户青睐。同时,基于Linux内核的嵌入式操作系统应用势头强劲,开发基于Li

2013-12-24 11:10:17 1490

转载 ARM-Linux驱动--DM9000网卡驱动分析(四)

硬件平台:FL2440 (S3C2440)内核版本:2.6.35主机平台:Ubuntu 11.04内核版本:2.6.39交叉编译器:arm-linux-gcc 4.3.2原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/6628624本文接上文ARM-Linux驱动--DM9

2013-12-24 09:56:35 1239

转载 ARM-Linux驱动--DM9000网卡驱动分析(三)

硬件平台:FL2440(s3c2440)内核版本:2.6.35主机平台:Ubuntu11.04内核版本:2.6.39交叉编译器:arm-linuc-gcc4.3.2原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/6615027本文接上文ARM-Linux驱动--DM9000

2013-12-24 09:54:22 1096

转载 路由器的原理与作用

路由器是一种典型的网络层设备。它在两个局域网之间按帧传输数据,在OSI/RM之中被称之为中介系统,完成网络层责在两个局域网的网络层间按帧传输数据,转发帧时需要改变帧中的地址。它在OSI/RM中的位置如图1所示。一、原理与作用 路由器(Router)是用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过

2013-12-23 17:42:44 1308

转载 iptable知识与iptable的转发

iptables包的转发过程:iptabels被认为是Linux中实现包过滤功能的第四代应用程序。iptables包含在Linux2.4以后的内核中,详细地来讲iptables包在转发时是怎样被送出呢?本文介绍的是iptables的基础知识-iptables包的转发过程。iptables包的转发过程:包在IPTABLES中如何走?当一个包进入或者送出或者被转发的时候,是依据什么呢?

2013-12-21 17:57:13 2922

原创 c/c++字符串处理

1、比较字符串int strcmp(const char *cs, const char *ct){signed char __res;while (1) {if ((__res = *cs - *ct++) != 0 || !*cs++)break;}return __res;}int strncmp(const char *cs, const cha

2013-12-20 17:15:01 863

原创 C基础总结

1、给指定地址赋值:(unsigned int*)0x100000 = 1234;2、要是想让程序跳转到绝对地址是0x100000去执行typedef void (*func_t)(void);func_t ptr;ptr = (func_t)addr;(*ptr)();

2013-12-20 17:06:58 607

转载 linux 多线程编程

进程与线程        进程是程序执行时的一个实例,是执行程序在一定数据集上运行的过程,是LINUX系统分配资源的基本单位。         线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程进程是资源管理的最小单位,

2013-12-19 15:48:52 802

转载 ISO8583报文协议

刚进入金融行业时,就知道了IS08583报文协议,我想可能我还没进入这个行业都已经听过了,可知ISO8583的影响力有多大了。最初刚接触它时,确实对其中的一些细节概念不是很清晰,对有些地方比较迷惑。鉴于此,我想很多同行也必然会经历同样得阶段,所以我写下本文,以便大家能够少走一些弯路。同时,我在网上(http://blog.csdn.net/lysheng/archive/2005/03/03/30

2013-12-17 16:21:57 892

转载 I2C 协议

什么是I²C      I²C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系

2013-12-17 15:17:21 845

转载 Linux PPP详细介绍

什么是PPPPPP是一种网络中最为基础的协议。PPP协议(Point-to-Point Protocol)是一种数据链路层协议,它是为在同等单元之间传输数据包这样的简单链路而设计的。这种链路提供全双工操作,并按照顺序传递数据包。PPP为基于各种主机、网桥和路由器的简单连接提供一种共通的解决方案。PPP协议包括以下三个部分:1. 数据帧封装方法。2. 链路控制协议

2013-12-17 13:06:11 2186

转载 Linux LCD驱动(三)--图形显示

3.  BMP和JPEG图形显示程序3.1  在LCD上显示BMP或JPEG图片的主流程图首先,在程序开始前。要在nfs/dev目录下创建LCD的设备结点,设备名fb0,设备类型为字符设备,主设备号为29,次设备号为0。命令如下:mknod fb0 c 29 0在LCD上显示图象的主流程图如图3.1所示。程序一开始要调用open函数打开设备,然后调用ioctl获取设备相关信息,接下

2013-12-17 12:51:52 1372

转载 linux LCD驱动(二)--FrameBuffer

2.  Linux 驱动2.1  FrameBufferLinux是工作在保护模式下,所以用户态进程是无法像DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,Lin仿显卡的功能,将显ux抽象出FrameBuffer这个设备来供用户态进程实现直接写屏。Framebuffer机制模卡硬件结构抽象掉,可以通过Framebuffer的读写直接对显存进行操作。用户可以将Framebuffer

2013-12-17 11:21:49 1461

转载 linux LCD驱动(一)--硬件分析

一  实验内容简要描述1.实验目的学会驱动程序的编写方法,配置S3C2410的LCD驱动,以及在LCD屏上显示包括bmp和jpeg两种格式的图片2.实验内容 (1)分析S3c2410实验箱LCD以及LCD控制器的硬件原理,据此找出相应的硬件设置参数,参考xcale实验箱关于lcd的设置,完成s3c2410实验箱LCD的设置 (2)在LCD

2013-12-16 17:18:31 1135

原创 Linux LCD配置与驱动学习

在分析前先来看一下原理图引脚说明:VCLK:发出lcd时钟信号,每来一个时钟,就会在屏幕上显示一个像素      ——GPC1  :配置为lcd引脚VLINE:发出lcd行扫描信号                                                                             ——GPC2  :配置为lcd引脚

2013-12-16 15:59:03 3235

转载 ARM-Linux驱动--DM9000网卡驱动分析(二)

硬件平台:FL2440(s3c2440)内核版本:2.6.35主机平台:Ubuntu 11.04内核版本:2.6.39原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/6612623下面开始分析具体的代码,这里由于使DM9000驱动更容易理解,在不影响基本的功能的前提下,这里将尽可能的简化该

2013-12-16 15:22:28 921

转载 ARM-Linux驱动--DM9000网卡驱动分析(一)

硬件平台:FL2440(s3c2440)内核版本:2.6.35主机平台:Ubuntu11.04内核版本:2.6.39原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/66097421、下图是DM9000的引脚图2、这里我们结合具体的开发板FL2440下面是FL2440

2013-12-16 15:18:32 1283

原创 电子硬件和电路基础学习

本人学的是软件工程,对电子电路一点的都不懂。又是搞嵌入式的,在这里记录一下学习的笔记。51电小系统电路1、震荡器2、复位端 复位电路3、光耦4、电位器电位器就是可调电阻。在初中学物理时,中学老师拿一个很大的圆筒关的东东,上面有一个滑杆,跟这个东西很类似。

2013-12-16 12:51:39 1777

转载 RTMP协议分析 二、AMF数据

Rtmp包默认的最大长度为128字节,(或通过chunksize改变rtmp包最大长度), 当AMF数据超过128Byte的时候就可能有多个rtmp包组成,如果需要解码的rtmp包太长则被TCP协议分割成多个TCP包.那么解码的时候需要先将包含rtmp包的tcp封包合并, 再把合并的数据解码,解码后可得到amf格式的数据,将这些AMF数据取出来就可以对AMF数据解码了.RTMP封包包括包头和A

2013-12-13 17:28:00 1284

原创 SPI协议学习

SPI(Serial Peripheral Interface)是一种串行串行同步通讯协议,由一个主设备和一个或多个从设备组成,主设备启动一个与从设备的同步通讯,从而完成数据的交换。SPI 接口由SDI(串行数据输入),SDO(串行数据输出),SCK(串行移位时钟),CS(从使能信号)四种信号构成,CS 决定了唯一的与主设备通信的从设备,如没有CS 信号,则只能存在一个从设备,主设备通过产生移位时

2013-12-13 16:11:29 1456

转载 Linux下的实时流媒体编程

一、流媒体简介随着Internet的日益普及,在网络上传输的数据已经不再局限于文字和图形,而是逐渐向声音和视频等多媒体格式过渡。目前在网络上传输音频/视频(Audio/Video,简称A/V)等多媒体文件时,基本上只有下载和流式传输两种选择。通常说来,A/V文件占据的存储空间都比较大,在带宽受限的网络环境中下载可能要耗费数分钟甚至数小时,所以这种处理方法的延迟很大。如果换用流式传输的话,声

2013-12-13 10:49:05 908

转载 RTP时间戳

基本概念:时间戳单位:时间戳计算的单位不是秒之类的单位,而是由采样频率所代替的单位,这样做的目的就是为了是时间戳单位更为精准。比如说一个音频的采样频率为8000Hz,那么我们可以把时间戳单位设为1 / 8000。时间戳增量:相邻两个RTP包之间的时间差(以时间戳单位为基准)。采样频率: 每秒钟抽取样本的次数,例如音频的采样率一般为8000Hz帧率: 每秒传输或者显示

2013-12-13 10:29:59 1064

转载 JRTPLIB使用实例

这几天在看关于JRTPLIB方面的东西。在网上看了不少文章,其中有很大部分使用的JRTPLIB版本在3.0以下。在网上下载了一个JRTPLIB-3.7的库,发现里面的函数接口做了一些修改。现奉上一篇基于JRTPLIB-3.7的网络语音传送实例,希望有兴趣的朋友一起参详研究。                                                     

2013-12-12 11:17:52 2063

转载 WIFI基本知识整理

WIFI基本知识整理         这里对wifi的802.11协议中比较常见的知识做一个基本的总结和整理,便于后续的学习。因为无线网络中涉及术语很多,并且许多协议都是用英文描述,所以有些地方翻译出来会有歧义,这种情况就直接英文来描述了。 主要内容:一、基本概述二、实践基础三、一些原理四、补充五、其它

2013-12-11 15:31:51 1885

转载 视频流传输协议RTP/RTCP/RTSP/HTTP的区别

用一句简单的话总结:RTSP发起/终结流媒体、RTP传输流媒体数据 、RTCP对RTP进行控制,同步。之所以以前对这几个有点分不清,是因为CTC标准里没有对RTCP进行要求,因此在标准RTSP的代码中没有看到相关的部分。而在私有RTSP的代码中,有关控制、同步等,是在RTP Header中做扩展定义实现的。另外,RFC3550可以看作是RFC1889的升级文档,只看RFC3550即可。

2013-12-11 15:21:00 1666

转载 RTSP协议

RTSP协议因为项目需要,学习了一下RTSP协议,为了防止以后忘记,就把学习过程和成果记载下来。期间参考了一些网上的资料,并分析了VLC的RTSP报文。    RTSP(Real Time Streaming Protocol,实时流协议),是由Real Network和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一种可扩展的框架,能够提供可控制

2013-12-06 16:25:36 809

转载 关于RTP中的时间戳问题

原文地址:关于RTP中的时间戳问题作者:cuixiaojing       在使用JRTPLIB的发送数据的时候需要设置时间戳单位(timestamp)和时间戳增量(timestamp increment)。看了网上一些文章,细细想来现在才想通这个问题。            RFC3550对时间戳的描述是:         时间戳(timestamp) 32比特 时间

2013-12-05 10:59:50 1606

转载 rtp编程(2)

原文地址:rtp编程(2)作者:半个烟头3.3 数据发送当RTP 会话成功建立起来之后,接下去就可以开始进行流媒体数据的实时传输了。首先需要设置好数据发送的目标地址, RTP协议允许同一会话存在多个目标地址,这可以通过调用RTPSession类的AddDestination()、 DeleteDestination()和ClearDestinations()方法来完成。例如

2013-12-05 10:57:05 876

转载 RTP编程(1)

原文地址:RTP编程(1)作者:半个烟头流媒体指的是在网络中使用流技术传输的连续时基媒体,其特点是在播放前不需要下载整个文件,而是采用边下载边播放的方式,它是视频会议、IP电话等应用场合的技术基础。RTP是进行实时流媒体传输的标准协议和关键技术,本文介绍如何在Linux下利用JRTPLIB进行实时流媒体编程。         随着Internet的日益普及,在网络上传输的数

2013-12-05 10:56:24 978

android播放器

该产品为android音乐播放器,实现本地播放,音乐播放器的有功能都有了,并可以收藏,管理你的音乐文件,并有歌词同步的功能,相当不错

2012-12-22

空空如也

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

TA关注的人

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