专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
DSP
Davinci DM6446开发攻略——DSP开发工程建立
2019-07-13 09:50
发布
生成海报
站内文章
/
DSP
12771
0
1448
转载自
http://zjbintsystem.blog.51cto.com/964211/304631
DAVINCI DSP
的开发环境分两部分来讲,一是单核DSP
运行的环境,二是和ARM
建立相互通信DSP SERVER
机制。本片先从简单的单核DSP
运行环境说起,因为这个是基础的必须的东西,同时适合DM643X
、DM644X
平台。说到DSP
的开发环境,当然离不开CCS
,仿真器安装调试等步骤,这些很多网友都发表过不错的文章。本人重点介绍DM6446
的DSP
开发环境。
一、CCS
安装介绍
目前CCS4.0
已经出来,网上有篇文章《CCS V4
+SEED
仿真器基本操作指南.pdf
》的介绍,大家可以了解一下,功能比CCS3.3
强大多了,而且配置也比较简单。但鉴于国内主流开发DAVINCI
的CCS
版本是3.3
,所以在这里具体介绍一下。
购买合众达仿真器或闻亭仿真器,都会提供TI CCS3.3
,网上也有下载,安装之前,建议把各种杀毒软件先关闭掉,然后运行文件包里的setup.exe
,会提示你的安装路径选择和平台选择界面,见下图:
如果不是开发OMAP
芯片、C2000
、C5000
平台芯片,这些可以参考上图,把他们
“X
”
掉,这样CCS
安装就更省空间。TMS470
和C6000
平台一定要选,TMS470
包括ARM9
的驱动和配置,C6000
包括C64
、C64+
、C67
。然后点击“Next
”,按提示安装下去。
二、
仿真器驱动安装介绍
选用仿真器,一般就是合众达SEED
和闻亭了,开发DAVINCI
平台,都必须用到560
型仿真器,510
是不行的,不知道TI
当时是怎么想的,仿真器如此贵,也不便于DAVINCI
平台的推广。三年前PCI 560
(8000
多)
和USB 560
(上万元)都非常贵,后来推出560 PLUS
一般都要4000
左右。购买两家公司的仿真器都会提供安装光盘,里边有详细的安装介绍,这里不累赘。
三、
建立DSP BIOS
例子工程
1、
配置CCS
CCS
安装和仿真器驱动(本人买的是SEED 560PLUS
)结束后,双击桌面Setup CCStudio v3.3
,进入配置界面,见下图
主要选择C64+
平台,xds560
,开发DM6437
,就选择C6455 XDS560
这一项,如果开发开发DM6446
,就选择DM6446 XDS560
这一项,然后点击下面“Add
”,这样在配置My System
左边出现平台信息。
右键点击“ARM9_0
”,选择“属性properties
”,进入,在GEL file
输入dm644x_dvevm_arm.gel
,
接着,点击“C6400PLUS_0
”,选择“属性properties
”,在GEL file
输入dm644x_dvevm_dsp.gel
。一般买开发板都会提供相应的GEL
文件,最后点击左下边“Save&Quit
”,保存设置。
为了验证CCS
安装、仿真器安装和配置是否正确,首先插好仿真器JTAG
,如果板子有程序,建议把DM6446 BOOT MODE
设置为UART
模式,目的让板子发送BOOTME
命令,板子没程序也会发送BOOTME
,在这种模式下,才能连接JTAG
。运行桌面的CCStudio v3.3
,见下图,
给板子上电,确保上面的安装和配置一切OK
,右键点击ICEPICK_C_0
,“Connect Device
”能连接上的话,表明仿真器等安装没问题,见下图。
连接设备
连接ARM
Open ARM9_0
,设置DSP
从DDR BOOT
连接DSP
Open DSP
以上连接如果都OK
的话,表明仿真环境已经建立好,这时可以做DSP
开发工作了。不过在进行工程开发之前,补充一点东西,有些朋友喜欢更新较新的DSP/BIOS
包,DSP/BIOS
是一个实时的操作系统,比如bios_setupwin32_5_33_06.exe
,或者开发DM6437
平台,则需要安装DM6437_DVSDK
、NDK
等开发包。CCS3.3
自带的DSP/BIOS
版本比较低,是5.31.02
,安装新的DSP/BIOS
包后,要对新的BIOS
版本进行设置,点击菜单上的“Help
”的“About
”就会弹出下图:
点击“Component Manager
”,见下图,
选择新的BIOS
版本,从菜单上“Save
”,并“OK
”退出。关闭CCS
,然后再重新启动CCS
,新版本的BIOS
就设置好了。
2、
工程建立
通过以上的步骤,我们可以开发DSP
程序了,DSP
程序分两种开发模式,算法LIB
的开发和系统工程开发,或者把LIB
的源码一起放到工程统一开发。
点击DSP
界面菜单“Project
”的“New
”,出现以下界面,
如果是系统工程开发,输入工程名字,选择工程保存路径,点击Finish
,就OK
了。如果是算法LIB
开发,则按下图选择.lib
进入工程界面
这里边的工程配置有很多学问,涉及到DSP/BIOS
的配置和设计,程序运行效率(优化),大部分DSP
的书籍都有介绍,如果这里要详细一步一步描述,则太浪费时间,我们在这里点到为止,重点介绍DM6446 DSP
端开发。右键点击工程,dm6446_example.prj
,下拉有Build Options
,这里有Debug
模式和Release
模式,运行程序时,Debug
模式可以设置断点等一些功能,但运行效率很低。而Release
则是正式发布版本模式,对程序做了一些优化,包括流水线等,不能设置断点。我们以Release
模式为例,见下三图,
其他设置保持默认的就可以了,更完善的功能,则需要自己修改,这方面得书籍和网文有很多,CCS
菜单Help
里也有很多描述详细的文档。
设置完工程配置后,右键点击Soure
,添加源码文件,
一般就是*.C
、*.CPP
、*.asm
、*.sa
文件,然后添加相应的*.cmd
文件,有例子可参考。Include
不需要添加,编译的时候会自动链接到工程配置指定的路径搜索。Libraries
则需要添加(CCStudio_v3.3C6000cgtoolslib
)里的rts64plus.lib
。还有其他LIB
,比如自己开发的*.lib
,c6400dspliblib
下的dsp64x.lib
,c6400imgliblib
下的img64x.lib
,EDMA3 LIB
,这些根据工程和算法程序需要而添加。
对于DM6446
产品开发,无论采用TI DSP SERVER
机制,还是独立DSP
运行模式,都离不开DSP/BIOS
,下图是新添加DSP/BIOS
的方法,当然,你也可以直接使用开发板提供商提供的例子,或从网上下载相关带DSP/BIOS
的例子。选择ti.platform.evmDM6446
,
选择“Global Settings
”,右键进行设置,见下图,DSP
工作频率,看情况设定,商业级DM6446
采用594M
,其他设置保持不变。
还是在同一个界面,选择64PLUS
,关键的地方时L2CFG
,就是定义L2
内部存储器CACHE
的大小,同时使能MAR 128-159
,这些L1D
、L2
的存取速度比DDR2
快多了,可惜这两个片上内存很小,不能把很多程序段定义到这些片上内存运行。
同时,因为上面使用了32K
的L2
,则MEM
下面的IRAM
处,右键选择属性配置IRAM
的len
为32K
,否则保存BIOS
配置文件*.TCF
时会出现错误,同样设置DDR
或分配新的内存段(片内和片外),段的地址和长度一定要一一对应,衔接好,不能越界。
然后我们对MEM
进行设置,同样右键选择MEM-Memory Section Manager
,
第一个参数一般为0x0004
,第二个参数默认是0x400
,太小,我们加大一点,0x4000
、0x8000
、0x10000
都可以。“No Dynamic Memory heaps
”,不选,这样就允许我们在程序里动态申请内存,刚开始是不出现DDR2
的,你要先“确定”,再右键选择DDR
,入下图,“create a heap in this memory
”一定要选中,然后heap
的大小定义为0x01000000
,16M
,这个大小自己定义。这里设置完后,回到上图,DDR2
就出现在下拉条里。这时候,上图的BIOS data BIOS code
这些设置都可以定义到DDR
内存上运行都可以。还有BIOS
里的BUF
、SYS - System Settings
、Instrumentation
、Scheduling
、Synchronization
、Input/Output
介绍到这里,编译自己建的工程是没问题了,CCS
仿真也可以运行程序,有关Instrumentation
的设置、Scheduling
、Synchronization
、Input/Output
这些在这里就不用累赘了,要认真讲完,完全可以写一本书,其实书店很多DSP
的书籍都有介绍,网上各大DSP
的论坛也有人举例如何添加多TSK
、PRD
、HWI
、SWI
、SEM
、MBX
等应用。
四、OUT
文件的处理
生成的OUT
文件,可以使用HEX64
产生BIN
文件,然后通过ARM
,字节写个DSP BOOT
的程序,设置控制DSP BOOT
的寄存器,就可以把DSP
给运行起来,这是一种独立运行DSP
的方法,第二种就是下篇要介绍的TI DSP SERVER
机制,如何把OUT
文件和Codec Engine结合起来。
Ta的文章
更多
>>
Davinci DM6446开发攻略——DSP开发工程建立
0 个评论
热门文章
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