TI:使用CLT工具優(yōu)化C6000代碼
2.獲取分析信息
本文引用地址:http://www.biyoush.com/article/274177.htm根據(jù)用戶獲取分析數(shù)據(jù)的不同,這里有兩種方法,第一種方法適用于持續(xù)運行的程序,比如在基于SYS/BIOS的程序里,有些任務(wù)是以循環(huán)的方式存在的,這時用戶需要自己從DSP內(nèi)存里讀取分析數(shù)據(jù)。
首先打開map文件,可以找到.ppdata段的內(nèi)存地址,這個地址就是profile信息存放處,在例子中
ppdata 0 0081fecc 00000034 UNINITIALIZED
ppdata段位于0x0081fecc這個地址,長度是34個byte。
啟動CCS,連接EVM板,下載out文件到DSP上,在main函數(shù)末尾加上調(diào)試斷點,可以讓程序到這里暫停(實際上,在用戶代碼中,可以把斷點設(shè)置在需要的任何地方,profile的信息是實時更新的)。
![](http://editerupload.eepw.com.cn/201505/b83e9dc45a7488118dc6b5d8da04ba1d.png)
運行該程序,到達(dá)斷點后,在View菜單里打開memory browser,將地址設(shè)定為0x0081fecc, 可以讀到.ppdata 的信息,參考以下步驟將其存到工程目錄下。
1)選取Save Memory
![](http://editerupload.eepw.com.cn/201505/d566e876d8952f4b81934912d48139ec.png)
2)存放路徑
![](http://editerupload.eepw.com.cn/201505/7eabda04b9d5fb2089b201f59b0800e2.png)
3)確定數(shù)據(jù)地址和長度,如下圖
![](http://editerupload.eepw.com.cn/201505/96c9971470308d8fc68a1f7a6c9728bb.png)
4)修改dat文件
打開剛才存下的dat文件,注意到文件頭的數(shù)據(jù)長度是以32比特字為單位的,我們需要以8比特字節(jié)為單位,如
1651 9 81fecc 0 d 1
修改為
1651 9 81fecc 0 34 1
5)轉(zhuǎn)換文件格式
對剛才的運行profile信息進行分析,得到優(yōu)化后的cmd 內(nèi)存排布文件,該文件內(nèi)容如下,用戶可根據(jù)自己的程序進行修改
![](http://editerupload.eepw.com.cn/201505/963fe1fa2bec4f4c03560cab881c85af.png)
如果是大端,則將-le選項改為-be選項。
第二種方法,針對于只需運行一次流程的程序,CCS可以自動生成pdat文件,需要注意的是,生成pdat文件的分析代碼是在用戶程序結(jié)束也就是exit()程序執(zhí)行時進行,因此用戶要保證自己的程序能完整運行到主函數(shù)出口結(jié)束,否則無法生成pdat文件,需要用第一種方法來獲取數(shù)據(jù)。
3.重新編譯代碼
首先使用pdd6x從數(shù)據(jù)文件里提取prf文件作為重編譯的輸入文件
![](http://editerupload.eepw.com.cn/201505/ab6d108226d66ce75254c283b30a6b9a.png)
在命令行形式下,可以以以下形式調(diào)用輸入文件生成csv文件,
![](http://editerupload.eepw.com.cn/201505/f056305e216a8c992038e5fbeb0ce31d.png)
在CCS環(huán)境下,只需要在CCS里指定需要的數(shù)據(jù)文件后產(chǎn)生csv文件,
![](http://editerupload.eepw.com.cn/201505/43a96789620e1dc0b19f5177d4a5d77c.png)
Figure 5.CCS重編譯的選項
通過調(diào)用clt6x生成內(nèi)存排布
![](http://editerupload.eepw.com.cn/201505/40207c191773f60e7714a134485329fb.png)
將輸出的pfo.cmd加入到項目的cmd文件重新編譯輸出優(yōu)化后的out文件,cache優(yōu)化到此完成。對比優(yōu)化結(jié)果,對于TCP/IP的例子應(yīng)用上,CLT帶來了接近20%的提升,對于視頻編碼等應(yīng)用CLT也帶來了5%左右的提升。而且,用戶代碼量越大,則CLT可能帶來的提升越明顯。
4.結(jié)論
通過使用CLT工具,可以方便快捷的對用戶代碼的Cache 分配進行優(yōu)化,用戶不需要了解DSP Cache分配的詳細(xì)信息,只需要在Simulator或者硬件板卡上運行定制的代碼,就可以方便快捷地得到Cache的詳細(xì)信息,并自動根據(jù)這些信息對程序在內(nèi)存的分布進行配置已達(dá)到提升性能的效果。
參考文獻
1.TMS320C66x DSP CorePac User Guide(SPRUGW0)
2.KeyStone Architecture Multicore Shared Memory Controller(MSMC)User Guide(SPRUGW7)
3.KeyStone Architecture DDR3 Memory Controller User Guide(SPRUGV8)
4.Cache Layout Tools Example
存儲器相關(guān)文章:存儲器原理
塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理
評論