xpy123
码龄15年
关注
提问 私信
  • 博客:40,833
    40,833
    总访问量
  • 11
    原创
  • 716,384
    排名
  • 5
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
  • 加入CSDN时间: 2009-10-26
博客简介:

xpy123的专栏

查看详细资料
个人成就
  • 获得7次点赞
  • 内容获得1次评论
  • 获得21次收藏
创作历程
  • 51篇
    2015年
TA的专栏
  • linux应用编程
    13篇
  • 数据结构
    14篇
  • linux
    8篇
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

alsa-lib和alsa-utils移植

准备工作alsa-lib版本:alsa-lib-1.0.23.tar.bz2alsa-util版本:alsa-utils-1.0.23.tar.bz2其他版本的alsa-lib和alsa-util不能保证正常工作arm板子:s3c2416板子上linux内核:2.6.xxpc虚拟机:arm-linux-gcc:4.4.6 首先在Ubu
转载
发布博客 2015.04.14 ·
343 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

LINUX环境并发服务器的三种实现模型

服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器。按处理方式来分有循环服务器和并发服务器。1  循环服务器与并发服务器模型在网络程序里面,一般来说都是许多客户对应一个服务器,为了处理客户的请求,对服务端的程序就提出了特殊的要求。目前最常用的服务器模型有:·循环服务器:服务器在同一时刻只能响应一个客户端的请求·并发服务器:服务器在同一时刻可以响应多个客户端的请求
转载
发布博客 2015.06.27 ·
401 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

自旋锁和互斥体

2.5 内核中的并发  随着多核笔记本电脑时代的到来,对称多处理器(SMP)的使用不再被限于高科技用户。SMP和内核抢占是多线程执行的两种场景。多个线程能够同时操作共享的内核数据结构,因此,对这些数据结构的访问必须被串行化。  接下来,我们会讨论并发访问情况下保护共享内核资源的基本概念。我们以一个简单的例子开始,并逐步引入中断、内核抢占和SMP等复杂概念。  2.5.1
转载
发布博客 2015.06.15 ·
519 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

块设备驱动注册和注销、加载与卸载、块设备驱动的I/O请求

块设备驱动注册和注销块设备驱动的第一个任务就是将他们自己注册到内核中,其函数原型如下:    int register_blkdev(unsigned int major, const char* name);major参数是块设备要使用的主设备号,name为设备名,它会在/proc/devices中被现实.如果major为0,内核会自动分配一个新的主设备号,并由该函数返回
转载
发布博客 2015.06.15 ·
790 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux FrameBuffer详解

1. 背景知识在多媒体的推动下,彩色LCD越来越多地应用到嵌入式系统中,PDA和手机等大多都采用LCD作为显示器材,因此学习LCD的应用很有实际意义!LCD工作的硬件需求:要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。在通常情况下,生产厂商把LCD驱动器会以COF/COG的形式与LCD玻璃基板制作在一起,而LCD控制器则是由外部的电路来实现,现在很
转载
发布博客 2015.06.13 ·
4011 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

linux输入子系统分析

首先说明一下,本文是基于Linux-2.6.38版本内核来分析Linux输入子系统架构和原理的。这阵子本来没有打算花时间来分析Linux input system的,然而当在研究S3C6410触摸屏驱动的时候悲剧不期而至,内核中并没有实现6410的触摸屏驱动,不过有关于S3C2410触摸屏的驱动,往s3c2410_ts.c文件里面一看,居然实现过程中用到了输入子系统这一神马机制。瞄了下代码,流程基
转载
发布博客 2015.06.13 ·
452 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux串口驱动

linux 串口 驱动 理解                                一、核心数据结构串口驱动有3个核心数据结构,它们都定义在1、uart_driveruart_driver包含了串口设备名、串口驱动名、主次设备号、串口控制台(可选)等信息,还封装了tty_driver(底层串口驱动无需关心tty_driver)struct uart_dr
转载
发布博客 2015.06.12 ·
695 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

_IO, _IOR, _IOW, _IOWR 宏的用法与解析 ( ioctl设备控制---定义命令 )

