自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ctthuangcheng

自学成才。。。。加油!

  • 博客(64)
  • 资源 (4)
  • 收藏
  • 关注

转载 linux并发控制之总章

一.概念1.并发(concurrency)指多个执行单元同时,并行被执行。2.并发的执行单元对共享资源,(比如说,硬件资源,全局变量,静态变量等)访问很容易导致竞态(race conditions)。举个简单事例,古代皇帝有很多妃子,皇帝第一个时辰是宜妃的,第二个时辰是萱妃,最后时间是皇后的,这是原来正常的顺序。假如宜妃让皇帝赖床了,萱妃不爽了,然后萱妃时间冲突了,皇后也不爽了,竞争就

2013-01-31 17:24:02 1163

转载 linux并发控制之原子操作

原子操作指的是在执行过程中不会被别的代码路径所中断的操作。分为两类:整型原子操作 和 位原子操作。特点:1.任何情况下操作都是原子的。2.都依赖底层的CPU的原子操作来实现,所以和CPU架构密切相关。注意:    1.原子操作在不同体系架构实现的方法不同,基本采用汇编实现    2.上述的整数原子函数集仅针对32位,内核中关于64位有另一套函数    3

2013-01-31 17:23:12 3662

转载 linux并发控制之中断屏蔽

在单CPU范围内避免竞态的一个简单方法。注意:    中断对系统正常运行很重要,长时间屏蔽很危险,所以中断屏蔽后应尽可能快的执行完毕。    宜与自旋锁联合使用。使用    local_irq_disable()    local_irq_enable()只能禁止和使能本地CPU的中断,所以不能解决多CPU引发的竞态    local_i

2013-01-31 17:22:24 1403

转载 linux并发控制之顺序锁

顺序锁是对读写锁的一种优化。    1.读执行单元绝对不会被写执行单元阻塞。即读执行单元可以在写执行单元对被顺序锁保护的共享资源进行写操作的同时仍然可以继续读,而不必等待写执行单元完成之后再去读,同样,写执行单元也不必等待所有的读执行单元读完之后才去进行写操作    2.写执行单元与写执行单元之间仍然是互斥的。    3.如果读执行单元在读操作期间,写执行单元已经发生了写操作,那么,读

2013-01-31 17:19:06 1646

转载 linux并发控制之RCU

RCU:读-拷贝-更新众所周知,为了保护共享数据,需要一些同步机制,如自旋锁(spinlock),读写锁(rwlock),它们使用起来非常简单,而且是一种很有效的同步机制,在UNIX系统和Linux系统中得到了广泛的使用,但是它存在两个问题。1.它的开销相对于CPU速度而言就越来越大随着计算机硬件的快速发展,获得这种锁的开销相对于CPU的速度在成倍地增加,原因很简单,CPU的速度与访问

2013-01-31 17:16:38 1732

转载 linux并发控制之读写自旋锁

读写自旋锁(rwlock)是一种比自旋锁粒度更小的自旋锁机制,它保留了“自旋”的概念。但是在写操作方面,只能最多有一个写进程,在读方面,同时可拥有多个执行单元,当然读和写也不能同时进行。一句话:防写不防读 理解推荐: http://blog.sina.com.cn/s/blog_6d7fa49b01014q86.html操作:定义于#include或#include

2013-01-31 17:15:06 1735

转载 linux并发控制之自旋锁

自旋锁是一种对临界资源进行互斥访问的典型手段,其名来源于它的工作方式。通俗的讲,自旋锁就是一个变量,该变量把一个临界区标记为“我当前在运行,请等待”或者标记为“我当前不在运行,可以被使用”, 如果A执行单元首先获得锁,那么当B进入同一个例程时将获知自旋锁已被持有,需等待A释放后才能进入,所以B只好原地打转(自旋)。特点:    1.自旋锁主要针对SMP或单CPU且内核可抢占的情

2013-01-31 17:14:14 1157

转载 linux并发控制之完成量

完成量:表示一个执行单元需要等待另一个执行单元完成某事后方可执行。1.它是一种轻量级机制,为了完成进程间的同步而设计2.使用完成量等待时,调用进程是以独占睡眠方式进行等待的3.不是忙等待理解:定义于#include其结构体为struct completion {unsigned int done;wait_queue_head_t wait;};

2013-01-31 17:12:11 1643

转载 linux并发控制之读写信号量

读写信号量与信号量之间的关系类似于自旋锁与读写自旋锁。读写信号量可能会引起进程阻塞,但是它允许N个读执行单元同时访问共享资源,而最多只允许有一个写执行单元访问共享资源;因此,读写信号量是一种相对放宽条件的、粒度稍大于信号量的互斥机制。注意:信号量不允许任何操作之间有并发。理解:定义于#include 实际上在arch/X86/include/asm/rwsem.h

