自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

转载 线程池的概念及Linux 怎么设计一个简单的线程池

什么是线程池?简单点说,线程池就是有一堆已经创建好了的线程,初始它们都处于空闲等待状态,当有新的任务需要处理的时候,就从这个池子里面取一个空闲等 待的线程来处理该任务,当处理完成了就再次把该线程放回池中,以供后面的任务使用。当池子里的线程全都处理忙碌状态时,线程池中没有可用的空闲等待线程, 此时,根据需要选择创建一个新的线程并置入池中,或者通知任务线程池忙,稍后再试。为什么要用线程

2014-06-11 19:40:22 490

转载 v4l2应用

V4L2 编程1. 定义 V4L2(Video For Linux Two) 是内核提供给应用程序访问音、视频驱动的统一接口。  2. 工作流程: 打开设备-> 检查和设置设备属性-> 设置帧格式-> 设置一种输入输出方法(缓冲区管理)-> 循环获取数据-> 关闭设备。 3. 设备的打开和关闭:  #include int open(cons

2014-06-05 15:40:26 705

转载 内存管理

前一段时间看了《深入理解Linux内核》对其中的内存管理部分花了不少时间,但是还是有很多问题不是很清楚,最近又花了一些时间复习了一下,在这里记录下自己的理解和对Linux中内存管理的一些看法和认识。我比较喜欢搞清楚一个技术本身的发展历程,简而言之就是这个技术是怎么发展而来的,在这个技术之前存在哪些技术,这些技术有哪些特点,为什么会被目前的技术所取代,而目前的技术又解决了之前的技术所存在的哪些问

2014-05-28 20:04:22 595

原创 多态练习

#include using namespace std;class Vehicle  //交通工具{public:    void run() const    {        cout     }};class Car: public Vehicle  //汽车{public:    void run() const    {   

2014-05-27 19:35:32 548

转载 poll和异步通知的引入

在linux驱动学习的过程中,会遇到同步互斥、异步通信、poll机制、阻塞和非阻塞的这些概念,对于这些概念在什么时候引入来讲述比较好呢?下面只讲述poll机制和异步通信。对于按键驱动,如何去返回按键值成为一个比较有意思事情。首先可以查询按键的接口返回是否按下的状态值,也可以利用中断去获取按键值。对于不断的查询和中断去获取按键值,明显可以知道中断方式所耗费的资源是比较小的。但是上面讲的实现只是驱

2014-05-20 19:41:02 934

转载 在Qt中使用OpenCV库

在Qt中使用OpenCV库[编辑]配置OpenCV环境Qt开发的程序一般需要借助qmake生成makefile文件。由于qmake在解析路径的时候不能识别空格, 因此需要确保OpenCV的安装路径中不能包含空格(C:\Program Files\OpenCV是不行的)。我是 直接安装在C:\OpenCV位置。qmake解析路径的时候是可以有空格的,在Qt助手中可

2014-05-09 14:53:50 749

转载 mmmap详解

共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式, 因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据: 一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时,并不总是读写少量数据后就解除映射,有新的通信时,再重新建立共享内存区域

2014-05-07 19:41:37 779

转载 LCD设备驱动程序

LCD是Liquid  Crystal  Display的简称,也就是经常所说的液晶显示器LCD能够支持彩色图像的显示和视频的播放,是一种非常重要的输出设备 Framebuffer 是Linux系统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允许上层应用程序在图形模式下直接对显示缓冲区进行操作 Framebuffer又叫帧缓冲,是L

2014-05-02 16:11:15 665

转载 一些实用的Linux技巧

首先,我想告诉大家,在Unix/Linux下,最有效率技巧的不是操作图形界面,而是命令行操作,因为命令行意味着自动化。如果你看过《你可能不知道的Shell》以及《28个Unix/Linux的命令行神器》你就会知道Linux有多强大,这个强大完全来自于命令行,于是,就算你不知道怎么去做一个环保主义的程序员,至少他们可以让你少熬点夜,从而有利于你的身体健康。下面是一个有点长的列表,正如作者

