您的位置:首页 > 其它

DM8168中程序启动分析及如何加载自己的库与程序

2014-03-06 20:39 405 查看

软件环境:本文基于dm81xx DVR RDK Release-03.00.00.00

硬件环境:ETV-HDV8168-HDMI

背景:

前一篇文章介绍 :

DM8168在DVRRDK集成新的DSP算法(改正官方文档中误)/article/1855905.html


其中算法编译完成后会生成一些库,以及.out文件,我将.out文件直接运行的时候发现并没按预期的执行输出结果,查看代码没有发现异常,因此从程序加载执行的层面去看程序执行所需的组件。本文介绍程序加载的过程。(linux启动加载不在此文范围内)


默认的运行demo的脚本位于/home/root/demo.sh追踪此脚本的执行顺序:

脚本执行顺序如下图:



结论:

在上图中可见dvr_rdk_demo_link_api.out执行前还需要晕fw_load.out将相应核的库(执行文件)加载进系统。

因此仅执行dvr_rdk_demo_link_api.out是不够的。

执行用户程序的方案:

我们这边采用nfs挂载的方式执行自己的程序,大部分的库以及驱动都已经烧写到nand中,如何在不更改nand中数据的前提下,运行自己的程序呢。
为此,将脚本做一些更改:
用户目录如下



demo.sh如下:

#!/bin/sh

#set your demo dir,here my is /mnt/test

cd /mnt/test

chmod +x *.out

chmod +x *.sh

chmod +x ./scripts/*.sh

chmod +x ./firmware/*.out

#cp -rf firmware/dvr_rdk_fw_*/home/root/opt/dvr_rdk/ti816x/firmware

cd /home/root/opt/dvr_rdk/ti816x

./init.sh

cd -

./load.sh

#run your software

cd /mnt/test

./dvr_rdk_demo_link_api.out 720P30 RTSPH264 8000 VBR HIG

将load.sh做如下修改,以让/load_XXX.sh加载m3及DSP核可执行程序时加载用户目录(这里为/mnt/test/firmware)下的程序:

cd /home/root/opt/dvr_rdk/ti816x

./env.sh

#return to my folder

cd -

cd ./scripts/

./load_vpss.sh

./load_video.sh

./load_c6xdsp.sh

#wait for the completion of load

sleep 8

#cd to system folder

cd /home/root/opt/dvr_rdk/ti816x/scripts

./osa_kermod_load.sh



./wait_cmd.sh s m3vpss ${REMOTE_DEBUG_ADDR}

./wait_cmd.sh s m3video${REMOTE_DEBUG_ADDR}

./wait_cmd.sh s c6xdsp ${REMOTE_DEBUG_ADDR}



cd /home/root/opt/dvr_rdk/ti816x/



# load module fb

insmod ./kermod/vpss.ko i2c_mode=1sbufaddr=${HDVPSS_SHARED_MEM}

insmod ./kermod/ti81xxfb.kovram=0:8M,1:8M,2:4M

insmod ./kermod/ti81xxhdmi.ko



sleep 1



#

# enable range compression in HDMI 0..255to 16..235.

# This is needed for consumer HDTVs

#

./bin/mem_rdwr.out --wr 0x46c00524 2

#

# enable range compression in HDMI 0..255to 16..235.

# This is needed for consumer HDTVs

#

./bin/mem_rdwr.out --wr 0x46c00524 2

转载请注明:http://blog.csdn.net/guo8113/article/details/20648251
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: