IT技術互(hu)動(dong)交流(liu)平台(tai)

彩神注册官网

來源︰IT165收集  發布日期(qi)︰2020-02-22 05:19:30
原創文章(zhang)

轉載請注冊(ce)來源http://blog.csdn.net/tostq

系(xi)列教程目錄︰http://blog.csdn.net/tostq/article/details/51245979

 

Vlfft是由TI官網(wang)提供的一(yi)個大尺寸快速傅里(li)葉變換的多核(he)DSP實例,其(qi)下載地址如下︰ http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/p/12423/67467.aspx 這個實例是許多同學多核(he)DSP的入門實例,實例內也提供了簡單的安(an)裝編譯教程,不過並沒有(you)講得很清楚,在(zai)編譯的過程中還是會(hui)出現很多問題,本節主要提供一(yi)個詳細的Vlfft安(an)裝編譯步(bu)驟(zhou),但是由于(yu)這個實例涉及了較多關于(yu)多核(he)通信(xin)的內容,所以這里(li)並不詳細解釋代(dai)碼(ma)原理,如果後(hou)面有(you)時(shi)間的話,以後(hou)再具體分析這個實例。
一(yi)、安(an)裝MCSDK和STMlib 這MCSDK組(zu)件是Vlfft必(bi)須的,不過STMlib卻ci)遣槐bi)須的。 (1)MCSDK的安(an)裝 MCSDK ( Multicore Software Development Kit )是一(yi)個多核(he)的軟件開(kai)發組(zu)件,它(ta)主要是通過同BIOS協同開(kai)發,里(li)面提供了比如PDK等工具,與CCS5.2兼(jian)容的MCSDK應該是2.0版本,而我使用的是2.1版本,會(hui)出現一(yi)個警告,但也是可(ke)以運行的。 MCSDK的下載地址︰http://www.ti.com/tool/bioslinuxmcsdk ,這里(li)我選擇的是最後(hou)一(yi)個。
 下載MCSDK後(hou),直(zhi)接(jie)點擊安(an)裝,安(an)裝目錄同CCS在(zai)同一(yi)文件夾下,如D:/ti,在(zai)安(an)裝組(zu)件上,可(ke)以全部選擇啦。
完成安(an)裝,重新(xin)啟動(dong)CCS,查看相(xiang)關組(zu)件是否安(an)裝到CCS中去(一(yi)般都(du)自動(dong)導入了),如果不是,請手動(dong)導入。
關于(yu)SYS/BIOS的官方(fang)安(an)裝方(fang)法︰http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_Getting_Started_Guide (2)STMlib安(an)裝 STMlib(System Trace)是一(yi)個系(xi)統追蹤組(zu)件,Vlfft這個工程支(zhi)持2種配置,一(yi)種是純VLFFT運算工程(默認模塊(kuai),也可(ke)以不安(an)裝STM),還有(you)一(yi)種是集成了STM 模塊(kuai)的VLFFT工程,即在(zai)Build option中的build variables中定義(yi)了STM_LIBRARY_ROOT,如果未(wei)安(an)裝STM lib或者STM的路(lu)徑(jing)不對,則可(ke)能編譯報錯。 STMLib 下載地址︰https://gforge.ti.com/gf/project/ctoolslib/frs/ STMLib 的學習使用︰http://processors.wiki.ti.com/index.php/Using_System_Trace_(STM) STMLib安(an)裝只需要將安(an)裝解壓跟CCS放到同一(yi)個文件夾就可(ke)以了(如D:/ti)
二、Vlfft的配置 (1)將Vlfft項目的整(zheng)體文件夾放到MCSDK的demo文件夾下︰如mcsdk_2_01_02_06demos (2)CCS中導入項目 在(zai)Project Explorer中右yi)餮≡mport...,選擇導入一(yi)個已存在(zai)的CCS項目
 項目位置中輸入Vlfft文件夾所在(zai)地址,此時(shi)在(zai)Vlfft文件夾下,發現了兩個項目文件(6678版本和6670版本)這里(li)選擇6678版本就可(ke)以了。