2014-04-30 09:47:18 523

转载 LCD驱动程序——基础知识

1、简介lcd是liquid crystal display的简称,液晶显示器按驱动方式分为静态驱动、简单矩阵驱动及主动矩阵驱动。其中简单矩阵驱动又可细分为扭转向列型(TN)和超转向列型(STN)两种,而主动矩阵驱动则以TFT为主。下面具体来说一下:TN型驱动液晶,是LCD中最基本的,其它LCD都以TN型改进而得。它只能将入射光旋转90度,视角只有30度,色彩单一,对比度低,用于电子表

2014-04-29 19:50:23 1103

转载 linux设备驱动之——V4L2

Video for Linux Two                      V4L2的是V4L的第二个版本。原来的V4L被引入到Linux内核2.1.x的开发周期后期。Video4Linux2修正了一些设计缺陷,并开始出现在2.5.X内核。Video4Linux2驱动程序包括Video4Linux1应用的兼容模式,但实际上,支持是不完整的,并建议V4L2的设备使用V4L2的模式。

2014-04-24 16:07:23 648

转载 c++中的操作符重载

操作符重载 (2011-08-25 16:29:31)转载▼标签: 杂谈分类: C 编程操作符重载浅析下面的文章记录的是,我在研究了C++ Primer的操作符重载这一章,并结合自己之前遇到过的操作符重载相关知识之后,对操作符重载的理解,内容不是很深,主要涉及到的是操作符重载经常使用的环节,对于一些比较深的以及比较

2014-04-10 09:25:45 463

原创 加载磊科336usb无线网卡驱动到s3c6410开发板中去

1.建立无线网卡模块的文件夹,并把厂家提供给的无线驱动拷贝到ubuntu中建立的这个文件夹中。2.配置即更改Makefile文件,具体如下: 把在x86编译设置成n,因为我们的网卡要运行在arm板子中运行的。  板子型号是s3c6410,设置成y。 3.设置arm板子的内核路径: 即是: 4,依赖内核的编译make:出现驱动模

2014-04-07 20:35:37 858

转载 Linux内存映射: mmap

Linux提供了内存映射函数mmap, 它把文件内容映射到一段内存上(准确说是虚拟内存上), 通过对这段内存的读取和修改, 实现对文件的读取和修改, 先来看一下mmap的函数声明:头文件:原型: void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offsize);

2014-04-02 16:19:30 431

转载 linux ioctl()函数

我这里说的ioctl函数是指驱动程序里的,因为我不知道还有没有别的场合用到了它,所以就规定了我们讨论的范围。写这篇文章是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。一、 什么是ioctl     ioctl是设备驱动程序中对设备的I/O通道进行管理的函数 。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它

2014-04-02 16:07:22 659

转载 rgb yuv jpeg 相关知识

