4系统软件设计
整个Linux系统由四部分组成:引导加载程序(BootLoader)、Linux内核(Kernel)、文件系统(filesystem)以及用户空间(user)。四者分别被存储在NandFlash的四个分区模块中。本文中采用的是较节省空间的CRAMFS只读文件系统,而Bootloader以及内核Kernel等在移植完成后可不需动态改变,user用户空间则用来存放一些可以动态更新的配置文件,需要进行多次的读写操作,故可以使用支持动态擦写保存的JFFS2文件系统。由于Linux系统移植技术已经很成熟,本文中不再细述,下文主要介绍MPEG-4压缩编码和CGI模块的程序设计。
4.1MPEG-4压缩编码程序设计
整个压缩编码模块完成了MPG440和TVP5150相关寄存器的配置,保证了MPEG-4数据流的正常输出。系统启动后,首先配置MPG440的寄存器,初始化完成后,通过I2C总线对TVP5150进行初始化配置。在压缩编码过程中,MPEG-4数据流接收存储程序由MPG440的数据流缓冲器标志信号来进行控制。当缓冲器满时,RISC_INT0置低,主控制器通过DMA通道把从MPG440的HPI接口接收过来的码流通过网络通道传输到PC端。其压缩编码模块程序流程图如图(5)所示。

点击此处查看全部新闻图片