嵌入式Linux系统的图像采集与显示
1 系统平台的硬件结构
本文使用的系统平台硬件功能框图如图1所示,该平台采用Samsung公司的处理器S3C2410。该处理器内部集成了ARM公司ARM920T处理器核的32位微控制器,资源丰富,带独立的16KB的指令Cache和16KB数据Cache,LCD控制器、RAM控制器,NAND闪存控制器,3路UART、4路DMA、4路带PWM的Timer、并行I/O口、8路10位ADC、Touch Screen接口,I2C接口,I2S接口、2个USB接口控制器、2路SPI,主频最高可达203MHz。在处理器丰富资源的基础上,还进行了相关的配置和扩展,平台配置了16MB 16位的FLASH和64MB 32位的SDRAM,通过以太网控制器芯片AX88796扩展了一个网口,另外引出了一个HOST USB接口。在USB接口上外接一个带USB口的摄像头。另外,还配有分辨率为320×240,256色的LCD。
2 嵌入式Linux简介
Linux操作系统具有相当多的优点,他的内核稳定、功能强大、支持多种硬件平台、源代码完全开放,可裁减和低成本的特性非常适合于嵌入式应用,并且Linux本身直接提供完整的TCP/IP协议,可非常方便地进行网络应用。但Linux内核本身不具备强实时性,且内核体积较大,而且嵌入式系统的硬件资源有限,因此把Linux用于嵌入式系统,必须对Linux进行实时化和嵌入式化,即通过配置内核,裁减shell和嵌入式C库对系统定制,使整个系统能够存放到容量较小的FLASH中,Linux的动态模块加载,使Linux的裁减极为方便,高度模块化的部件使添加非常容易。
整个系统软件是在嵌入式Linux的基础上构建的。S3C2410平台使用的Linux内核是在Linux-2.4.18内核打上patch-2.4.18-S3C2410这个补丁后编译而成。S3C2410平台使用的文件系统是yaffs,文件系统包括应用程序、模块、配置文件和库等,图像的采集和显示是建立在嵌入式Linux内核之上的,整个软件系统如图2所示。