如果是選擇6670版本,還需要打開(kai)vlfftconfig.h(vlfft lfftInc文件夾下),把常量(liang)EIGHT_CORE_DEVICE設為(wei)0,常量(liang)FOUR_CORE_DEVICE設為(wei)1,(默認是6678,與個這個設置剛(gang)好相(xiang)反) TIPs: a).關于(yu)FFT的大小設置,將vlfftconfig.h中的如下宏中的一(yi)個設為(wei)1,其(qi)他(ta)為(wei)0
b). DSP內核(he)的數目ke)柚茫 ≡,2,4,8個設置
(3)BIOS文件的配置 vlfft_evmc6678l.cfg文件是BIOS文件的配置文件,下一(yi)節會(hui)具體解釋如何(he)使用BIOS,這里(li)直(zhi)接(jie)雙擊點開(kai),出現如下︰ BIOS的設置提供了界面和源代(dai)碼(ma)編輯兩種選擇,這里(li)我們點擊Source,選擇源代(dai)碼(ma)編輯 如果是Debug模型(xing),需要將.cfg源代(dai)碼(ma)中的92~96行的代(dai)碼(ma)注釋,而Release模式,則不作改(gai)變。
此時(shi)點擊小錘子(zi)進行Debug模式編譯,出現如下錯誤(wu),這里(li)的警告主要是MCSDK版本不配,關系(xi)不大。
錯誤(wu)主要是placement fails for object
這里(li)提示.const所在(zai)段L2SRAM太小,內存段分配太小,需要打開(kai)鏈(lian)接(jie)命令文件.cmd(在(zai)Debug/configPkg/Linker.cmd)查看︰
這里(li)的L2SRAM只有(you)156kb,實在(zai)太小,于(yu)是我們可(ke)以增加(jia)其(qi)大小到4M左右,但是我們不能直(zhi)接(jie)到.cmd文件上修改(gai),因為(wei)這個文件是由BIOS配置文件.cfg自動(dong)生成的,所以即ci)刮頤竊zai).cmd文件中修改(gai)了,最後(hou)還是會(hui)出現原來的錯誤(wu)。 (3)在(zai)BIOS文件中修改(gai)內存設置
SYS/BIOS是DSP的一(yi)個實時(shi)操作系(xi)統,其(qi)給(gei)DSP提供許多API函數和操作組(zu)件,CSS提供了界面式的配置方(fang)法(通過System Overview)可(ke)以打開(kai),這里(li)的Task、Swi、Hwi、Memory等都(du)是BIOS的相(xiang)關組(zu)件,這里(li)綠(lv)色小勾表明了當前組(zu)件已經(jing)被(bei)安(an)裝到了BIOS中了,現在(zai)我們需要重新(xin)分配內存,所以我們點開(kai)Memory組(zu)件,選擇Program模式
在(zai)Program中選擇View,找到cpu中的MemoryMap中修改(gai)L2SRAM的大小和L2SRAM_1的起始地址,這里(li)需要注意(yi)的是雖然(ran)錯誤(wu)只是提示L2SRAM的太小,但由于(yu)L2SRAM和L2SRAM_1相(xiang)鄰,所以如果修改(gai)L2SRAM的大小,就必(bi)然(ran)也要修改(gai)L2SRAM_1的起始地址。

還有(you)一(yi)種更為(wei)便捷的方(fang)法是直(zhi)接(jie)在(zai).cfg的源文件(Source)上修改(gai),這里(li)在(zai)文件末(mo)尾添(tian)加(jia)如下︰
var execontextInstance0 = xdc.lookup('xdc.platform.ExeContext.Instance#0'); execontextInstance0.memoryMap["L2SRAM"].len = 4194304; execontextInstance0.memoryMap["L2SRAM_1"].base = 12582912; 此時(shi)再次點擊編譯,完成編譯

三、Vlfft的調試結(jie)果 (1)導入目標(biao)配置文件.ccxml,選擇C6678 Device Functional Simulator, Little Endian的目標(biao)配置文件 (2)將所有(you)的(8個)核(he)Group,點擊運行,獲(huo)得結(jie)果︰ 四、集成了STM 模塊(kuai)的VLFFT工程 前面我們安(an)裝了STMLib,這一(yi)節介紹如何(he)使用STMLib (1)在(zai)Build option中的build variables中定義(yi)了STM_LIBRARY_ROOT
(2)在(zai)Linked Resources中修正STM_LIBRARY_ROOT的地址
做(zuo)完上面兩件事後(hou),我們點擊項目文件中的STMhelper.c,發現現在(zai)是可(ke)以打開(kai)的,說明STMlib已經(jing)成功導入了
Vlfft代(dai)碼(ma)下載 https://github.com/tostq/EasyMulticoreDSP/tree/master/4.vlfft
Tag標(biao)簽︰多核(he)  實例  
  • 彩神注册官网

About IT165 - 廣告服務 - 隱私聲明 - 版權(quan)申明 - 免責條款 - 贵州快3官网網(wang)站(zhan)地圖(tu) - 網(wang)友投稿 - 聯系(xi)方(fang)式
本站(zhan)內容來自于(yu)互(hu)聯網(wang),僅供用于(yu)網(wang)絡技術學習,學習中請遵循相(xiang)關法律法規
彩神注册官网 | 下一页