新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 使用CLT 工具優(yōu)化C6000 代碼

        使用CLT 工具優(yōu)化C6000 代碼

        作者: 時(shí)間:2016-09-12 來源:網(wǎng)絡(luò) 收藏
        c6000

        本文引用地址:http://www.104case.com/article/201609/303829.htm

        同時(shí)在目錄下生成OBJ 和ASM 文件,這個(gè)和我們的實(shí)驗(yàn)關(guān)系不大,可以不用關(guān)注。

        out 文件是一會(huì)需要下載到芯片里運(yùn)行的可執(zhí)行文件,而map 文件用于幫助我們定位profile 信息存放的內(nèi)存地址。

        如果用戶使用CCS 編譯工具,則需要在Build 的屬性里指定Feedback 選項(xiàng),然后正常編譯即可生成攜帶分析代碼的可執(zhí)行文件。

        2. 獲取分析信息

        根據(jù)用戶獲取分析數(shù)據(jù)的不同,這里有兩種方法,第一種方法適用于持續(xù)運(yùn)行的程序,比如在基于SYS/BIOS 的程序里,有些任務(wù)是以循環(huán)的方式存在的,這時(shí)用戶需要自己從DSP 內(nèi)存里讀取分析數(shù)據(jù)。

        首先打開map 文件,可以找到.ppdata 段的內(nèi)存地址,這個(gè)地址就是profile 信息存放處,在例子中

        .ppdata 0 0081fecc 00000034 UNINITIALIZED

        .ppdata 段位于0x0081fecc 這個(gè)地址,長度是34 個(gè)byte。

        啟動(dòng)CCS,連接EVM 板,下載out 文件到DSP 上,在main 函數(shù)末尾加上調(diào)試斷點(diǎn),可以讓程序到這里暫停(實(shí)際上,在用戶代碼中,可以把斷點(diǎn)設(shè)置在需要的任何地方,profile 的信息是實(shí)時(shí)更新的)。

        運(yùn)行該程序,到達(dá)斷點(diǎn)后,在View 菜單里打開memory browser,將地址設(shè)定為0x0081fecc, 可以讀到.ppdata 的信息,參考以下步驟將其存到工程目錄下。

        1) 選取Save Memory

        2) 存放路徑

        3) 確定數(shù)據(jù)地址和長度,如下圖

        4) 修改dat 文件

        打開剛才存下的dat 文件,注意到文件頭的數(shù)據(jù)長度是以32 比特字為單位的,我們需要以8 比特字節(jié)為單位,如

        1651 9 81fecc 0 d 1

        修改為

        1651 9 81fecc 0 34 1

        5) 轉(zhuǎn)換文件格式

        對(duì)剛才的運(yùn)行profile 信息進(jìn)行分析,得到優(yōu)化后的cmd 內(nèi)存排布文件,該文件內(nèi)容如下,用戶可根據(jù)自己的程序進(jìn)行修改

        360截圖20150511135611640.jpg

        如果是大端,則將-le 選項(xiàng)改為-be 選項(xiàng)。

        第二種方法,針對(duì)于只需運(yùn)行一次流程的程序,CCS 可以自動(dòng)生成pdat 文件,需要注意的是,生成pdat 文件的分析代碼是在用戶程序結(jié)束也就是exit()程序執(zhí)行時(shí)進(jìn)行,因此用戶要保證自己的程序能完整運(yùn)行到主函數(shù)出口結(jié)束,否則無法生成pdat 文件,需要用第一種方法來獲取數(shù)據(jù)。

        3. 重新編譯代碼

        首先使用pdd6x 從數(shù)據(jù)文件里提取prf 文件作為重編譯的輸入文件

        將輸出的pfo.cmd 加入到項(xiàng)目的cmd 文件重新編譯輸出優(yōu)化后的out 文件,cache 優(yōu)化到此完成。

        對(duì)比優(yōu)化結(jié)果,對(duì)于TCP/IP 的例子應(yīng)用上,CLT 帶來了接近20%的提升,對(duì)于視頻編碼等應(yīng)用CLT 也帶來了5%左右的提升。而且,用戶代碼量越大,則CLT 可能帶來的提升越明顯。

        4. 結(jié)論

        通過使用CLT 工具,可以方便快捷的對(duì)用戶代碼的Cache 分配進(jìn)行優(yōu)化,用戶不需要了解DSP Cache 分配的詳細(xì)信息,只需要在Simulator 或者硬件板卡上運(yùn)行定制的代碼,就可以方便快捷地得到Cache 的詳細(xì)信息,并自動(dòng)根據(jù)這些信息對(duì)程序在內(nèi)存的分布進(jìn)行配置已達(dá)到提升性能的效果。


        上一頁 1 2 下一頁

        關(guān)鍵詞: C6000

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 宝山区| 平湖市| 和静县| 陆丰市| 东阿县| 关岭| 砚山县| 红桥区| 广水市| 措美县| 都安| 元朗区| 高安市| 浙江省| 浦江县| 罗田县| 名山县| 荥阳市| 铁岭县| 友谊县| 新闻| 蒙自县| 崇义县| 齐齐哈尔市| 旺苍县| 怀宁县| 南和县| 剑川县| 将乐县| 昔阳县| 邵阳市| 黑山县| 贵定县| 慈溪市| 丹寨县| 温宿县| 固安县| 凤阳县| 微山县| 蕲春县| 驻马店市|