2010年10月25日

OV7640

摘要: OV7640研究总结【转】经过将近一个星期的摸索,终于能让OV7640出正确图像了。 我直接把MCU和OV7640接到一起,MCU外扩了一个SDRAM用来放数据。没有使用专门的压缩芯片或者CPLD辅助。 下面总结一下研究OV7640的一些经验,希望对后来人有些帮助。1、OV7640的寄存器设置,不用管那个SCCB那些资料,写操作就是完全标准的I2C协议,用器件的I2C或者IO口模拟能用的I2C代... 阅读全文

posted @ 2010-10-25 13:39 呵呵,呵呵 阅读(1947) 评论(0) 推荐(0) 编辑

2010年10月22日

RGB YUV jpeg

摘要: 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... 阅读全文

posted @ 2010-10-22 16:18 呵呵,呵呵 阅读(5425) 评论(0) 推荐(0) 编辑

RAW格式

摘要: RAW格式【转】1.RAW格式RAW是数码相机原始数据的一种格式,相当于传统相机的菲林底片。因此,它的色彩和层次的宽容度是相当广阔的,RAW最大的好处是保存了最原始的CCD数据,把更多的自由放在用户手里。 记录了最原始最真实的信息,不做修饰和更改,为后期制作留下了广阔的可操作性。而通常非RAW格式即使是最完整的TIF格式,也是经过了数码相机自身处理的,这个处理实际上也是个软件处理的过程,会有很明显... 阅读全文

posted @ 2010-10-22 11:58 呵呵,呵呵 阅读(6473) 评论(0) 推荐(1) 编辑

2010年10月21日

字符设备驱动编写步骤

摘要: 字符设备驱动编写步骤【转】 1.标准字符设备驱动 a.注册设备号 如 if(key_major) /*静态注册*/ err = register_chrdev_region(devno, 1, DEVICE_NAME); else { /*动态注册*/ err = alloc_chrdev_region(&devno, 0, 1, DEVICE_NAME); key_major = MAJ... 阅读全文

posted @ 2010-10-21 14:22 呵呵,呵呵 阅读(3392) 评论(1) 推荐(0) 编辑

Linux混杂设备驱动

摘要: Linux混杂设备驱动【转】2010-05-02 20:03    WatchDog Timer驱动 混杂设备   Misc(或miscellaneous)驱动是一些拥有着共同特性的简单字符设备驱动。内核抽象出这些特性而形成一些API(在文件drivers/char/misc.c中实现),以简化这些设备驱动程序的初始化。所有的misc设备被分配同一个主设备号MISC_MAJOR(10),但是每一个... 阅读全文

posted @ 2010-10-21 14:12 呵呵,呵呵 阅读(1376) 评论(0) 推荐(0) 编辑

MINI2440的led应用程序及驱动设计

摘要: 一段led灯的应用程序。#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/ioctl.h>int main(int argc, char **argv){int on;int led_no;int fd;if (argc != 3 || sscanf(argv[... 阅读全文

posted @ 2010-10-21 13:52 呵呵,呵呵 阅读(1584) 评论(0) 推荐(0) 编辑

2010年10月20日

linux驱动的mmap操作

摘要: 【转】一、自己画了个图,不知正确? 这是我的理解注意 1.所有的物理内存要使用都要映射到内核空间2.物理内存划分为页3.页扩展机制,支持大于4G的物理内存,这时要用到三级分页(pgd 页全局目录Page Global Directory,pmd页中间目录 (Page Middle Directory),pte页表条目 (Page Table Entry)),不需支持时,只需将 pmd 定义成&ld... 阅读全文

posted @ 2010-10-20 16:10 呵呵,呵呵 阅读(3240) 评论(0) 推荐(0) 编辑

阻塞与非阻塞I/O

摘要: 阻塞与非阻塞I/O 【转】阻塞操作是指在执行设备操作时若不能获得资源则挂起进程,直到满足可操作的条件后再进行操作。 因为阻塞的进程会进入休眠状态,因此,必须确保有一个地方能够唤醒休眠的进程。唤醒进程的地方最大可能发生在中断里面,因为硬件资源获得的同时往往伴随着一个中断。 注意:驱动程序需要提供阻塞(等待队列,中断)和非阻塞方式(轮询,异步通知)访问设备。 休眠(被阻塞)的进程处于一个特殊的不可执行... 阅读全文

posted @ 2010-10-20 15:42 呵呵,呵呵 阅读(5350) 评论(0) 推荐(0) 编辑

Poll方法

摘要: Poll方法解析【转】当应用程序需要进行对多文件读写时,常用到 poll(System V)、select(BSD Unix)、 epoll(linux2.5.45开始)(没验证)系统调用配合使用。当poll函数返回时,会给出一个文件是否可读写的标志,应用程序根据不同的标志读写相应的文件,实现阻塞或非阻塞的读写。这些系统调用功能相同: 允许进程来决定它是否可阻塞或非阻塞的读写一个或多个文件。这些调... 阅读全文

posted @ 2010-10-20 15:33 呵呵,呵呵 阅读(1928) 评论(0) 推荐(0) 编辑

LINUX内核-等待队列

摘要: LINUX内核-等待队列【转】一、定义:/include/linux/wait.hstruct __wait_queue_head { spinlock_t lock; struct list_head task_list; }; typedef struct __wait_queue_head wait_queue_head_t;二、作用:在内核里面,等待队列是有很多用处的,尤其是在中断处理、进... 阅读全文

posted @ 2010-10-20 14:32 呵呵,呵呵 阅读(625) 评论(0) 推荐(0) 编辑

导航