IPNC 架构学习
术语与简称:
本文基于#define DM365_APP_VERSION "DM365 IPNC REF DESIGN VERSION
2.60.00"
1. IPNC 的软件架构
图一
During system boot up, the following four major resident processes are activated:
_ AV_Server
_ System server
_ RTP streaming server
_ HTTP server
AV_Server process is responsible for:
Capturing video and audio data from image sensor and audio device
Encoding audio and video data
Managing and storing encoded data in the circular buffer and cache buffer
Sending audio or video bit-stream response requested by other application
System server process responsible for:
Storing and restoring system parameter
Saving or uploading video files to ftp servers or local disk depending on the
alarm or schedule events
Controlling the system devices (RTC, USB)
HTTP server and RTP streaming servers are responsible for:
Sending response of the video, audio, or system requested from internet
Processes use POSIX msgsnd and msgrcv to communicate with each other
Passing parameters by POSIX share memory or CMEM device driver
Circular buffers, cache pools and message queues in shared memory are used for
inter-process communication.
1.源码目录结构
2.内存分析
IPNC 中的内存被分为两种,被 linux 系统使用的内存和 CMEM 内核模块的内存:
Linux 系统内存大小通过设置 u-boot 的参数设置
剩下的由 cmem 使用,circular buffer and cache pool is defined in
av_capture\application\ipnc\multimedia\av_server\src\stream\mem_mng.h
file.
PS:For more information about CMEM, refer Linuxutils_RefMan.pdf file provided in the
DVSDK package.
2. 启动分析
1. DM368 的启动
参照 DM368 NAND Flash 启动揭秘
http://wenku.baidu.com/view/779ffaca0508763231121229.html