请教下论坛上的各位,有谁做8127dsp端算法时移植c++文件时是怎么处理的?
在看ti上的设计时,其中va用在dsp端算法是编译成了ae674库调用的,这个库我知道是在ccs上编译的,但网上没有找到是如何做的,比如我们要想将之前做好的lib库编译成可用的ae674,谁能给一些提示?
各位大拿帮帮忙啊~
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
请教下论坛上的各位,有谁做8127dsp端算法时移植c++文件时是怎么处理的?
在看ti上的设计时,其中va用在dsp端算法是编译成了ae674库调用的,这个库我知道是在ccs上编译的,但网上没有找到是如何做的,比如我们要想将之前做好的lib库编译成可用的ae674,谁能给一些提示?
各位大拿帮帮忙啊~
kooking 说:dsp编译器支持C++文件,但 rdk环境还不支持C++。比较相对好点的一个方法是将算法在ccs下编译成库文件,在rdk中调用库文件
谢谢您的回答,现在我的算法比较多,是想用ccs编译成库的,但之前没有用过ccs,不知道如何用其编译成ae674的库文件,下载了最新的ccs,关于相关的usegudie也没有找到,不知道您有没有这相关的帮助?非常期待您的回答啊
帮忙顶。。。
这个问题我很久以前就问过,没人回答。
对于C++算法,个人认为最好能改成C实现的。
kunlong tian 说:不知道您能否给予一些ccs下制作ae674库文件的帮助,因为ccs之前没怎么用过的
这些应该对你有些帮助~
http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/280699.aspx
http://processors.wiki.ti.com/index.php/Code_Composer_Studio_v5_Users_Guide
kooking 说:不知道您能否给予一些ccs下制作ae674库文件的帮助,因为ccs之前没怎么用过的
这些应该对你有些帮助~
http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/280699.aspx
http://processors.wiki.ti.com/index.php/Code_Composer_Studio_v5_Users_Guide
[/quote]非常感谢,我好好看看这些
hi,kunlong tian
请问你生成自己的ae674库了吗?
如何让这个库的内存配置和RDK保持一致?
牛人kooking也帮忙指点
内存配置实际是根据你代码各个段占用大小来配置的。你可以参考http://blog.csdn.net/crushonme/article/details/14517109这篇译文来了解下内存配置。
实际配置是可以适当减小相关部分的大小,增加dsp对应段的大小来改变内存配置。
譬如:
/* first 512MB */
LINUX_SIZE = 128*MB;
SR1_SIZE = 328*MB;
SR3_INTRADUCATI_IPC_SIZE = 124*KB;
VIDEO_M3_CODE_SIZE = 2*MB + 512*KB;
VIDEO_M3_BSS_SIZE = 11*MB + 512*KB;
VIDEO_M3_DATA_SIZE = 2*MB + 512*KB;
DSS_M3_CODE_SIZE = 1*MB + 512*KB;
DSS_M3_BSS_SIZE = 16*MB + 512*KB;
DSS_M3_DATA_SIZE = 5*MB + 512*KB;
DSP_CODE_SIZE = 1*MB;
DSP_DATA_SIZE = 14*MB + 900*KB;
/* second 512MB */
/* Tiler Buffers in the bottom 512MB */
TILER_SIZE = 196*MB; /* (128+128) - MUST be aligned on 128MB boundary */
GRPX_BUFFER_SIZE = 64*MB
SR2_FRAME_BUFFER_SIZE = 234*MB + 32*MB - 256*KB - 64*MB;
SR0_SIZE = 15*MB;
VIDEO_M3_EXCEPTION_CTX_SIZE = 128*KB;
VPSS_M3_EXCEPTION_CTX_SIZE = 128*KB;
HDVPSS_DESC_SIZE = 2*MB;
HDVPSS_SHARED_SIZE = 2*MB;
NOTIFY_SHARED_SIZE = 2*MB;
REMOTE_DEBUG_SIZE = 1*MB;
上述配置中,你可以适当减少SR1_SIZE的大小,增加DSP的code段 data段。
谢谢 Robin Edson
可能是我没描述清楚。我使用源码的形式集成到RDK中,通过link调用,很流畅。
库我也生成了,但是结果跟源码形式比起来,不太正常,结果不对,而且过一段时间就飞了。
我的问题:
是不是我生成这个ae674文件的方法不对?
上述内存配置如何体现在这个库文件里边,使得RDK和库对内存的配置、使用一致?
或者换句话说,我的库如何引用RDK这些内存配置脚本?
如你所见,上述帖子我也参与讨论了,对方回答也很热情,但是我的疑问还是没有解答。
库中需要引用RDK的内存配置脚本吗?如果是的话,那TI生成的库如果我们改了内存配置那是不是没法用了呢?
个人认为问题在于你的库,而不是内存配置。如果是内存配置的话,编译的时候就会提示。请仔细看看上面给的链接,了解下库是怎么生成的。
kunlong兄:
请问:你生成ae674库的算法内部使用到动态内存分配了吗?(不是在算法外部分配传入给算法)。