自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

iRobot的专栏

机器人开发技术、ROS机器人系统、C/C++/python编程技术、自动驾驶等前沿科技介绍。

  • 博客(21)
  • 资源 (7)
  • 收藏
  • 关注

转载 Linux framebuffer介绍

帧缓冲(framebuffer)是Linux为显示设备提供的一个接口,把显存抽象后的一种设备,他允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作。framebuffer是LCD对应的一中HAL(硬件抽象层),提供抽象的,统一的接口操作,用户不必关心硬件层是怎么实施的。这些都是由Framebuffer设备驱动来完成的。     帧缓冲设备对应的设备文件为/dev/fb*,如果系统有多个显

2013-06-16 21:01:48 814

转载 V4L2

V4L2(video 4 linux 2)V4L2有一段历史了。大约在1998的秋天,它的光芒第一次出现在Bill Dirks 的眼中。经过长足的发展,它于2002年11 月,发布2.5.46 时,融入了内核主干之中。然而直到今天,仍有一部分内核驱不支持新的API,这种新旧API 的转换工作仍在进行。同时,V4L2 API也在发展,并在2.6.18 版本中进行了一些重大的改变。支持V4L2的应

2013-06-10 17:05:24 1919

原创 TQ2440实验板OV9650测试程序的详解

我买的是TQ2440实验板,LCD是480*272。实验板给的测试程序是针对320x240的,下面给出详细注解,并且改成480*272显示。修改后的程序在板子上成功运行。程序中的注解只是我作为一个初学者的角度来理解的,有什么不对的地方还望指教。/* * TQ2440 camera test program * * preview : 480*272 overlay on 48

2013-06-10 16:24:06 5072 4

转载 linux-framebuffer设备相关参数

如果应用程序需要知道Framebuffer设备的相关参数,必须通过ioctl()系统调用来完成。在头文件中定义了所有的ioctl命令字,不过,最常用的ioctl命令字是下面这两个:FBIOGET_FSCREENINFO和FBIOGET_VSCREENINFO。前者返回与Framebuffer有关的固定的信息,比如图形硬件上实际的帧缓存空间的大小、能否硬件加速等信息。而后者返回的是与Fr

2013-06-10 15:29:01 1363

原创 munmap

munmap(解除内存映射)        相关函数 mmap        表头文件 #include        #include        定义函数 int munmap(void *start,size_t length);        函数说明 munmap()用来取消参数start所指的映射内存起始地址,参数length则是欲取消的内存大小。当进程结束或利用

2013-06-10 15:20:00 1130

转载 memset

功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,  块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作  用 法: void *memset(void *s, char ch, unsigned n);  程序例:  #include   #include   #include   int main(void)  {

2013-06-10 15:03:52 665

转载 mmap详解

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

2013-06-10 14:39:40 853

转载 fb_var_screeninfo解析

struct fb_var_screeninfo {__u32 xres; /* visible resolution横像素 */__u32 yres;   //竖像素__u32 xres_virtual; /* virtual resolution */__u32 yres_virtual;__u32 xoffset; /* offset from virtual t

2013-06-10 14:10:52 16988

转载 嵌入式Linux下的LCD驱动程序设计与实现

随着嵌入式Linux的迅速发展,由于其没有昂贵的版权费,完全开放源代码,可裁减性与可移植性,因此是开发嵌入式产品的优秀操作系统平台。设备驱动程序是Linux内核的重要组成部分,运行在Linux内核底层,在内核源代码中占较大比例,驱动程序开发逐渐成为嵌入式软件开发中一项重要工作。应项目设计的需要完成了嵌入式Linux下的LCD驱动程序设计。 1 Linux下设备驱动程序  &nbs随着嵌入式

2013-06-10 13:56:25 1998 1

转载 FILE结构

用VC 控制台程序实现Word 的排版功能,输入文件名读取小于64k 的英文文本,然后对英文文本进行匀齐排版,最后结果为:一行70个字符,左右两边分别空4 个字符,长单词不能折断,每行必须对齐,单词中间插入空格。均匀插入。注意:1、不能用STL库,类似文件流fstream都不允许用      2、不能用sdk,mfc,windows api      3、用最基本的c/c++实

2013-06-09 23:18:24 756

转载 Linux系统调用

目录:1. Linux系统调用原理2. 系统调用的实现3. Linux系统调用分类及列表4.系统调用、用户编程接口(API)、系统命令和内核函数的关系5. Linux系统调用实例6. Linux自定义系统调用1.系统调用原理系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的

2013-06-09 21:26:19 750

转载 linux中的open

open 函数用于打开和创建文件。以下是 open 函数的简单描述        #include fcntl.h>        int open(const char *pathname, int oflag, ... );       返回值:成功则返回文件描述符,否则返回 -1对于 open 函数来说,第三个参数(...)仅当创建新文件时才使用,用于指定文件的访问权限位(a

