图3中的底层是硬件系统,核心是嵌入式处理器(嵌入芯片),通常这样构成的系统又被称为是SOC(System on Chip)系统。在硬件系统的上面是BSP(板级支持包),包括各种必要的对底层硬件系统的屏蔽,引导上层操作系统在硬件系统上的正确运行。操作系统正确运行之后还需要开发各种设备驱动程序,目的是给用户的应用程序开发提供对底层设备的屏蔽,提供一个统一的用户开发接口(API)。
BSP是指系统内核在特定的硬件系统上面运行所需要的初始化代码和各种设备驱动程序。它主要包括:系统初始化,初始化CPU寄存器和测试CPU的型号版本等,它和Bootloader中的初始化部分共同完成所有的系统准备工作,使得系统处于预期的稳定工作状态;内存管理,在没有MMU(内存管理单元)的系统里面主要是数据cache和程序cache的管理,在具有MMU单元的系统中还要包括MMU的各种表的管理,它主要用来实现内存的映射;中断控制器管理,对于一个RTOS来说,中断是不可缺少的部分。
嵌入式操作系统相关技术已经成熟,由于Linux[6]具有源码开放、开发工具丰富、技术支持广泛等特点,视频图像采集系统选用嵌入式Linux操作系统(Embedded Linux Operation System)。Linux中的中断管理包括中断号的申请和释放、中断屏蔽和中断服务、中断向量分配等,时钟和设备驱动程序。
驱动程序是利用操作系统提供的接口,完成对底层硬件的操作。驱动程序的开发,是在操作系统提供的接口基础上编写对底层硬件的操作和控制程序,然后加入到操作系统的内核。用户对某一个设备的访问,首先是将用户的各种操作传递给操作系统,然后由操作系统调用设备的驱动程序,完成对硬件的各种数据传输,所以驱动程序必须要告诉操作系统该硬件的各种操作程序的入口地址。特别对于Linux下的驱动程序开发,经过调试通过的驱动程序可以编译为一个模块动态地装载入操作系统内核或者从操作系统内核中删除,因此驱动程序在Linux中是可以作为内核的一部分来编写。
对于用户程序开发,与通用PC上面开发应用程序类似。但是在嵌入式应用中,应用程序一般是作为文件系统的一部分加入到操作系统的内核,然后重新编译内核,最后生成一个可以执行的二进制压缩映像文件加载到系统的存储空间。加载的加入了用户应用程序的操作系统一般还必须固化,烧到系统的Flash中。在系统运行时,根据操作系统的INIT函数转到用户程序执行。
3 结 论
基于DSP的视频采集系统,由于可以灵活的修改其图像处理算法,它的应用主要面向用户的特定需求和对实时性有较高要求的场合。随着技术的发展和日益增强的需要,图像的实时传输和网络服务将是不可避免的,同时嵌入式系统是基于计算机技术且更加强调体积、功耗、成本、便携化应用等综合因素的精简计算机系统,将二者结合在一起而构成的完整传输系统将具有不可比拟的优越性。因此完全有理由相信在嵌入式系统的基础上构建视频图像采集、处理及传输系统具有广阔的市场前景。