1.什么是RGB?RGB是红绿蓝三原色的意思,R=Red、G=Green、B=Blue。2.什么是YUV/YCbCr/YPbPr?亮 度信号经常被称作Y,色度信号是由两个互相独立的信号组成。视颜色系统和格式不同,两种色度信号经常被称作U和V或Pb和Pr或Cb和Cr。这些都是由不 同的编码格式所产生的,但是实际上,他们的概念基本相同。在DVD中,色度信号被存储成Cb和Cr(C代表颜色

2014-04-02 14:43:34 598

转载 s3c6410使用MFC-API进行MPEG-4格式解码及LCD播放代码注释【转】

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "s3c_pp.h"#include "SsbSipH264D

2014-03-31 16:34:57 559

转载 详解大端模式和小端模式

一、大端模式和小端模式的起源        关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,命令所有的子民吃鸡蛋的时候,必

2014-03-15 09:00:15 439

转载 v4l2编程,注意申请和管理缓冲区

1. 定义V 4L2(Video For Linux Two) 是内核提供给应用程序访问音、视频驱动的统一接口。 2. 工作流程:打开设备-> 检查和设置设备属性-> 设置帧格式-> 设置一种输入输出方法(缓冲区管理)-> 循环获取数据-> 关闭设备。 3. 设备的打开和关闭: #include int open(const char *device_name,

2014-01-14 10:35:46 2100

转载 Ubuntu 10.04中安装OpenCv2.1

Step1.安装一些必须的依赖库sudo apt-get install build-essentiallibgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev cmakelibswscale-dev libjasper-dev截图:Step2.下载OpenCV-2.1.0.tar.bz2

2014-01-12 20:11:26 566

转载 Linux中后缀名为ko、o、a、so、la的文件介绍

点评:我们知道,Linux下文件的类型并不像windows一般依赖于其后缀名,在linux下后缀名是可有可无的但是为了区分,有些文件还是加了后缀名: 1、.ko 是kernel object 的缩写,是Linux 2.6内核使用的动态连接文件,在Linux系统启动时加载内核模块。 2、.o 是相当于windows中的.obj文件 注意:.ko与.o的区别在于,.ko

2014-01-12 19:02:11 714

转载 select的解析,以及在linux网络编程的应用

Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如 connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等 待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。 可是使用Select就可以完成非阻

2014-01-09 17:07:27 591 1

转载 malloc和new的区别

从函数声明上可以看出。malloc 和 new 至少有两个不同: new 返回指定类型的指针,并且可以自动计算所需要大小。比如:123int*p;p = newint;//返回类型为int* 类型(整数型指针),分配大小为 sizeof(int);或:

2014-01-09 10:46:29 519

转载 malloc(0)返回什么地址?

问题内容:malloc(0)返回什么地址?原讨论链接:http://community.csdn.net/expert/topicview1.asp?id=4351400所属论坛:C语言 审核组:C/C++提问者:jidahyx 解决者:steedhorse感谢:steedhorse关键字:答案:char *p = (char *)malloc(0); strc

2014-01-08 21:00:24 1248

转载 pthread_mutex_t的使用

#include l         函数原型:int pthread_mutex_init(pthread_mutex_t *restrict mutex,const pthread_mutexattr_t *restrict attr);pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;l         函

2014-01-08 16:59:15 1701

转载 IPC通信:互斥锁和条件变量

互斥锁机制(Mutual exclusion,缩写为Mutex)是一种用于多线程编程中,防止两条线程同时对同一公共资源(比如全局变量)进行读写的机制。该目的通过将代码切片成一个一个的临界区域(critical section)达成。临界区域指的是一块对公共资源进行存取的代码,并非一种机制或是算法初始化:  在Linux下, 线程的互斥量数据类型是pthread_mutex_t. 在使用前,

2014-01-08 15:43:30 526

转载 基于Linux下的UDP编程

一. Linux下UDP编程框架使用UDP进行程序设计可以分为客户端和服务器端两部分。1.服务器端程序包括:Ø  建立套接字Ø  将套接字地址结构进行绑定Ø  读写数据Ø  关闭套接字2.客户端程序包括:Ø  建立套接字Ø  读写数据Ø  关闭套接字3.服务器端和客户端程序之间的差别服务器端和客

2014-01-07 17:25:35 415

转载 linux中与时间相关的结构体

1. Linux下与时间有关的结构体        struct timeval       {             int tv_sec;             int tv_usec;         };         其中tv_sec是由凌晨开始算起的秒数,tv_usec则是微秒(10E-6 second)。         struct timez

2014-01-07 17:22:26 1046

国嵌高级项目班手册

如果学习了很长时间嵌入式linux而觉得没有实战来检验一下,那么这几个项目还是不错的。相关代码都有!

2013-12-02

空空如也

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

TA关注的人

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