2013-01-31 17:11:21 2007

转载 linux并发控制之信号量

信号量(semaphore)是用于保护临界区的一种常用方法,它的使用方式与自旋锁类似与自旋锁相同的是:只有得到信号量的进程才能执行临界区的代码与自旋锁不同的是:当获取不到信号量的时候,进程不会在原地打转,而是进入休眠等待状态;理解:定义于#includestruct semaphore { spinlock_t lock; unsigned int count;

2013-01-31 17:08:02 1149

转载 制作yaffs2文件系统

由于内核里没有yaffs2文件系统生成功能,所以需要添加补丁。 1. fsMakefile.path in fs_yaffs2.tgz is the patch for kernel/fs/Makefile 在 kernel/fs/Makefile中添加如下内容[root@localhost fs_yaffs2]# cat fsMakefile.path --- fs/Ma

2013-01-30 12:06:58 1340

转载 mount命令详解

命令格式:  mount [-t vfstype] [-o options] device dir  其中:  1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:  光盘或光盘镜像:iso9660  DOS fat16文件系统:msdos  Windows 9x fat32文件系统:vfat

2013-01-30 12:02:55 1467

转载 ext2文件系统错误

attempt to access beyond end of device                                         ram0: rw=0, want=16482, limit=8192                                              EXT2-fs error (device ram0): ext2_g

2013-01-30 12:01:36 4556

转载 内核配置中 ramdisk 大小修改

1.修改内核配置选项进入内核源码目录linux-2.6.32.2目录#cp config_mini2440_x35 .config#make menuconfig ARCH=arm(1).打开配置菜单,修改两个配置项,分别是:a):General setup-->选择 Initial RAM filesystem and RAM disk...... 项b):Device

2013-01-30 11:36:35 9701

转载 mke2fs 制作ext2文件系统image

方法1: 利用/dev/ram1:linux下有很多ram,我们用ram1,首先把ram1格式化成ext2文件系统[root@gucuiwen babylinux]#   sudo mkfs.ext2 -m0 /dev/ram1 将ram1挂装到文件系统中:先建立一个挂装点:#mkdir /mnt/ram挂上ram1:# sudo mount /dev/ram1 /mn

2013-01-30 11:32:20 4477

转载 nandwrite 参数

$ nandwrite -hnandwrite: invalid option -- 'h'Usage: nandwrite [OPTION] MTD_DEVICE [INPUTFILE|-]Writes to the specified MTD device.  -a, --autoplace         Use auto oob layout  -j, --jffs

2013-01-30 11:30:34 6661

转载 stat---文件状态信息结构体

1. stat 结构体用来表示相关文件状态信息。stat 结构题定义于个体系架构下的 stat.h 文件中, 如x86下,是 arch/x86/include/asm/stat.harm下, 是 arch/arm/include/asm/stat.h,下面以x86为例,stat 结构题的定义:[cpp] view plaincopyprint?s

2013-01-30 10:56:47 1824

转载 dirent和DIR 结构体 --- 表示文件夹中目录内容信息

