Video4Linux 2 摄像和视频采集类Linux API
由 zhoum 于 星期五, 05/15/2009 - 21:31 发表V4L2接口主要用来支持视频类设备,提供统一的驱动API使得软件能够较容易的访问这些视频设备。
实际上,V4L2用来支持一系列的设备,其中只有一部分是真正的“视频”设备
视频捕捉接口
用来从硬件设备,如摄像头或电视调谐器,捕捉视频数据并输入到软件。
视频输出接口
用来将应用程序的视频数据通过设备输出,如输出电视信号到电视机。
视频Overlay接口
可以看作是一种特殊的视频捕捉,特殊之处在于通过利用硬件的能力,将捕捉的视频直接输出到显示设备上,视频数据完全不经过CPU处理。
VBI接口
用于利用视频图像帧之间的时隙中发送图文数据
收音接口
用来提供接受收音机音频数据的接口
- zhoum 的blog
- 要发表评论,请先登录 或 注册
Montavista Linux 6的新特性
由 zhoum 于 星期五, 05/15/2009 - 11:02 发表montavista linux
使用开源软件的挑战
开发消耗过多时间
Mvista linux 6.0版的新特性
- zhoum 的blog
- 要发表评论,请先登录 或 注册
AMBA v3总线
由 zhoum 于 星期四, 05/14/2009 - 11:28 发表AMBA v3规范定义了几种总线,其中
AMBA3 AXI总线是用于替代原来AHB的新一代总线,主要应用于嵌入式系统的高速互联,特别是embedded soc。
AMBA3 AHB总线用于替代原来的AHB-lite,不支持多时钟domain,并且是单工的。虽然性能上不如AXI,但是能够兼容原来的AHB-lite
AMBA3 APB总线用于替代原来的APB,基本功能一致并且保持了和老版本之间的完全兼容性
AMBA3 ATB总线用于提供一条调试总线,所有需要调试的模块可以通过ATB连接,得到调试支持
其中最新引入AXI有如下几个特点:
专为高速通讯准备的完全流水线化互联
能够高效率连接不同的异步时钟domain,简化动态能源管理
能够同时进行读写传送
对传输初始化开销大的设备支持效率较好
目前AMBA 3已经在Cortex家族中广泛使用,如cortex-a8和cortex-a9,部分arm11处理器也有采用
- zhoum 的blog
- 要发表评论,请先登录 或 注册
新一代的SuperH处理器
由 zhoum 于 星期二, 05/12/2009 - 15:54 发表
瑞萨科技(以下简称“瑞萨”)在2009年4月23日推出用于手机的SH7370应用处理器,代号SH-MobileHD1,是业内能够做到全高清1080p Full HD 播放和录像的产品之一,另外一个是TI OMAP4。
SH7370在一个独立芯片上支持全高清视频编解码。该应用处理器提供了非常强劲的多媒体功能,并且保持了对手机应用至关重要的低功耗。器件采用非常紧凑的小型封装,专门面向手机领域的视频和音频处理系统。
- zhoum 的blog
- 要发表评论,请先登录 或 注册
- 阅读全文
Cortex-a8 arm11 arm9 xscale powerpc 嵌入式处理器实测性能
由 zhoum 于 星期四, 03/05/2009 - 15:05 发表嵌入式处理器层出不穷,系列和种类繁多。经常在嵌入式产业界见到的处理器,仅指令集家族就有x86,arm,powerpc,mips,sh等。每种指令集往往又有很多系列,下面还有不同版本,甚至同一版本有不同芯片厂家实现产品。这还不够,再加上不同的主频、总线结构、存储器cache配置,即使在行业里打拼多年的专业人士也难免眼花缭乱。
所以,经常有人会问:200Mhz的arm9比起嵌入式工控机上的赛扬有多大的性能差距?四千多买的500MHz的智能手机究竟比笔记本电脑慢多少?
在短时间内全面解释这类问题,介绍清楚各种嵌入式处理器的来龙去脉是不可能的。笔者前日对手里的几个嵌入式处理器进行了性能评测,获得了一些有趣儿的结果,能够一定程度上说明问题,于是撰文跟大家分享。
基于cortex-a9高性能arm soc —— omap4
由 zhoum 于 星期二, 02/24/2009 - 22:06 发表
单核的Cortex-A9在性能上比已经推出的Cortex-A8处理器更高,并且 A9系列可以提供两个乃至四个内核片上SMP产品,能提供总共超过8,000Dhrystone Mips(DMIPS)的峰值处理性能,这一性能大约是典型arm11处理器(如iphone)的10-15倍,遑论更早的arm9系列。同时Cortex-a8是可综合的,芯片制造商采用速度优化工艺时的时钟频率能够超过1GHz,也可采用低功耗工艺大幅降低耗电。如果要进一步的省电,还可以采用动态减慢时钟或关闭部分内核的方法。
u-boot 结构分析 —— 基于S3C2410
由 zhoum 于 星期四, 11/13/2008 - 04:24 发表u-boot是广泛应用于嵌入式系统的bootloader,该软件主页是http://www.denx.de/wiki/U-Boot
解压缩开代码包后,以下几个目录中分类存放了主要的源码
board目录——用于放置板支持代码,相当于bootloader级的BSP。与特定板相关的代码包括频率合成、GPIO、板参数、调试串口、能源管理、按键处理等。如本例子的板级代码
linux内核启动过程——基于S3C2410 (2)Image早期初始化
由 zhoum 于 星期日, 11/09/2008 - 21:11 发表从zImage头跳转进来,此时的状态
- MMU为off
- D-cache为off
- I-cache为dont care,on或off没有关系
- r0为0
- r1为machine ID
- r2为atags指针
内核代码入口在linux-2.6.24-moko-linuxbj/arch/arm/kernel/head.S文件的83行。首先进入SVC32模式,并查询CPU ID,检查合法性
- zhoum 的blog
- 要发表评论,请先登录 或 注册
- 阅读全文
linux内核启动过程——基于S3C2410 (1)zImage自解压
由 zhoum 于 星期三, 11/05/2008 - 00:26 发表本文以流行的Samsung公司的S3C2410,openmoko平台和linux-2.6.24为例,介绍如何在ZIX嵌入式开发环境下探索linux内核启动过程。
Linux内核启动一般由外部的bootloader引导,也可以在内核头部嵌入一个loader,实际的应用中这两种方式都会经常遇到。所以要了 解内核启动最开始的过程,必须对bootloader如何引导内核有所熟悉。下面我们从u-boot加载linux内核的代码开始分析(关于u-boot 自身的启动流程,请参考u-boot 启动过程 —— 基于S3C2410)。
在u-boot的do_bootm_linux函数里,实现了处理器架构相关的linux内核加载代码,特别是tags传递。
u-boot 启动过程 —— 基于S3C2410
由 zhoum 于 星期日, 11/02/2008 - 18:27 发表本文以流行的Samsung公司的S3C2410,openmoko平台和u-boot-1.3.2(2008.5 发布)为例,介绍如何在ZIX嵌入式开发环境下探索u-boot启动过程。

最新评论
2 天 24 分钟之前
3 天 22 小时之前
3 天 23 小时之前
4 天 18 小时之前
1 周 18 小时之前
1 周 3 天之前
1 周 3 天之前
1 周 5 天之前
2 周 5 小时之前
6 周 3 天之前