2013-06-09 21:23:14 906

原创 perror函数

perror头文件#includestdio.h>#include注意不可以掉了#include这个头文件,perror是包含在这个文件里的perror表头文件完善版定义函数void perror(const char *s); perror ("open_port");函数说明perror( ) 用来将上一个函数发生错误的原因输出到

2013-06-09 21:15:12 13663 4

原创 argc与argv

argc,argv 用命令行编译程序时有用。主函数main中变量(int argc,char *argv[ ])的含义有些编译器允许将main()的返回类型声明为void,这已不再是合法的C++main(int argc, char *argv[ ], char **env[ ])才是UNIX和Linux中的标准写法。argc: 整数,用来统计你运行程序时送给main函数的命令行参

2013-06-09 20:36:59 3378

转载 linux下的库文件

一、lib类型:  与windows下静态库(.lib)和动态库(.dll)一样,linux同样存在静态库(static library 文件后缀为.a)和共享库(shared library 文件后缀为.so),在/usr/lib目录下同时存在一个库的静态版本和动态版本。  "An archive (or static library) is simply a collection

2013-06-09 20:27:27 631

原创 linux头文件

验证程序断言            cpio归档值            字符类型          目录项            出错码            文件控制            浮点常数          信号          可变参数表          标准定义            标准I/O库          公用函数

2013-06-09 20:25:11 1523

转载 什么是ioctl。

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

2013-06-08 13:14:02 808

转载 OV9650驱动程序跟踪

学习了裸机OV9650的P通道LCD直接显示程序,作为这点基础开始分析OV9650在linux设备驱动程序。昨天看了点这个驱动程序,让我很郁闷的是写这个程序的人是有毛病还是怎么回事,简简单单的IO口功能引脚的定义,整出了一个套一个的定义,看的我晕乎乎的,也可能是哥根本没有入门,看别人牛逼的程序就看迷糊了。鉴于上面这种情况,我在程序跟踪时只能带一下了。我们跟踪程序按照常规方法,跟着驱动的编写脉络

2013-06-07 20:59:59 1605

转载 Linux内核中的Kconfig、Makefile、.config

首先我们来学习什么Makefile,什么是Kconfig ,什么是.config         Makefile:一个文本形式的文件,其中包含一些规则告诉make编译哪些文件以及怎样编译这些文件。         Kconfig:一个文本形式的文件,其中主要作用是在内核配置时候,作为配置选项。         .config:文件是在进行内核配置的时候,经过配置后生成的内核编译参考文

2013-06-06 15:54:07 558

转载 对ARM加载域和运行域的理解

对ARM加载域和运行域的理解一般而言,一个程序包括只读的代码段和可读写的数据段。在ARM的集成开发环境中,只读的代码段和常量被称作RO段(ReadOnly);可读写的全局变量和静态变量被称作RW段(ReadWrite);RW段中要被初始化为零的变量被称为ZI段(ZeroInit)。对于嵌入式系统而言,程序映象都是存储在Flash存储器等一些非易失性器件中的,而在运行时,程序中的RW段必须重新装

2013-06-04 13:53:48 1615

转载 arm2440的启动流程

要分析arm2440的启动流程,先得了解arm2440的硬件配置,在arm2440这款cpu里面没有什么存储的芯片,除了以个4kb的SRAM(静态存储器可以运行程序,但是最重要的一点就是掉电就失掉所有的数据)注意这4kb是cpu自己的不是外设的的。好了现在讲述下启动的流程。(一下是从nand flash 启动)1、首先机器上电,从外部的nand flash 的0x0000-0x0100

2013-06-04 13:41:38 697

StartUML for Mac ,version2.5.0

简单好用的UML建模工具,mac版本,2.5.0 破解参考http://blog.csdn.net/chenhezhuyan/article/details/50526585

2016-01-16

cvCreateTrackbar 实现调色器

cvCreateTrackbar使用的简单例子,可以感性认识RGB颜色

2015-06-25

MSP430F149.sch

protel中没有MSP430F149的封装,这是我用protel画的原理图封装,希望对大家有帮助。

2014-03-19

iNode for linux以及运行所需要的库

在linux系统上面运行的iNode,还有运行所需要的libjpeg.so.62和libtiff.so.4库文件

2014-03-11

MFC下用OpenCV写的播放AVI程序,有暂停功能

MFC下的使用OpenCV编写的打开AVI文件程序,有暂停功能。利用定时器来实现播放,界面简单。

2012-09-03

ScreenGetColor

这是一个可以获取鼠标点击的坐标值与像素值RGB.

2012-03-18

基于MFC的Dialog的OpenCV编程

这是一个基于MFC的dialog编程,具有摄像与保存相片跟视频的源代码。

2012-03-06

空空如也

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

TA关注的人

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