1. dirent  --- 用来表示某文件夹的目录内容。我猜是directory content 的缩写.dirent 定义于 /include/bits/dirent.h 中:[cpp] view plaincopyprint?struct dirent    {  #ifndef __USE_FILE_OFFSET64      __ino_t

2013-01-30 09:09:31 4483

转载 摄像机的几个重要的技术指标

(1)清晰度    清晰度是一个摄像机的最重要指标,在监控系统中对图像的清晰度有很高的要求,如在交通监控中,对车辆要能看清车牌号码,对行人要能看清脸部特征,如果这些都看不清楚,那么监控将失去意义。线数的多少决定着清晰度,线数越高看到的图像也就越清晰,与CCD芯片及尺寸也是有一定关系的。高速球型摄像机一定要达到480线清晰度才能满足要求。在普通的商场,酒店,学校等一般用420线的清晰度就能达到要

2013-01-29 21:42:28 5938

转载 照度/感光度(Lux)

何谓照度?照度(LUX)数值达到多少为低照度?多少数值能适应摄取影像的周围环境?照度是反映光照强度的一种单位,其物理意义是照射到单位面积上的光通量,照度的单位是每平方米的流明(Lm)数,也叫做勒克斯(Lux):1Lux=1Lm/平方米上式中,Lm是光通量的单位,其定义是纯铂在熔化温度(约1770℃)时,其1/60平方米的表面面积于1球面度的立体角内所辐射的光量。为了对照度的量有一个感性

2013-01-29 21:41:27 16590 1

转载 伽玛校正(Gamma Correction)

γ校正(Gamma Correction,伽玛校正):所谓伽玛校正就是对图像的伽玛曲线进行编辑,以对图像进行非线性色调编辑的方法,检出图像信号中的深色部分和浅色部分,并使两者比例增大,从而提高图像对比度效果。计算机绘图领域惯以此屏幕输出电压与对应亮度的转换关系曲线,称为伽玛曲线(Gamma Curve)。以传统CRT(Cathode Ray Tube)屏幕的特性而言,该曲线通常是一个乘幂函数,Y=

2013-01-29 21:39:54 2596

转载 红眼消除

red eye removal: 闪光灯正对人眼拍摄时,视网膜底部反光,在照片上眼睛中间出现红点——红眼。消除红眼有两种:拍摄阶段:闪光灯先预闪一下,被拍摄者眼睛瞳孔收缩,眼底反光自然就减少了。后期阶段:通过软件去除红点。 现在的相机基本都有了“防红眼模式”。就是在室内、暗处使用闪光灯拍摄人像时,先有小灯光或小闪光点亮迫使眼睛的瞳孔收小。再进行闪光拍摄,这样就能

2013-01-29 21:37:02 1932

转载 HDMI_VGA_CBVS同时显示

STi7105同一时间只能播放一个视频文件。但是可以用2个播放处理器同时播放该视频文件。一个高清通道(主),一个标清通道(辅)。每个通道,可以设置不同的VTG(即分辨率格式)。HDMI和VGA共用一个主通道。CVBS用辅通道。ST7105 > VID_INJSTART 1 "/18T_D1_NTSC.264" 0 V_ES V_AUX   //只输出辅通道ST7105 > vi

2013-01-29 13:57:25 1654

转载 I帧,P帧,B帧

视频压缩中,每帧代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。 I帧表示关键帧,你可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成(因为包含完整画面)。 P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。(也就是差别帧,P帧没有完整画面数据,只有与前一帧的画面

2013-01-29 13:55:21 1136

转载 隔行扫描和逐行扫描(interlace and progressive )

隔行和逐行扫描 隔行扫描方式源于早期的模拟电视广播技术,这种技术需要对图像进行快速扫描,以便最大限度地降低视觉上的闪烁感,但是当时可以运用的技术并不能以如此之快的速度对整个屏幕进行刷新。于是,将每帧图像进行“交错”排列或分为两场,一个由奇数扫描线构成,而另一个由偶数扫描线构成,如图4 所示。NTSC/(PAL)的帧刷新速率设定为约 30/(25)帧/秒。于是,大片图像区域的刷新率为 6

2013-01-29 11:30:23 6012

转载 音视频处理中的硬压缩与软压缩

视音频的压缩是视音频处理中的核心部分,压缩通常分两种途径来实现,1.嵌入式CPU进行软压缩,2. 采用硬件芯片进行硬压缩。    软压缩的图像采集通过图像采集芯片完成。即以若干个图像采集芯片为核心,配合周边电路和元件,完成图像采集功能,而图像压缩则是通过软件实现,即通过CPU运算完成。这种方式比较占CPU资源,速度也比较慢,还需要设计专门的压缩软件,让CPU运行。    硬压缩的图

2013-01-29 11:28:39 2267

转载 VGA管脚定义

VGA管脚定义:1红基色 red2 绿基色 green3 蓝基色 blue4 地址码 ID Bit5 自测试 (各家定义不同 )6 红地7 绿地8 蓝地9 保留 (各家定义不同 )10 数字地11 地址码12 地址码13 行同步14 场同步15 地址码 (各家定义不同 )如下图: 最近在整个VG

2013-01-29 11:25:36 2586

转载 VGA 输出调试

程序修改:/apilib/config/chip/7105.h   add:[cpp] view plaincopyprint?/*PIO5 CONFIG8------------add by xxh-------------------------------------------------*/  #define ST7105_PIO5_CONFIG_AD

2013-01-29 11:20:08 2065

转载 分辨率与行场同步信号的关系

当CRT显示器显示一幅图像时,电子枪是从左到右、从上到下来扫描屏幕的。由电子枪打出的电子经由偏转线圈的偏转得以打到屏幕的不同点上。电子束在从左到右扫描完一行后,需要回到起始方向进行下一行的扫描,这个返回的工作由回程转换器来完成。        这一系列动作要想很精确,就得使电子枪、偏转线圈、回程转换器协同(同步)工作。为了达到这个目标,我们需要两个信号:     1, 水平同步信号

2013-01-29 11:01:10 7742

转载 帧率、码流与分辩率之间关系

码流概念    码流(Data Rate),是指视频文件在单位时间内发送的数据流量,也叫码率,是他是视频编码中画面质量把持中最主要的部分。同样辨别率下,视频文件的码流越大,紧缩比就越小,画面质量就越高。   码流是经过视频压缩后每秒发送的数据量,而压缩是去掉图像的空间冗余和视频的时光冗余。所以,对于静止的场景,可以用很低的码流获得较好的图像质量;而对于激烈活动的场景,可能用很高的码流也达不

2013-01-29 10:56:48 2005

转载 HDMI接口原理图

2013-01-29 10:37:11 8672

转载 VGA接口原理图

2013-01-29 10:36:18 5272

转载 RGB565 与RGB888的区别

正常的RGB24是由24位即3个字节来描述一个像素,R、G、B各8位。而实际使用中为了减少图像数据的尺寸,如视频领域,对R、G、B所使用的位数进行的缩减,如你所说的RGB565和RGB555。RGB565 就是R-5bit,G-6bit,B-5bitRGB555 就是R-5bit,G-5bit,B-5bitRGB888 就是R-8bit,G-8bit,B-8bit ;其实这就是RGB2

2013-01-29 10:33:52 62486 3

转载 谈谈RGB、YUY2、YUYV、YVYU、UYVY、AYUV

计算机彩色显示器显示色彩的原理与彩色电视机一样,都是采用R(Red)、G(Green)、B(Blue)相加混色的原理:通过发射出三种不同强度的电子束,使屏幕内侧覆盖的红、绿、蓝磷光材料发光而产生色彩。这种色彩的表示方法称为RGB色彩空间表示(它也是多媒体计算机技术中用得最多的一种色彩空间表示方法)。根据三基色原理,任意一种色光F都可以用不同分量的R、G、B三色相加混合而成。F =

2013-01-29 10:32:11 2428

转载 视频图像大小格式汇总

视频图像大小格式汇总XGA(Extended Graphics Array)是一种计算机显示模式。显示模式指计算机显示器的性能,特别指最大色彩数以及最大的图像分辨率。在现在的个人电脑系统中,可找到多个显示模式,例如VGA、SVGA、XGA、SXGA、UXGA等。WSXGA+:1680×1050 宽屏高级扩展图形阵列(Widescreen Super eXtended Graphic

2013-01-29 10:23:46 2382

转载 YUV422 to YUV420sp color invert

最近在做camera模块,出现了几个bug很有意思。 1. 颜色翻转,红色 变成了 蓝绿色。分析后是YUV422 to YUV420SP的时候,算法出现问题。后来把cb,cr互换了一下,颜色就对了。真的很奇怪。 2. 转换video quality的时候,从high quality 切换到 low quality的时候,camera报错了。后来发现是分辨率不一样。

2013-01-29 10:21:51 1695

转载 YUV 和 YCbCr 的差别

1. YCbCr 则是在世界数字组织视频标准研制过程中作为ITU - R BT1601 建议的一部分, 其实是YUV经过缩放和偏移的翻版。其中Y与YUV 中的Y含义一致, Cb , Cr 同样都指色彩, 只是在表示方法上不同而已。在YUV 家族中, YCbCr 是在计算机系统中应用最多的成员, 其应用领域很广泛,JPEG、MPEG均采用此格式。一般人们所讲的YUV大多是指YCbCr。Y

2013-01-29 10:17:31 1675

转载 Flash设备驱动

今天又看了一遍Flash驱动,以下是一些总结。Flash 设备驱动 一.MTDLinux系统中,用了MTD系统来建立flash对linux的接口。MTD---memory technology device,内存技术设备。 MTD可以分为四个层:1,  硬件驱动层:最底层,负责flash硬件设备的读、写、擦除。Nor flash 芯片驱动位于/driver/

2013-01-29 10:00:53 1635

转载 高端内存的映射 -- 永久映射和临时映射

高端内存(Highmem)中的页不能永久地映射到内核地址空间,因此,通过alloc_pages()函数,以__GFP_HIGHMEM标志分配的页不可能有虚拟地址。X86体系结构中,高于896MB的所有物理内存都是高端内存,这些物理内存页不会永久的或自动的映射到内核地址空间。这些页需要被分配之后,才会映射到内核的虚拟地址空间上。X86体系结构中,高端内存中的页,通常被映射到3G-4G虚拟地址

2013-01-28 22:09:35 2441

转载 虚拟地址_物理地址_逻辑地址_页表_内存映射

1. 虚拟地址和物理地址:虚拟地址关系到进程的用户空间和内核空间,而物理地址则用来寻址实际可用的内存。linux用页表来为物理地址分配虚拟地址。进程的虚拟地址空间,都被内核划分为很多等长的部分,这样的部分成为页。物理内存也划分为同样大小的页。2. 页表页表是一种数据结构,用来将虚拟地址空间映射到物理地址空间。实现两个地址空间关联最容易的方法是使用数组,对虚拟地址空间的每一页

2013-01-28 22:02:05 6845

gdb调试程序

gdb调试

2013-05-29

gdb调试示例

gdb示例

2013-05-29

空空如也

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

TA关注的人

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