当前位置:文档之家› 达芬奇技术的几个学习资料

达芬奇技术的几个学习资料


码,这一特性在编译如编解码器、服务器和引擎等可执行程序时尤为重要。
>XDC 的调用语法格式: XDC <target files> <XDCPATH> <XDCBUILDCFG>
target files: 指编译产生的目标文件。可以通过命令脚本来指定要产生哪些目标文
件;
XDCPTH:
编译时所要查找的目录;
2. DVTB 的安装和使用 数字视频测试平台(DVTB)是不用 C 代码而直接利用一些脚本语言来测试 DSP 端算法的工 具。在 DVSDK 安装后,会在 dvevm_#_#_#目录下有个 dvtb 的目录,就在此执行安装,然后 到 DSP 的可执行目录下去运行(DSP 的可执行目录下必须要有 cmemk.ko, dsplink.ko 等文 件),如/nfshost/mydemos. DVTB 的命令语法如下:<Command> <class> <options> 通过 DVTB 命令,可以控制 audio/vpbe/bpfe 等外设或各音视频编解码器,来完成一些 测试工作。具体安装过程和命令使用方法可以参考:\opt\dvevm_#_#_#\dvtb_#_#\目录下文 档。暂时还没有用到。
义了与平台有关的特性,包含如下几部分:DSP Target、Arm Target、Linux Host Target、 Build Targets、Pkg.attrs.Profile、Pkg.lib 等具体信息。通常都是基于 TI 提供的模板 对这三个配置文件做修改。
DAVINCI 开发原理之三----达芬奇编解码引擎 Codec Engine(CE)
>DM6446x SoC Analyzer(DSA): 这个软件是安装在 windows OS 上的,用来观测分析 DSP 端和 ARM 上运行中程序的负载、资源冲突以及性能瓶颈等,不是一定得要,我没有使用过, 好像是要另外付费的;
>DSP/BIOS for linux: DSP/BIOS 是一个可升级的实时 DSP 内核,linux 版本相对于 window 版本来说,不包含相应的图形分析工具;
DaVinci 是 DSP 和 ARM 双核 架构的 SOC 芯片 。对芯片与外界的交互通过 ARM 端的
Montavista Linux 和相关驱动与应用程序来管理,DSP 端只处理编解码相关的算法。DSP 和
ARM 之间的通讯和交互是通过引擎(Engine)和服务器(Server)来完成的。
1. 编解码引擎(Codec Engine)
>TI Codegen Tools for linux: 与 DSP 相关的一些编译、连接工具; >Framework Components: 主要是用来支持 DSP 端算法开发的一些模块,能够管理符合 xDAIS 标准的算法模块,分配内存和 DMA 资源。这些模块是被 CE 来使用的,但如果有必要 在 DSP 端程序也可以使用它们; >Digital Video Test Bench(DVTB): 这是一个在 ARM 端运行,基于脚本语言的测试 codec 的应用程ห้องสมุดไป่ตู้。用户不需要写任何 C 代码就可以处理 Linux I/O, codec API 以及一些 与线程有关的问题;
TI DAVINCI 开发原理(总共 5 部分)
DAVINCI 开发原理之一----ARM 端开发环境的建立(DVEVM)
1. 对 DAVINCI 平台,TI 在硬件上给予双核架构强有力的支撑,在 DSP 端用 DSP/BIOS 来支持音视频算法的运行,在 ARM 端用 MontaVista Linux(MV)来支持其对外设的管理。对 于 ARM 与 DSP 之间的数据交互,则用 Code Engine 和 Codec Server 来加以管理。
管硬件体系是只有 ARM 或是只有 DSP 或两者都有,也不管 OS 是 Linux、VxWorks、DSP/BIOS,
还是 WinCE,对算法的接口调用都是一致的。这点通过引擎的配置文件*.cfg 可以看出来,而
且通过配置文件可以决定自己的 codec 是运行在 ARM 端还是 DSP 端。
CE 包 括 核 心 引 擎 API 和 VISA API , 核 心 引 擎 API 相 关 接 口 模 块 为 : 初 始 化 模 块
2. 在 DAVINCI 的开发程序分为 codec 部分和应用程序部分。开发应用程序前,需要搭 建软硬件开发环境。硬件环境包括: DAVINCI 开发板 DVEVM(含 TMS320DM6446的 DSP 和 ARM 的双核芯片及丰富的外设)、CCD 摄像头、LCD 显示器、硬盘(如果不用 NFS 来映射文件系统, 则可通过本地的硬盘上的文件系统)、串口线。其次是与 DVEVM 配套的 ARM 端软件开发环境。 环境搭建好后,需要对 Linux 主机进行相关配置才能使用 DVEVM 开发板。对嵌入式系统开发 , 开发板上首先需要一个 bootloader 来初始化硬件,然后会通过 bootloader 的参数设置来启 动系统。如启动 bootloader 后,通过 tftp 来下载 MV Linux 内核镜像文件到内存运行内核, 然后通过 NFS 来启动 Linux 主机上的目标文件系统,并通过 DHCP 服务器来为开发板分配 IP 地址,这样就可以进行基于 IP 的网络视频应用开发。下面配置 ARM 端软件开发环境的各个 模块。
XDCBUILDCFG: 由"config.bld"文件指定,包含了与平台有关的编译指令。后面细说。
以上命令模式可能在参数过多是很复杂,通常把它写成 shell 脚本来运行。
>与 XDC 相关的三个配置文件: package.xdc: 主要包含与包 package 有关的信息:依赖信息、模块信息、版本信息。 由自己提供。 package.bld: 主要作用是定义一个包应该如何被编译。文件内容用 Javascript 来描述 。 其中包含目标平台集的定义[MVArm9,Linux86]、编译版本的定义[release]、确定源文件集、 生成的可执行文件信息等等。 这两个文件都是在 server 目录下,可见每个 codec 都有自己 的 package 信息描述文件,然后 XDC 根据再依之生成一个 package 包。 config.bld: 这个文件处在 codec_engine_##目录下,为各个 codec 所共有,它主要定
3. TFTP 服务器的配置: >检查 Linux 是否安装了 TFTP 服务 $ rpm -qa|grep tftp tftp-0.32-4 tftp-server-0.32-4 否则从 Linux 安装盘重新用 rpm 安装 tftp 相关模块,并打开 tftp 的服务。
4. 配置 NFS 服务器: NFS 是一种在网络上的机器间共享文件的方法,文件就如同位于客户的本地硬盘驱动器 上一样。可以将之看成是一种文件系统的格式,Red Hat Linux 既可以是 NFS 服务器也可以 是 NFS 客户,这意味着它可以把文件系统导出给其他系统,也可以挂载从其他机器上导入的 文件系统。DVEVM 的 NFS 主要用来把主机 Linux 上的 MV Linux 映射到 DVEVM 板上去,使得 DVEVM 在自身无文件系统的情形下,可以正常的执行各种任务。
DAVINCI 开发原理之二----DSP 端开发环境的建立(DVSDK)
在一中只是建立了 DVEVM 的开发环境,只能进行 ARM 端程序的开发,如果需要开发 DSP 端的算法就还需要安装使用 DVSDK,该软件包包括如下内容:
>Monta Vista Linux Profession Edition v4: 相 对 于 DVEVM 发 布 的 montavista linux demo 版本来说,这个完全专业版包含了 DevRocket IDE 和相关服务支持,要全面的 多;
>CCS: 运行在 windows OS 上的集成开发环境,用来开发基于 DSP 的应用程序和相关算 法;
有了以上 DVSDK 相关套件,就可以构建 DSP 端的相关开发组建,其中 Codec Engine Romote Server 运行在 DSP/BIOS 上,而在 RS 中封装了相关算法,在算法的封装中要用到一 些 xDAIS 的框架组件。DSP 和 GPP 之间的通讯由 DSP/BIOS Link 来完成。
a. 核心引擎 API
从应用来说,CE 就是用来调用 xDAIS 算法的一组 API 的集合,用户可以通过这些 API
来实例化和调用 xDAIS 算法。达芬奇提供了一组 VISA 接口,用于给应用程序与 xDM 兼容的
xDAIS 算法相交互。需要注意,不管算法是运行在本地(ARM 端),还是远端(DSP 端),也不
>一条连接 PC 与 DACINCI DVEVM 的 RS323的串口线; >跳线 J4应该被标识为"CS2 SELECT",并确认"FLASH"被选择; >使 S3的1和2设置为 OFF 准备好上述软硬环境后,即可以开始烧写了,烧写例程见附录 (U-boot example.rar), 烧写过程很简单,累死 emulation.
5. DHCP 服务器的配置: 配 Linux 主机和 DVEVM 的 IP。比较简单。
6. bootloader 的烧写: 是操作系统内核运行前运行的一段程序,通过这段程序来初始化硬件设备、建立内存空 间的映射表,从而将系统的软硬件环境初始化,以便为最终调用操作系统内核准备正确的环 境,烧写前准备如下软硬件设施: 软件部分:U-Boot image(即文件 u-boot.bin);文件 falshwriter.out;CCS 3.2或以 上版本 硬件部分:>连接到 DAVINCI DVEVM 的 JTAG 硬件仿真器;
相关主题