Netra(DM8168)处理器是个多核处理器,每个核之间相互独立却又相互关联,如何高效简洁地利用每个核完成一套系统功能是非常关键的,RDK 这套软件平台就是针对这种多核平台设计的一套多通道视频应用方案,主要用于 DVR、NVR、IPNC 之类的产品。
McASP即multichannel audio serial port,是通用音频接口,支持TDM(Time-Division Multiplexed stream)协议、I2S协议等。McASP可以非常灵活的与S/PDIF (Sony/Philips Digital Interface)等接口连接。McASP的数据线可以灵活的配置成输入或者输出,同步模式则根据具体接口设计来决定,可以配置成主模式(由内部生成帧同步、字同步、位同步)或者从模式(由外部提供帧同步、字同步、位同步)。
HDVPSS模块即High-Definition Video Process Sub System,主要用于视频的capture、deinterlacing、scaler、up/down sample、graphics、display等,由Media Controller Dula ARM Cortex-M3系统中的VPSS-M3控制。软件工程师在做程序的时候需要注意各个模块支持数据的输入格式和输出格式(另外需要注意的是:TI提供的RDK中限定了display controller的矩阵连接,如果希望灵活使用这个矩阵连接,需要自行拆分,关于该部分内容请参考HDVPSS_UserGuide.pdf中Display Controller Driver中Macro Mapping)。HDVPSS整体硬件框架如下图所示,注意数据格式。
Yocto Project为我们提供了简单高效的嵌入式Linux基础镜像包管理系统,它默认采用分层结构来组织所有的软件包。而Linux Kernel作为其基础包之一,学会了如何对kernel打patch,那么就可以举一反三的修改自己的定制镜像。下面将分步介绍在Yocto Project中如何向linux内核源代码打patch。其中一个原则是不修改Yocto目前已有的层。因此我们需要创建一个层来实现对Linux Kernel打patch的工作,这样即使Yocto Linux Kernel在以后的版本中出现变更也不会影响到我们自己创建的层。
Davinci 的异构多核间通信基础组件 SysLink 2.0 部分模块由于没有用过,也没看到 SysLink 包中提供例子,所以只是简略介绍。文中给出的 API 并不会给出相关解释,请参考SysLink API Reference Documentation
以下内容译自 DM81xx DVR_RDK Memory Map.pdf 文件。