|
前面已经为大家介绍了嵌入式视频监控系统的设计,现在由卓跃教育继续为您介绍嵌入式视频监控系统的实现。 嵌入式视频服务器软件的设计与实现 uCLinux具有精巧、高效的内核,完整的网络功能和良好的可裁剪性,它内置的TCP/IP协议找、良好的开放性和可扩展性以及高效的任务管理,能够满足数字视频服务器的要求。 本视频服务器采用了uCLinux作为嵌入式操作系统,移植BLOB作为系统引导模块,移植ez-ipupdate实现动态域名解析,使用在系统内核态下编写的driver实现视频数据的获取,使用在系统用户态下编写的应用服务程序iplay实现组帧、发送以及与用户交互等功能。 系统引导模块 系统引导模块LOADER移植自BLOB(BootLoaderOBject)项目,它是LART项目的系统引导模块。移植的BLOB的发行版是BLOB-2.0.5-pre2,编译器使用arm-linux-toolchain。由于视频服务器上的硬件环境与处理器SAMAUNG的S3C2500B的软件开发包SMDK2500中的配置有所不同,因此对BLOB中的源代码在移植过程中作出了修改。以下是对BLOB程序做出的具体修改。 (1)串口参数代码修改 由于视频服务器上的串口时钟源和SMDK2500不一样,因此对文件“/src/lib/serial-s3c2500.c”做出修改。 (2)修改BLOB程序中各块在内存中的分布。 因为BLOB中的各部分内存分配和SMDK2500不一样,因此需要修改内存分配的预定义。修改文件是“include/BLOB/arch/smdk2500.h”。 (3)增加对网卡支持 由于BLOB只支持一个网口,且只能在编译前指定使用使用WAN还是LAN,故首先在编译配置时添加:enable-network,这个指定修改在文件“/src/BLOB/smdk2500.c”中。为了在网络中避免地址冲突,需要为本机网卡设置唯一的MAC地址。这个修改在文件“src/lib/ether.c”中。 (4)修改启动延时 针对本系统的启动延时,修改文件“src/BLOB/main.c”中的原设置时间。 系统采用嵌入式系统uCLinux设计和实现视频监控,和一般系统比,具有体积轻巧,安装方便和使用灵活的优点。
|
|