今天在写字符驱动验证程序的时候要用到ioctl函数,其中有一个cmd参数,搞了半天也不了解是什么意思,那个cmd还有什么命令码了什么的,还好google下,觉得这篇文章写的不错,就转来看看:在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域:
转载
发布博客 2015.06.11 ·
676 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Kconfig详解

当执行#make menuconfig时会出现内核的配置界面,所有配置工具都是通过读取"arch/$(ARCH)Kconfig"文件来生成配置界面,这个文件就是所有配置的总入口,它会包含其他目录的KconfigKconfig的作用:Kconfig用来配置内核,它就是各种配置界面的源文件,内核的配置工具读取各个Kconfig文件,生成配置界面供开发人员配置内核,最后生成配置文件.config
转载
发布博客 2015.06.11 ·
287 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux内核中的Kconfig、Makefile、.config

毛毛同学今天学习了驱动程序模块的安装与卸载,在这个过程中毛毛发现,内核的目录中有许多的Kconfig、Makefile文件,但是毛毛不知道为什么需要这些文件,这些文件又是用来做什么的。下面我们就和陶毛毛同学一起来学习下这些文件的作用是什么。         首先我们来学习什么Makefile,什么是Kconfig ,什么是.config         Makefile:一个文本形式的文件
转载
发布博客 2015.06.11 ·
322 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

嵌入式linux环境下的视频采集(V4L2)

Video for Linux two(Video4Linux2)简称V4L2,是V4L的改进版。V4L2是linux操作系统下用于采集图片、视频和音频数据的API接口,配合适当的视频采集设备和相应的驱动程序,可以实现图片、视频、音频等的采集。在远程会议、可视电话、视频监控系统和嵌入式多媒体终端中都有广泛的应用。  一、Video for Linux two  在Linux下,所有
转载
发布博客 2015.06.04 ·
1444 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

双链表、链式栈、链式队列 及实现

一、双链表在单链表的基础上再增加一个指向它前驱的指针,就构成了双链表。所以双链表有三个变量:数据信息info、前驱指针llink、后继指针rlink。 二、双链表操作和实现   由于双链表也为单链表的一种变型,一些相似的操作就没一一列举,可以参考数据结构(四)——单链表 、带头结点的单链表、循环链表 及其实现 1、
转载
发布博客 2015.05.13 ·
331 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现

一、基本概念每个结点最多有两棵子树,左子树和右子树,次序不可以颠倒。性质:1、非空二叉树的第n层上至多有2^(n-1)个元素。2、深度为h的二叉树至多有2^h-1个结点。满二叉树:所有终端都在同一层次,且非终端结点的度数为2。在满二叉树中若其深度为h,则其所包含的结点数必为2^h-1。完全二叉树:除了最大的层次即成为一颗满
转载
发布博客 2015.05.13 ·
375 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

单链表 、带头结点的单链表、循环链表 及其实现

一、 链式存储      以结点的形式存储数据。除了存放一个结点的信息外,还需附设指针。                数据在内存中存储是不连续的,每个结点只能也只有它能知道下一个结点的存储位置。  二、单链表  单链表是线性表链式存储的一种,其储存不连续。单链表的数据结构中包含两个变量:数据和指向下一结点的指针。
转载
发布博客 2015.05.13 ·
452 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

队列定义及实现、循环队列实现

一、队列    队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。在队列这种数据结构中,最先插入的元素将是最先被删除的元素;反之最后插入的元素将最后被删除的元素,因此队列又称为“先进先出”(FIFO—first in first out)的线性表。
转载
发布博客 2015.05.13 ·
535 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

递归的应用实战一

列一: 斐波拉契数列strlen递归解法传统解法:int strlen(char* s){int n = 0;while(*s){n++;s++;}return n;}递归解法
原创
发布博客 2015.05.09 ·
262 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

栈与递归

上面这个函数通过递归实现字符串的逆序输出。
原创
发布博客 2015.05.09 ·
285 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

栈的应用实战二

原创
发布博客 2015.05.08 ·
287 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

栈的应用实战一

小结:
原创
发布博客 2015.05.08 ·
331 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

栈的定义和实现

栈的顺序结构实现,代码复用----线性表的顺序存储结构----顺序表栈的链式结构实现----代码复用----单链表
原创
发布博客 2015.05.08 ·
348 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多