DVRRDK的系统开发

来源:互联网 发布:知识付费行业数据 编辑:程序博客网 时间:2024/06/05 00:42

DVRRDK的系统开发

 

一、系统环境的搭建

1、修改官方的shell文件mksdboot.sh,文件系统816x-dvr-rdk-rootfs-1.0.tar.gz在官网下载,制作SD启动卡。

2、安装DVRRDK开发库DVRRDK_04.01.00.02,如下图所示。

 

3、在路径/home/***/dvrrdk/DVRRDK_04.01.00.02/dvr_rdk下,执行指令

make -s sys_all

以完成整个开发库的全编译。

4、这里重点要修改几个地方,

1)由于我们使用的是DM8168的TI_EVM 板,因此我们必须在路径/home/***/dvrrdk/DVRRDK_04.01.00.02/dvr_rdk下,修改Rules.make文件,

 

 

 

2)在路径

/home/***/dvrrdk/DVRRDK_04.01.00.02/dvr_rdk/mcfw/src_bios6/cfg/ti816x下面修改config_1G_256MLinux.bld文件,(1G代表系统的DDR为1G,256M代表mem为256M),具体修改如下图所示,DSP的代码段与数据段都多添加2MB,那么SR1必须缩小4MB,才可使得整体大小为256MB。

 

 

5、完成上述修改后,同样在路径/home/***/dvrrdk/DVRRDK_04.01.00.02/dvr_rdk下,执行命令: make -s sys_all ,至此,系统才算搭建完毕。

二、    系统软件开发流程(基于MCFW软件架构)

1、参考路径/home/***/dvrrdk/DVRRDK_04.01.00.02/dvr_rdk/docs/Trainings下文件DVR_RDK_McFW_Link_API_Training.pdf,熟悉MCFW的link配置。下图是多核的软件框图。

采集、编解码、显示的软件流程图

 

 

Link机制

 

 

Link类型

 

 

2、开发方法

1)在DVRRDK的官方demo里面修改代码后,

Linux 端(A8)编译命令:
make -s dvr_rdk_linux
在文件夹
DVRRDK_04.01.00.02/dvr_rdk/bin/ti816x/bin/
生成
dvr_rdk_demo_mcfw_api.out
Bios6 端(DSP)编译命令:
make -s dvr_rdk_bios6
在文件夹
DVRRDK_04.01.00.02/dvr_rdk/bin/ti816x/firmware/
生成
dvr_rdk_fw_c6xdsp_1024M_256M.xe674
dvr_rdk_fw_m3video_1024M_256M.xem3
dvr_rdk_fw_m3vpss_1024M_256M.xem3

 

2)将所有代码写到同一个文件下面,编写makefile以及Rules.make(规则文件),

 

3)具体代码分析 cap_enc_save_dsp_dis

该代码实现了在MCFW框架下采集、编码、 DSP 灰度处理、显示及文件保存的功能。主要使用到了ARM( Cortex-A8)、M3 VPSS、M3 VIDEO以及DSP四个核。除了生成运行于 ARM( Cortex-A8)Linux 的可执行程序外,还要编译出新的DSP固件,用来加载运行。该代码的MCFW架构如下图所示。

 

 

编译

将源码例程拷贝到 Ubuntu下,进入src目录。修改 makefile 中的

DVR_RDK_ROOT_PATH 和 NFS_PATH。其中
DVR_RDK_ROOT_PATH 为DVRRDK_04.01.00.02安装路径,
NFS_PATH 为编译产生的目标文件的路径。

编译完成后,在DSP和Host目录下会生成build目录,包含编译过程的中间文件,以及目标可执行文件。修改完成后执行make即可:
Host#  make clean //注意要清除一下
Host#  make

 

生成如下文件

 

 

生成的dvr_rdk_fw_c6xdsp_1024M_256M.xe674覆盖

/opt/dvr_rdk/ti816x/firmware中dvr_rdk_fw_c6xdsp_1024M_256M.xe674文件,

在开发板系统上初始化:
Target#  cd  /opt/dvr_rdk/ti816x

 


Target#  ./init.sh
Target#  ./load.sh

Target#  ./bin/cap_enc_save_dsp_dis.out

 

即可运行系统。效果图如下。