arm-linux

http://armboard.taobao.com/

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 2 3 4 5 6 ··· 51 下一页

2012年2月26日

摘要: 本帖大体上描述Linux kernel为解决并发导致的竞态所提供的内核API(主要是信号量和自旋锁)之间的区别,侧重于使用方面。代码级的阅读比较打算另开一贴。因为程序的并发执行而导致的竞态是Linux内核中一个非常复杂的方面。对于设备的驱动程序开发者而言,熟悉Linux内核提供的并发互斥的处理机制相当重要。所谓竞态,简而言之,是多个内核线程有可能对同一资源进行操作时可能导致的内核数据紊乱的行为。共享数据是并发的根本原因。并发的来源—我把并发来源分为两个大的方面来分别进行讨论:单处理器和多处理器。1.单处理器对于单处理器而言,并发主要来自于中断,可抢占的内核和各种延迟队列。2.多处理器多处理器的 阅读全文
posted @ 2012-02-26 18:50 arm-linux 阅读(886) 评论(0) 推荐(0) 编辑

2012年2月25日

摘要: 本文重点针对HDMI在android上的应用,而比较相关的就是overlay机制。overlay在这里只是简单的介绍,后续会有文章再专门详述。 我没记错的话,高通从7X30开始,平台就可以支持HDMI(1.3)输出了。只不过在7x30上通过RGB接口外接一颗HDMI的transmitter来实现;而到了8系列(8x60),高通把这颗IC也集成了,直接就提供HDMI的输出了。(这样下去,以后渐渐的把外围器件都集成了,做底层的估计要失业了,做硬件的似乎工作量也没多少了)。 先来看看HW的能力,下图是MDP4.0的结构图: 可以看到,MDP4内部有4个overlay pipe,2个是for UI(R 阅读全文
posted @ 2012-02-25 16:05 arm-linux 阅读(7997) 评论(1) 推荐(0) 编辑

摘要: 1 FrameBuffer的发展历史计算机研究者从很早开始已经开始讨论理论上FrameBuffer的优点,但却一直苦于没有能力生产一台拥有足够内存的计算机。1969年,贝尔实验室的JoanMiller试验了第一个已知的FrameBuffer。该设备显示了一幅3位位深的图片。然而,直到20世纪70年代,集成电路的内存芯片上的进展才使得制造一个可以显示标准视频图像的FrameBuffer成为可能。1972年,Richard Shoup在施乐帕洛阿尔托研究所里设计了SuperPaint系统,该系统拥有311,040字节的内存,并能存储640*480像素8位位深的图片。这些内存分散在16个回路电板上, 阅读全文
posted @ 2012-02-25 10:22 arm-linux 阅读(6812) 评论(0) 推荐(0) 编辑

2012年2月22日

摘要: 做视频采集与处理,自然少不了要学会分析YUV数据。因为从采集的角度来说,一般的视频采集芯片输出的码流一般都是YUV数据流的形式,而从视频处理(例如H.264、MPEG视频编解码)的角度来说,也是在原始YUV码流进行编码和解析,所以,了解如何分析YUV数据流对于做视频领域的人而言,至关重要。本文就是根据我的学习和了解,简单地介绍如何分析YUV数据流。 YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。 与我们熟知的RGB类似,YUV也是一种 阅读全文
posted @ 2012-02-22 15:44 arm-linux 阅读(1387) 评论(0) 推荐(1) 编辑

2012年2月15日

摘要: YUV主要的采样格式主要的采样格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。其中YCbCr 4:1:1 比较常用,其含义为:每个点保存一个 8bit 的亮度值(也就是Y值), 每 2x2 个点保存一个 Cr 和Cb 值, 图像在肉眼中的感觉不会起太大的变化。所以, 原来用 RGB(R,G,B 都是 8bit unsigned) 模型, 4 个点需要 8x3=24 bites(如下图第一个图). 而现在仅需要 8+(8/4)+(8/4)=12bites, 平均每个点占12bites(如下图第二个图)。这样就把图像的数据压缩了一半。 上边仅 阅读全文
posted @ 2012-02-15 16:13 arm-linux 阅读(2280) 评论(0) 推荐(2) 编辑

摘要: Andrew Huang <bluedrum@163.com> 转载请注明作者及联络方式 在摄像头之类编程经常是会碰到YUV格式,而非大家比较熟悉的RGB格式. 我们可以把YUV看成是一个RGB的变种来理解. YUV的原理是把亮度与色度分离,研究证明,人眼对亮度的敏感超过色度。利用这个原理,可以把色度信息减少一点,人眼也无法查觉这一点。 YUV三个字母中,其中"Y"表示明亮度(Lumina nce或Luma),也就是灰阶值;而"U"和"V"表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度, 阅读全文
posted @ 2012-02-15 16:08 arm-linux 阅读(45886) 评论(3) 推荐(3) 编辑

2012年2月14日

摘要: 了解液晶顾名思义,液晶显示器(Liquid Crystal Display,简称LCD)就是使用了“液晶”(Liquid Crystal)作为材料的显示器,那什么是液晶呢?其实,液晶是一种介于固态和液态之间的物质,当被加热时,它会呈现透明的液态,而冷却的时候又会结晶成混乱的固态,液晶是具有规则性分子排列的有机化合物。液晶按照分子结构排列的不同分为三种:类似粘土状的Smectic液晶、类似细火柴棒的Nematic液晶、类似胆固醇状的Cholestic液晶。这三种液晶的物理特性都不尽相同,用于液晶显示器的是第二类的Semitic液晶,分子都是长棒状的,在自然状态下,这些长棒状的分子的长轴大致平行。 阅读全文
posted @ 2012-02-14 15:35 arm-linux 阅读(28288) 评论(2) 推荐(4) 编辑

2012年2月7日

摘要: 帧缓冲(framebuffer)设备应用于linux显示技术方面。因为linux的显示平台已经全部基于framebuffer,所以目前在linux环境下开发图形化界面、游戏、影视软件等可视化应用时都必须用到帧缓冲技术,而现在随着消费逐渐娱乐化的大趋势,可视化应用已经在产品开发中越来越重要,因此,对于帧缓冲技术的理解和掌握就非常重要了。1 Frambuffer介绍 帧缓冲在linux体系中居于上层应用和底层显示设备之间,如下图所示。它的设计意图是对上层应用屏蔽掉低层不同硬件的操作细节:对于不同厂家不同类型的显示硬件,由于各自厂商在技术上扬长避短的需要,所以在具体的细节比如寄存器数量和种类的设计. 阅读全文
posted @ 2012-02-07 15:05 arm-linux 阅读(2789) 评论(0) 推荐(0) 编辑

2012年2月1日

摘要: arm-linux启动过程1. kernel运行的史前时期和内存布局在arm平台下,zImage.bin压缩镜像是由bootloader加载到物理内存,然后跳到zImage.bin里一段程序,它专门于将被压缩的kernel解压缩到KERNEL_RAM_PADDR开始的一段内存中,接着跳进真正的kernel去执行。该kernel的执行起点是stext函数,定义于arch/arm/kernel/head.S。在分析stext函数前,先介绍此时内存的布局如下图所示在开发板tqs3c2440中,SDRAM连接到内存控制器的Bank6中,它的开始内存地址是0x30000000,大小为64M,即0x200 阅读全文
posted @ 2012-02-01 22:55 arm-linux 阅读(7281) 评论(0) 推荐(0) 编辑

摘要: 内核的引导步骤如下:(1)用U-boot 的mkimage 工具处理内核映像zImage。(2)通过网络、串口、U 盘、SD 卡等方式将处理过的内核映像传输到SDRAM 的一定位置(一般使用0x30008000)(3)然后使用”bootm"等内核引导命令来启动内核。 为什么要用U-boot 的mkimage 工具处理内核映像zImage?因为在用bootm 命令引导内核的时候,bootm 需要读取一个64 字节的文件头,来获取这个内核映象所针对的CPU 体系结构、OS、加载到内存中的位置、在内存中入口点的位置以及映象名等等信息。这样bootm 才能为OS 设置好启动环境,并跳入内核映 阅读全文
posted @ 2012-02-01 09:45 arm-linux 阅读(1438) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 51 下一页