DSP

dm6446 开发流程

2019-07-13 18:34发布

一、开发步骤            DaVinci的软件开发通常需要四个步骤:                                      第一步:需要基于DSP利用CCS开发自己的音视频编解码算法,编译生成一个编解码算法的库文件*.lib(等同于Linux环境下的*.a64P,直接在Linux环境下修改文件后缀名即可)。由于需要确保算法可被Codec Engine使用和配置,所以要确保这些算法实现需要符合xDM(xDAIS(eXpress DSP Algorithm Interface Standard) for Digital Media)标准。         如果算法与XDM标准兼容,则可不经修改而直接被Codec EngineVISA API远程执行;如不兼容,则需为其提供Codec Engine的框架和终端接口。        第二步:生成一个在DSP上运行的可执行程序*.x64P(.out文件),也就是DSP Server        由于在双核环境中,Codec Engine是在DM6446中的DSP上执行,而操作系统是由DM6446中的ARM通过VISA API控制Codec Engine,所以必须先在远程的DSP生成一个Codec ServerCodec Server是后缀为.x64P的文件,是一个集成了编解码器、框架元件和系统代码的二进制库。        在达芬奇DM6446平台中,Codec Server包含了一个为相应客户端(ARM)生成编解码器、提供系统运行信息(包括指令和内存使用情况)DSPBIOS任务线程;客户端(ARM)的应用程序通过使用VISA API与在远程DSP上的编解码器联系。        第三步:通过配置工具做大量的关于引擎配置的工作,包括引擎的名字、每个引擎中包含什么编解码器、编解码器是本地执行还是远程执行等,如果这些编解码器在远程执行的,则还需配置相应的Codec Server。一般将所有的配置写到一个.cfg文件里面。       这个配置文件包含的内容有:Codec Engine运行的系统环境,包括xDC通用模块和客户端操作系统类型等;指明Codec Engine需要用到的编解码器模块;配置Codec Engine,指明Engine包含的内容。       第四步:应用工程师利用Coedc Engine的应用编程接口创建/删除配置好的引擎实例,进而创建/删除和控制编解码器。由于Codec Engine不参与任何的I/O操作,只是纯粹的视频编解码算法处理,因此应用工程师需要管理I/O,包括文件操作(文件的打开、读写与存储等)和外设操作(外设的打开、关闭与控制等)       应用工程师负责编写应用代码并将合适的内容加到最终的可执行文件中去。应用工程师可使用以下资源:从算法开发工程师得到的大量的编解码器软件包;从服务集成工程师得到一个可以在DSP上运行的Codec Server二进制文件,一般为.x64P文件;从引擎集成工程师得到一个引擎配置文件,一般为.cfg文件。应用工程师编写应用代码,并结合这些资源再链接、编译生成最终的可执行代码。