软件设计
发布时间:2012/4/13 20:03:27 访问次数:981
常见的嵌入式系统的软件部分都是由设备74LVC08APW驱动层、操作系统、应用程序构成的。
驱动层直接与硬件设备打交道,完成对摄像机等外设的初始化,各种设备的操作、打开和关闭等功能。设备驱动层中的Boot Loader是在操作系统运行之前执行的一段小程序。BootLoader运行后可以初始化硬件设备、建立内存空间映射表,从而建立好系统的软硬件环境,为最终引导操作系统做好准备。由于Boot Loader是基于特定硬件平台来实现的,而嵌入式系统的硬件平台多种多样,因此几乎不可能为所有的嵌入式系统建立一个类似于PC BIOS的通用Boot Loader。但是大部分的Boot Loader仍然具有很多的共性,某些Boot Loader也能够支持多种体系结构的嵌入式系统。例如,著名的U-Boot就同时支持ARM、ⅣnPs、X86等体系结构。视频传感器节点中使用的Boot Loader是茌芯片厂家提供的Boot Loader的基础上进行修改而来的,去掉了不需要的功能,力求系统最大程度的精简性。众多的嵌入式操作系统都以内核或模块的形式提供对硬件的驱动。在选定操作系统后可根据实际情况,通过移植或者自主开发实现对硬件的驱动。
视频节点中操作系统是必需的,所需要的操作系统应该满足如下几点要求。
①内核必须尽可能的小。
②要有完整的网络功能。
③高实时性的任务调度,支持多任务,在可靠性、响应时间、吞吐量等方面要有较好的性能。
目前常见的嵌入式操作系统有VxWorks、Windows CE等,这些都属于商用操作系统,虽然有强大的功能,但是价格昂贵,并且开放程度不够高。除了上述操作系统之外,还有一种开源的嵌入式操作系统——嵌入式Linux,嵌入式是由桌面Linux发展而来,目前已经成为一个稳定、成熟的嵌入式操作系统。而且Linux的开发都是在GPL (GNU Public License)的控制之下,Linux的所有源代码都是开放的。我们所选用的SOC也提供了对Linux完善的支持,因此,在视频传感器节点中采用了嵌入式Linux操作系统作为视频节点的软件平台。
CMOS图像传感器由于其低功耗,高集成度等特性使其成为无线多媒体传感器网络视频节点的首选。可以根据被监测对象的特点选择相应分辨率、帧速的CMOS传感器。
视频传感器节点所采用的SOC集成了CSI接口,使得它与CMOS传感器的连接变得非常容易。该CSI接口支持CCIR656格式的视频,支持8位宽的YCC、YUV、Bayer、RGB数据输入。数据送入CSI经过缓冲处理后可通过DMA送给CPU或者由专用总线送给eMMA( enhanced Multimedia Accelerator)模块中的PrP (Pre-Processor),在PrP中由硬件进行诸如色彩空间的变换和放大缩小的预处理操作,处理完后数据送入存储器。
在Linux操作系统环境下使用CMOS传感器采集视频必需首先编写或者移植Linux平台下CMOS传感器的驱动程序。视频传感器节点所使用的CMOS传感器已经被Linux操作泵统自带的驱动程序库所支持,所以不用再考虑驱动程序的问题,只需在编译内核时添加相应的选项就可以了。
Linux对于视频采集设备的支持,是通过Video for Linux实现的,现在Video for Linux已经升级到Video for Linux 2(V4L2)。在Videofor Linux2环境下的视频采集是通过Vide04Linux2Capture API来实现的。
驱动层直接与硬件设备打交道,完成对摄像机等外设的初始化,各种设备的操作、打开和关闭等功能。设备驱动层中的Boot Loader是在操作系统运行之前执行的一段小程序。BootLoader运行后可以初始化硬件设备、建立内存空间映射表,从而建立好系统的软硬件环境,为最终引导操作系统做好准备。由于Boot Loader是基于特定硬件平台来实现的,而嵌入式系统的硬件平台多种多样,因此几乎不可能为所有的嵌入式系统建立一个类似于PC BIOS的通用Boot Loader。但是大部分的Boot Loader仍然具有很多的共性,某些Boot Loader也能够支持多种体系结构的嵌入式系统。例如,著名的U-Boot就同时支持ARM、ⅣnPs、X86等体系结构。视频传感器节点中使用的Boot Loader是茌芯片厂家提供的Boot Loader的基础上进行修改而来的,去掉了不需要的功能,力求系统最大程度的精简性。众多的嵌入式操作系统都以内核或模块的形式提供对硬件的驱动。在选定操作系统后可根据实际情况,通过移植或者自主开发实现对硬件的驱动。
视频节点中操作系统是必需的,所需要的操作系统应该满足如下几点要求。
①内核必须尽可能的小。
②要有完整的网络功能。
③高实时性的任务调度,支持多任务,在可靠性、响应时间、吞吐量等方面要有较好的性能。
目前常见的嵌入式操作系统有VxWorks、Windows CE等,这些都属于商用操作系统,虽然有强大的功能,但是价格昂贵,并且开放程度不够高。除了上述操作系统之外,还有一种开源的嵌入式操作系统——嵌入式Linux,嵌入式是由桌面Linux发展而来,目前已经成为一个稳定、成熟的嵌入式操作系统。而且Linux的开发都是在GPL (GNU Public License)的控制之下,Linux的所有源代码都是开放的。我们所选用的SOC也提供了对Linux完善的支持,因此,在视频传感器节点中采用了嵌入式Linux操作系统作为视频节点的软件平台。
CMOS图像传感器由于其低功耗,高集成度等特性使其成为无线多媒体传感器网络视频节点的首选。可以根据被监测对象的特点选择相应分辨率、帧速的CMOS传感器。
视频传感器节点所采用的SOC集成了CSI接口,使得它与CMOS传感器的连接变得非常容易。该CSI接口支持CCIR656格式的视频,支持8位宽的YCC、YUV、Bayer、RGB数据输入。数据送入CSI经过缓冲处理后可通过DMA送给CPU或者由专用总线送给eMMA( enhanced Multimedia Accelerator)模块中的PrP (Pre-Processor),在PrP中由硬件进行诸如色彩空间的变换和放大缩小的预处理操作,处理完后数据送入存储器。
在Linux操作系统环境下使用CMOS传感器采集视频必需首先编写或者移植Linux平台下CMOS传感器的驱动程序。视频传感器节点所使用的CMOS传感器已经被Linux操作泵统自带的驱动程序库所支持,所以不用再考虑驱动程序的问题,只需在编译内核时添加相应的选项就可以了。
Linux对于视频采集设备的支持,是通过Video for Linux实现的,现在Video for Linux已经升级到Video for Linux 2(V4L2)。在Videofor Linux2环境下的视频采集是通过Vide04Linux2Capture API来实现的。
常见的嵌入式系统的软件部分都是由设备74LVC08APW驱动层、操作系统、应用程序构成的。
驱动层直接与硬件设备打交道,完成对摄像机等外设的初始化,各种设备的操作、打开和关闭等功能。设备驱动层中的Boot Loader是在操作系统运行之前执行的一段小程序。BootLoader运行后可以初始化硬件设备、建立内存空间映射表,从而建立好系统的软硬件环境,为最终引导操作系统做好准备。由于Boot Loader是基于特定硬件平台来实现的,而嵌入式系统的硬件平台多种多样,因此几乎不可能为所有的嵌入式系统建立一个类似于PC BIOS的通用Boot Loader。但是大部分的Boot Loader仍然具有很多的共性,某些Boot Loader也能够支持多种体系结构的嵌入式系统。例如,著名的U-Boot就同时支持ARM、ⅣnPs、X86等体系结构。视频传感器节点中使用的Boot Loader是茌芯片厂家提供的Boot Loader的基础上进行修改而来的,去掉了不需要的功能,力求系统最大程度的精简性。众多的嵌入式操作系统都以内核或模块的形式提供对硬件的驱动。在选定操作系统后可根据实际情况,通过移植或者自主开发实现对硬件的驱动。
视频节点中操作系统是必需的,所需要的操作系统应该满足如下几点要求。
①内核必须尽可能的小。
②要有完整的网络功能。
③高实时性的任务调度,支持多任务,在可靠性、响应时间、吞吐量等方面要有较好的性能。
目前常见的嵌入式操作系统有VxWorks、Windows CE等,这些都属于商用操作系统,虽然有强大的功能,但是价格昂贵,并且开放程度不够高。除了上述操作系统之外,还有一种开源的嵌入式操作系统——嵌入式Linux,嵌入式是由桌面Linux发展而来,目前已经成为一个稳定、成熟的嵌入式操作系统。而且Linux的开发都是在GPL (GNU Public License)的控制之下,Linux的所有源代码都是开放的。我们所选用的SOC也提供了对Linux完善的支持,因此,在视频传感器节点中采用了嵌入式Linux操作系统作为视频节点的软件平台。
CMOS图像传感器由于其低功耗,高集成度等特性使其成为无线多媒体传感器网络视频节点的首选。可以根据被监测对象的特点选择相应分辨率、帧速的CMOS传感器。
视频传感器节点所采用的SOC集成了CSI接口,使得它与CMOS传感器的连接变得非常容易。该CSI接口支持CCIR656格式的视频,支持8位宽的YCC、YUV、Bayer、RGB数据输入。数据送入CSI经过缓冲处理后可通过DMA送给CPU或者由专用总线送给eMMA( enhanced Multimedia Accelerator)模块中的PrP (Pre-Processor),在PrP中由硬件进行诸如色彩空间的变换和放大缩小的预处理操作,处理完后数据送入存储器。
在Linux操作系统环境下使用CMOS传感器采集视频必需首先编写或者移植Linux平台下CMOS传感器的驱动程序。视频传感器节点所使用的CMOS传感器已经被Linux操作泵统自带的驱动程序库所支持,所以不用再考虑驱动程序的问题,只需在编译内核时添加相应的选项就可以了。
Linux对于视频采集设备的支持,是通过Video for Linux实现的,现在Video for Linux已经升级到Video for Linux 2(V4L2)。在Videofor Linux2环境下的视频采集是通过Vide04Linux2Capture API来实现的。
驱动层直接与硬件设备打交道,完成对摄像机等外设的初始化,各种设备的操作、打开和关闭等功能。设备驱动层中的Boot Loader是在操作系统运行之前执行的一段小程序。BootLoader运行后可以初始化硬件设备、建立内存空间映射表,从而建立好系统的软硬件环境,为最终引导操作系统做好准备。由于Boot Loader是基于特定硬件平台来实现的,而嵌入式系统的硬件平台多种多样,因此几乎不可能为所有的嵌入式系统建立一个类似于PC BIOS的通用Boot Loader。但是大部分的Boot Loader仍然具有很多的共性,某些Boot Loader也能够支持多种体系结构的嵌入式系统。例如,著名的U-Boot就同时支持ARM、ⅣnPs、X86等体系结构。视频传感器节点中使用的Boot Loader是茌芯片厂家提供的Boot Loader的基础上进行修改而来的,去掉了不需要的功能,力求系统最大程度的精简性。众多的嵌入式操作系统都以内核或模块的形式提供对硬件的驱动。在选定操作系统后可根据实际情况,通过移植或者自主开发实现对硬件的驱动。
视频节点中操作系统是必需的,所需要的操作系统应该满足如下几点要求。
①内核必须尽可能的小。
②要有完整的网络功能。
③高实时性的任务调度,支持多任务,在可靠性、响应时间、吞吐量等方面要有较好的性能。
目前常见的嵌入式操作系统有VxWorks、Windows CE等,这些都属于商用操作系统,虽然有强大的功能,但是价格昂贵,并且开放程度不够高。除了上述操作系统之外,还有一种开源的嵌入式操作系统——嵌入式Linux,嵌入式是由桌面Linux发展而来,目前已经成为一个稳定、成熟的嵌入式操作系统。而且Linux的开发都是在GPL (GNU Public License)的控制之下,Linux的所有源代码都是开放的。我们所选用的SOC也提供了对Linux完善的支持,因此,在视频传感器节点中采用了嵌入式Linux操作系统作为视频节点的软件平台。
CMOS图像传感器由于其低功耗,高集成度等特性使其成为无线多媒体传感器网络视频节点的首选。可以根据被监测对象的特点选择相应分辨率、帧速的CMOS传感器。
视频传感器节点所采用的SOC集成了CSI接口,使得它与CMOS传感器的连接变得非常容易。该CSI接口支持CCIR656格式的视频,支持8位宽的YCC、YUV、Bayer、RGB数据输入。数据送入CSI经过缓冲处理后可通过DMA送给CPU或者由专用总线送给eMMA( enhanced Multimedia Accelerator)模块中的PrP (Pre-Processor),在PrP中由硬件进行诸如色彩空间的变换和放大缩小的预处理操作,处理完后数据送入存储器。
在Linux操作系统环境下使用CMOS传感器采集视频必需首先编写或者移植Linux平台下CMOS传感器的驱动程序。视频传感器节点所使用的CMOS传感器已经被Linux操作泵统自带的驱动程序库所支持,所以不用再考虑驱动程序的问题,只需在编译内核时添加相应的选项就可以了。
Linux对于视频采集设备的支持,是通过Video for Linux实现的,现在Video for Linux已经升级到Video for Linux 2(V4L2)。在Videofor Linux2环境下的视频采集是通过Vide04Linux2Capture API来实现的。
上一篇:硬件设计
上一篇:V4L2的视频采集驱动
热门点击