《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > SDSoC 新功能介紹 - Trace

SDSoC 新功能介紹 - Trace

2016-04-14
作者:Ally Zhou,賽靈思工具與設(shè)計(jì)方法學(xué)專家
關(guān)鍵詞: Xilinx SDSoC CC 事件追蹤

  SDSoC 開發(fā)環(huán)境

  SDSoC是Xilinx旗下,用于設(shè)計(jì)開發(fā)Zynq SoC和MPSoC異構(gòu)嵌入式系統(tǒng)的基于Eclipse的集成開發(fā)環(huán)境,可以完成從C/C++到指定目標(biāo)平臺(tái)上功能完整的硬件/軟件系統(tǒng)的編譯、實(shí)現(xiàn)、調(diào)試執(zhí)行等全過程。

  由SDSoC產(chǎn)生的系統(tǒng)是高性能的,同時(shí)也是復(fù)雜的硬件/軟件協(xié)同工作系統(tǒng)。要了解在這樣的系統(tǒng)中應(yīng)用程序的執(zhí)行過程是比較困難的,因?yàn)槟阈枰瑫r(shí)關(guān)注在處理器上運(yùn)行的軟件部分和在硬件可編程邏輯上執(zhí)行的加速部分,以及數(shù)據(jù)在二者之間的傳遞過程和順序等。

  Trace 事件追蹤功能

  2015.4版的SDSoC中新增了一個(gè)功能,叫做Trace,即事件追蹤功能,可以幫助設(shè)計(jì)開發(fā)人員深入了解應(yīng)用程序的執(zhí)行過程中整個(gè)系統(tǒng)上發(fā)生了哪些事件以及發(fā)生的順序,用戶可以以此為依據(jù)進(jìn)行系統(tǒng)優(yōu)化。

  Trace提供的是一個(gè)詳細(xì)視圖,用戶可以在其中觀察應(yīng)用,硬件/軟件分區(qū)和系統(tǒng)設(shè)計(jì)選擇的性能,它提供的是一個(gè)以時(shí)間軸為單位而量化的事件追蹤,包括在理器上運(yùn)行的軟件事件,在可編程邏輯上運(yùn)行的硬件加速事件和在系統(tǒng)中的數(shù)據(jù)傳輸鏈路事件。

  由于需要讀取上板應(yīng)用的數(shù)據(jù),要啟動(dòng)事件跟蹤,用戶必須將開發(fā)板經(jīng)由JTAG連接到主機(jī)。

  在SDSoC中啟動(dòng)Trace后,事件追蹤功能就會(huì)被自動(dòng)插入到軟件代碼和硬件IP中。然后,硬件部分(包括完成事件追蹤功能的監(jiān)控IP)經(jīng)過綜合和布局布線,產(chǎn)生比特流,而軟件跟蹤代碼則被編譯到普通用戶應(yīng)用中。硬件和軟件的事件追蹤時(shí)間戳被收集到了一個(gè)追蹤流中,并且以在可編程架構(gòu)中緩存的方式記錄下來,由主機(jī)通過JTAG訪問并讀回?cái)?shù)據(jù)。

  下圖橙色高亮的部分,就是應(yīng)用Trace功能后SDSoC自動(dòng)插入的監(jiān)控IP,用以完成和記錄事件追蹤功能。

a.png

  收集事件追蹤數(shù)據(jù)的接口根據(jù)不同的操作系統(tǒng)而略有不同。對(duì)于Standalone和FreeRTOS操作系統(tǒng),用戶程序ELF使用USB / JTAG接口下載到電路板上進(jìn)行配置和調(diào)試,斷點(diǎn)也是經(jīng)由了同樣的USB / JTAG接口而插入,事件跟蹤的數(shù)據(jù)采集,也是在相同的USB / JTAG接口上讀取。

  對(duì)于Linux,一旦操作系統(tǒng)經(jīng)由SD卡啟動(dòng),ELF已經(jīng)復(fù)制后,便可以經(jīng)過TCP/TCF運(yùn)行調(diào)試,斷點(diǎn)也可以經(jīng)由TCP/TCP插入,但事件跟蹤的數(shù)據(jù)仍然需要通過USB / JTAG接口讀出。換句話說,要在Linux應(yīng)用程序上啟動(dòng)事件追蹤, USB / JTAG和TCP / TCF接口都需要。

  Trace 視圖

  下圖所示就是SDSoC GUI提供的Trace視圖。用戶應(yīng)用程序的每個(gè)跟蹤事件被賦予一個(gè)唯一的軌跡名稱,并且對(duì)應(yīng)到同一個(gè)時(shí)間軸。通常,一個(gè)跟蹤點(diǎn)可以通過應(yīng)用程序的執(zhí)行創(chuàng)建多個(gè)軌跡,例如,如果相同的代碼被循環(huán)執(zhí)行,或者在加速器中被多次調(diào)用。

b.png

  每個(gè)事件追蹤軌跡都有幾個(gè)不同的屬性:名稱,類型,以及啟動(dòng),停止和持續(xù)時(shí)間。如果將鼠標(biāo)懸停在某個(gè)軌跡上,就可以看到這個(gè)軌跡的詳細(xì)屬性。Trace視圖中以不同的顏色區(qū)別不同類型的軌跡,例如橙色代表軟件事件追蹤,綠色代表硬件事件而藍(lán)色代表數(shù)據(jù)的交互。

c.png

  關(guān)于Trace更詳細(xì)的介紹和分步驟教程,請(qǐng)關(guān)注SDSoC安裝目錄下的docs目錄,其中有一個(gè)SDSoC_Trace2015.4.pdf文檔可供參考。

  由于Trace是在SDSoC 2015.4版首次發(fā)布,且目前還處于Beta階段,其僅能完成有限的事件追蹤功能,我們將在以后的版本中不斷完善,提供更全面的追蹤功能。敬請(qǐng)關(guān)注。如果您想要立即試用SDSoC 2015.4 和Trace功能,請(qǐng)聯(lián)系當(dāng)?shù)氐腦ilinx銷售代表。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。