新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 復(fù)雜器件內(nèi)部的實(shí)時(shí)可視性的實(shí)現(xiàn)方法

復(fù)雜器件內(nèi)部的實(shí)時(shí)可視性的實(shí)現(xiàn)方法

作者: 時(shí)間:2006-05-08 來(lái)源:網(wǎng)絡(luò) 收藏

如果在一個(gè)系統(tǒng)中擁有幾個(gè)處理器和外設(shè),要開(kāi)發(fā)具有成本效益、可靠的產(chǎn)品,尤其是在今天很短的產(chǎn)品開(kāi)發(fā)時(shí)間的條件下,了解所有這些芯片的特性將變得非常重要。嵌入式系統(tǒng)越來(lái)越多地在多內(nèi)核ASIC或系統(tǒng)級(jí)芯片(SoC)上實(shí)現(xiàn),以利用這些器件所具有的低功耗、低成本和更高集成度的優(yōu)點(diǎn)。

開(kāi)發(fā)者所擁有的很多這些標(biāo)準(zhǔn)設(shè)計(jì)工具是依賴(lài)于了解老的技術(shù)產(chǎn)品的運(yùn)行情況來(lái)實(shí)現(xiàn)的,已經(jīng)不適用于這些新型的、功能強(qiáng)大的多功能設(shè)計(jì)了。通過(guò)集成,SoC架構(gòu)在單個(gè)硅片上擁有多個(gè)處理器、存儲(chǔ)器、外設(shè)、控制器和其它重要的子系統(tǒng)組件。高速總線(xiàn)連接這些不同的組件,整體的性能決定于他們之間的數(shù)據(jù)流的高效管理。瓶頸、延遲和對(duì)于像總線(xiàn)和存儲(chǔ)器等共享資源的競(jìng)爭(zhēng)這些問(wèn)題,對(duì)于數(shù)據(jù)傳輸來(lái)說(shuō)是致命的。為了獲得最佳性能,開(kāi)發(fā)者應(yīng)比以前更需要了解芯片運(yùn)行的具體情況。

然而,對(duì)系統(tǒng)組件之間的事務(wù)處理的監(jiān)控不再是像以前那樣連接一個(gè)邏輯分析儀或者總線(xiàn)分析儀那么簡(jiǎn)單了,因?yàn)楹芏喔信d趣的信號(hào)深“埋”在芯片內(nèi)部。對(duì)SoC的可視性需要一套硬件和軟件相混合的裝置來(lái)采集SoC本身內(nèi)部的數(shù)據(jù),并由特征描述以及關(guān)聯(lián)工具提供支持,這些工具能幫助開(kāi)發(fā)者分析所采集的數(shù)據(jù)。

當(dāng)然可以通過(guò)不同的方式實(shí)現(xiàn)可視性。在很多情況下,可以觀(guān)察許多組件(如存儲(chǔ)器、系統(tǒng)總線(xiàn)和I/O端口)來(lái)采集信息。換言之,當(dāng)評(píng)估過(guò)程本身影響到結(jié)果的時(shí)候,要評(píng)估總線(xiàn)利用率和存儲(chǔ)器競(jìng)爭(zhēng)情況就很難。挑戰(zhàn)在于在不影響系統(tǒng)性能的情況下采集和上載數(shù)據(jù)點(diǎn)。

回到現(xiàn)實(shí)情況

傳統(tǒng)上,當(dāng)沒(méi)有邏輯分析儀可用,或者太難于設(shè)置時(shí),開(kāi)發(fā)者使用軟件測(cè)試工具來(lái)獲得對(duì)他們?cè)O(shè)計(jì)的可視性。他們會(huì)向目標(biāo)對(duì)象增加調(diào)試代碼來(lái)采集、處理和上載調(diào)試數(shù)據(jù)。例如,在進(jìn)入和離開(kāi)一個(gè)函數(shù)時(shí)打開(kāi)和關(guān)閉某個(gè)計(jì)時(shí)器,無(wú)論是過(guò)去還是現(xiàn)在,對(duì)于通過(guò)軟件分析器來(lái)對(duì)函數(shù)進(jìn)行描述來(lái)說(shuō),這種方法都是一種的簡(jiǎn)捷方法。

盡管這只需要增加很少的C語(yǔ)言printf指令到測(cè)試代碼中,對(duì)采集的數(shù)據(jù)進(jìn)行格式化,并輸出到一個(gè)標(biāo)準(zhǔn)的I/O器件,但此時(shí)這些代碼對(duì)代碼的大小、存儲(chǔ)器利用、緩沖器性能、時(shí)序和系統(tǒng)資源競(jìng)爭(zhēng)都有很大的影響。這些缺點(diǎn)使得printf只適合于測(cè)試非實(shí)時(shí)的控制代碼。對(duì)于實(shí)時(shí)的或者確定性代碼,例如,用在消費(fèi)媒體播放器和錄制設(shè)備、手持無(wú)線(xiàn)通信設(shè)備、電信、機(jī)器人技術(shù)或汽車(chē)上的應(yīng)用,需要采用其它的對(duì)系統(tǒng)影響較小的技術(shù),以避免干擾目標(biāo)程序的執(zhí)行或錯(cuò)失實(shí)時(shí)期限。

減少干擾

有很多方法可以在增加可視性的同時(shí)減少干擾。從概念上來(lái)說(shuō),對(duì)一個(gè)系統(tǒng)進(jìn)行監(jiān)測(cè)涉及到數(shù)據(jù)采集、數(shù)據(jù)緩沖、上載來(lái)自目標(biāo)器件的數(shù)據(jù)、后續(xù)處理以及進(jìn)行顯示等。認(rèn)真安排這些活動(dòng)在什么時(shí)候以及哪里發(fā)生,可以將它們對(duì)系統(tǒng)性能的影響減到最小。減少與測(cè)試代碼以及數(shù)據(jù)采集設(shè)備相關(guān)的存儲(chǔ)器區(qū)域,可以采集到更多的數(shù)據(jù),并增加對(duì)系統(tǒng)實(shí)時(shí)行為測(cè)試的精度或廣度。

一般需要數(shù)據(jù)點(diǎn)幾倍大小的存儲(chǔ)空間來(lái)記錄關(guān)聯(lián)信息,這些關(guān)聯(lián)信息用于更準(zhǔn)確地對(duì)其進(jìn)行理解。例如,除了在采集時(shí)的數(shù)據(jù)值,可能還需要標(biāo)記數(shù)據(jù)相關(guān)聯(lián)的變量名字,獲得一個(gè)數(shù)據(jù)采集時(shí)間的時(shí)間戳,并注意當(dāng)在獲得時(shí)間戳?xí)r正在執(zhí)行的函數(shù)等。有幾種方法用于獲得和組織這種關(guān)聯(lián)信息,并且不需要依賴(lài)于printf和其字符串格式化功能。通常在數(shù)據(jù)中包含pattern,如果用某種方式來(lái)采集數(shù)據(jù),那么可以推斷出一些額外的特性,而不需要將它們包含到緩沖器中。增加可視性的一些方法包括:

1. 記錄格式

如果在緩沖器中采集一個(gè)變量,則不再需要對(duì)所采集的什么變量進(jìn)行標(biāo)記。如果需要采集多個(gè)值,就可以創(chuàng)建一種記錄格式,每一個(gè)值對(duì)應(yīng)一個(gè)給定的位置,這樣避免了不得不對(duì)采集的內(nèi)容再次進(jìn)行標(biāo)注的情況。

2. 多個(gè)緩沖器

通過(guò)將相似的數(shù)據(jù)點(diǎn)分組在一起,可以簡(jiǎn)化循環(huán)緩沖管理,減少對(duì)每個(gè)數(shù)據(jù)點(diǎn)的采集延時(shí)。同樣地,如果按照優(yōu)先級(jí)來(lái)對(duì)數(shù)據(jù)采集進(jìn)行隔離,那么當(dāng)系統(tǒng)在100%的利用狀態(tài)時(shí),可能使循環(huán)緩沖器抓取到非關(guān)鍵信息的溢出,而不是用一個(gè)非實(shí)時(shí)的上載來(lái)弄亂了實(shí)時(shí)系統(tǒng)的時(shí)限要求。在任何情況下,都需要用來(lái)標(biāo)記溢出的機(jī)制。并且如果緩沖器存在一些前提條件,例如需要重構(gòu)的時(shí)間戳,則可能追蹤丟失了多少數(shù)據(jù)。

3. 采樣數(shù)據(jù)

配置硬件計(jì)數(shù)器并使其運(yùn)行對(duì)系統(tǒng)的影響很小。無(wú)論如何,讀取一個(gè)計(jì)數(shù)器并上載其值都是具有干擾性的。對(duì)計(jì)數(shù)器的記錄越頻繁,記錄就越準(zhǔn)確,但采集和上載的干擾就越大。在確定確實(shí)需要更準(zhǔn)確的信息之前,保持較低的記錄頻率。例如,一個(gè)記錄當(dāng)前哪個(gè)函數(shù)在執(zhí)行的周期性分析器能確保得到一個(gè)非常準(zhǔn)確的代碼使用百分比情況。這樣的分析器僅收集了在每個(gè)函數(shù)調(diào)用的記錄期間所采集的信息的一部分,于是干擾很小。也可以按低優(yōu)先級(jí)任務(wù)來(lái)對(duì)數(shù)據(jù)點(diǎn)采樣,盡管這樣可能使得結(jié)果產(chǎn)生一些偏差。

4. 確定性的數(shù)據(jù)

如果數(shù)據(jù)采樣獲取的頻率固定的話(huà),不必要加入一個(gè)時(shí)間戳。作為一種替代選擇,如果數(shù)據(jù)必須通過(guò)一組連續(xù)的運(yùn)算塊,只需記錄數(shù)據(jù)值和時(shí)間戳,因?yàn)榭梢詮臅r(shí)間戳的次序確定實(shí)際的程序塊。如果獲取了幾個(gè)值,可能更有效率,以確保數(shù)據(jù)流能通過(guò)一系列的程序塊,此時(shí)只需記錄函數(shù)和時(shí)間戳,并采用數(shù)據(jù)記錄格式。

5. /智能記錄

通常只在需要時(shí)采集數(shù)據(jù)(換言之,在對(duì)某些信息感興趣的情況下),這樣減少了數(shù)據(jù)采集產(chǎn)生的影響。利用幾個(gè)調(diào)試標(biāo)記,可以縮小采集的范圍。這可以通過(guò)設(shè)置一個(gè)特定的標(biāo)記來(lái)實(shí)現(xiàn),這個(gè)標(biāo)記只有在感興趣的情況下才有效,通過(guò)這種方法,不會(huì)因?yàn)樯陷d不需要的信息使系統(tǒng)過(guò)載。這也減少了捕獲數(shù)據(jù)過(guò)程的開(kāi)銷(xiāo),節(jié)約緩沖器空間。設(shè)置或檢查一個(gè)標(biāo)記只需要一個(gè)或者兩個(gè)處理器周期,因此這是非常有用的方法,即使是對(duì)于基于硬件的計(jì)數(shù)器亦是如此。

6. 塊狀記錄

在某些情況下,在不影響執(zhí)行時(shí)(如沒(méi)有實(shí)時(shí)運(yùn)算時(shí))有可能可以暫停對(duì)象。此時(shí)可以通過(guò)在能安全暫停的情況下觸發(fā)一次暫停來(lái)“避免”緩沖期上載開(kāi)銷(xiāo),然后在系統(tǒng)暫停的時(shí)候再對(duì)緩沖器上載。

7. 按塊上載

如果任務(wù)比較空閑,可以在系統(tǒng)沒(méi)有完全利用時(shí)用來(lái)上載緩沖器。盡管這不會(huì)減少上載開(kāi)銷(xiāo),但卻可以將上載的影響轉(zhuǎn)移到一個(gè)對(duì)系統(tǒng)性能影響更小的時(shí)段。

8. RTOS監(jiān)測(cè)

對(duì)于更復(fù)雜的監(jiān)測(cè),可以在實(shí)時(shí)操作系統(tǒng)上找到支持。很多操作系統(tǒng)具有內(nèi)置的機(jī)制和庫(kù),能支持片上監(jiān)測(cè)硬件,即易于配置又為管理循環(huán)緩沖器和向外發(fā)送數(shù)據(jù)流需要的基礎(chǔ)架構(gòu)提供基本代碼,并提供用于自監(jiān)測(cè)的Hook函數(shù)。通過(guò)對(duì)記錄過(guò)程抽象化以及卸載數(shù)據(jù),可以快速地對(duì)監(jiān)測(cè)的對(duì)象、監(jiān)測(cè)的方式、監(jiān)測(cè)的頻率、獲取數(shù)據(jù)的位置以及卸載方式等進(jìn)行重新配置。在創(chuàng)建自己的基礎(chǔ)來(lái)測(cè)試代碼之前,應(yīng)首先檢查RTOS提供的內(nèi)容。

9. 避免訪(fǎng)問(wèn)存儲(chǔ)器和其它系統(tǒng)資源

只有在硬件機(jī)制不足的情況下,才應(yīng)該用軟件手段作為補(bǔ)充,例如當(dāng)需要非常大的緩沖器或者當(dāng)有限的處理降低了整體的干擾時(shí)。理想的情況是,如果在不使用系統(tǒng)總線(xiàn)或存儲(chǔ)器的情況下監(jiān)測(cè)系統(tǒng)總線(xiàn)或存儲(chǔ)器,將能得到更準(zhǔn)確的結(jié)果。如果將采集的數(shù)據(jù)量控制到最小,就可以避免使用存儲(chǔ)器中的緩沖器,只是通過(guò)JTAG或總線(xiàn)直接發(fā)送。

10. 連續(xù)采集

在過(guò)程中監(jiān)測(cè)如果需要采集大量的數(shù)據(jù),可以考慮連續(xù)采集。注意,因?yàn)樵诿看芜\(yùn)行時(shí)會(huì)采集到不同的信息,將無(wú)法對(duì)結(jié)果進(jìn)行關(guān)聯(lián),因?yàn)闀r(shí)間戳包含不同的測(cè)試延時(shí)。在考慮從什么地方開(kāi)始發(fā)現(xiàn)問(wèn)題時(shí),這種方法最好。因?yàn)檫@樣能降低概率,也能降低監(jiān)測(cè)的等級(jí)。

11. 模塊

如果通過(guò)JTAG或總線(xiàn)發(fā)送數(shù)據(jù),則可以在目標(biāo)和主機(jī)之間放置一個(gè)處理模塊來(lái)處理時(shí)間戳的產(chǎn)生和有限的數(shù)據(jù)處理。通過(guò)將時(shí)間戳的工作卸載到該模塊,可以釋放測(cè)試總線(xiàn)的帶寬,用來(lái)發(fā)送更多的信息。模塊也是實(shí)現(xiàn)完全無(wú)干擾監(jiān)測(cè)的非常有效的方法。例如,模塊可以監(jiān)測(cè)系統(tǒng)總線(xiàn),監(jiān)測(cè)測(cè)試總線(xiàn)上某個(gè)特定的存儲(chǔ)器地址范圍,或使用直接存儲(chǔ)器訪(fǎng)問(wèn)(DMA)來(lái)觸發(fā)一次準(zhǔn)實(shí)時(shí)的數(shù)據(jù)塊獲取。

給定不同實(shí)時(shí)應(yīng)用的特性,將希望測(cè)試不同的采集方案,來(lái)確定哪些組合能實(shí)現(xiàn)最小的干擾的最高可視性。例如,如果有多余的存儲(chǔ)器,那么可以增加緩沖器大小。這取決于采集什么樣的數(shù)據(jù)及采集多少數(shù)據(jù)。

硬件輔助監(jiān)測(cè)

在某些情況下,測(cè)試代碼可能要么對(duì)系統(tǒng)影響太大,要么不夠準(zhǔn)確,或者不能簡(jiǎn)單地獲得理解流過(guò)復(fù)雜的SoC的數(shù)據(jù)流的特性所需要的信息。越來(lái)越多的SoC架構(gòu)包含用于輔助監(jiān)測(cè)器件的硬件運(yùn)行的功能,以滿(mǎn)足這些需求:

1. 事件計(jì)數(shù)器

用軟件監(jiān)測(cè)一個(gè)事件時(shí),很多細(xì)微的細(xì)節(jié)不容易被發(fā)現(xiàn)。例如,記錄某個(gè)特定的CPU內(nèi)核在等待訪(fǎng)問(wèn)共享資源(如外部存儲(chǔ)器)時(shí)停止的次數(shù),采用軟件就無(wú)法實(shí)現(xiàn)。包含一些設(shè)置很好的計(jì)數(shù)器的硬件設(shè)計(jì),可以以很低的額外成本實(shí)現(xiàn)對(duì)系統(tǒng)動(dòng)態(tài)特性的深入了解。數(shù)據(jù)可以通過(guò)調(diào)試器的JTAG接口讀出,或被周期性地讀出,例如,由軟件中的背景任務(wù)讀出并寫(xiě)入到緩沖器中,以便在稍后的時(shí)間進(jìn)行查詢(xún)。

2. 高水印計(jì)數(shù)器

通常,開(kāi)發(fā)者需要理解器件會(huì)運(yùn)行的極限惡劣狀況,例如,服務(wù)中斷的最大時(shí)間或輸入數(shù)據(jù)中的最小和最大抖動(dòng)。高水印計(jì)數(shù)器提供硬件,這些硬件能被配置用于監(jiān)測(cè)特定總線(xiàn)事件,并鎖存最大的(高水印)或者最小的(低水印)的時(shí)間參數(shù)。在不需要太大的開(kāi)銷(xiāo)情況下,他們能提供非常寶貴的統(tǒng)計(jì)數(shù)據(jù),否則需要用目標(biāo)軟件來(lái)實(shí)現(xiàn),或采集數(shù)據(jù)并發(fā)送到片外以作后續(xù)處理。

3. 跟蹤

一種成本很高但非常有用的硬件輔助監(jiān)測(cè)方法是跟蹤。在這種方法中,總線(xiàn)事務(wù)被記錄在專(zhuān)用的片上存儲(chǔ)器中,這樣一來(lái),可以捕獲導(dǎo)致產(chǎn)生一個(gè)事件的最后的N個(gè)總線(xiàn)事務(wù)。

上載捕獲的數(shù)據(jù)

一般來(lái)說(shuō),你會(huì)上載數(shù)據(jù)到一個(gè)開(kāi)發(fā)系統(tǒng)中(如電腦),或者上載到一個(gè)監(jiān)控模塊作進(jìn)一步分析。一旦確定需要采集什么樣的調(diào)試信息,以及如何采集以盡量減少干擾,那么必須決定如何從芯片向外發(fā)送數(shù)據(jù)-理想的情況是在應(yīng)用程序還在運(yùn)行時(shí)能夠發(fā)送。

應(yīng)該做的是緩沖器深度和上載頻率之間的折衷。你調(diào)試數(shù)據(jù)緩沖器越小,上載數(shù)據(jù)的頻率越高。頻繁上載將對(duì)系統(tǒng)性能產(chǎn)生持續(xù)的影響。如果有一個(gè)大的存儲(chǔ)器池用于緩存調(diào)試數(shù)據(jù),那么采集數(shù)據(jù)對(duì)系統(tǒng)性能的影響就會(huì)較小。然而,更大緩沖器則需要更多的目標(biāo)存儲(chǔ)器,在器件運(yùn)行期間上載數(shù)據(jù)對(duì)系統(tǒng)性能的影響將更顯著。

在應(yīng)用現(xiàn)場(chǎng),通過(guò)像串行總線(xiàn)、TCP/IP連接或者USB端口等系統(tǒng)端口上載數(shù)據(jù)可能非常有用。增加的數(shù)據(jù)吞吐量不僅消耗這些端口的帶寬,但也占用處理器周期,來(lái)處理協(xié)議并完成數(shù)據(jù)傳輸。

當(dāng)采集比芯片上能實(shí)時(shí)提供的還多的數(shù)據(jù)時(shí),將不可避免地在獲取的數(shù)據(jù)中引入空隙。在這些情況中,有必要周期性地插入足夠的關(guān)聯(lián)信息,以確保數(shù)據(jù)在最終從片上捕獲后能被成功解碼。對(duì)數(shù)據(jù)打包或者引入周期性的“同步點(diǎn)”是在數(shù)據(jù)流中提供這種額外信息的兩種方法??梢宰鳛閿?shù)據(jù)上載過(guò)程的一部分來(lái)完成這個(gè)工作,這樣冗余的信息就不必存儲(chǔ)在片上。

如果在一個(gè)SoC中多個(gè)CPU內(nèi)核共同工作,常常需要并行地對(duì)每個(gè)內(nèi)核上載獲取的信息,以便體現(xiàn)一個(gè)系統(tǒng)的完整情況。如果多個(gè)上載路徑不可用,要么在上載之前將來(lái)自多個(gè)內(nèi)核的數(shù)據(jù)結(jié)合起來(lái)放到一個(gè)緩沖器中,要么將它們按照某種方式復(fù)用起來(lái)以共享上載路徑。同樣的,在決定處理這些問(wèn)題的最佳方法時(shí),需要考慮系統(tǒng)的動(dòng)態(tài)特性和數(shù)據(jù)的相對(duì)重要性。如果有很多相對(duì)不重要的數(shù)據(jù)來(lái)自其中的一個(gè)內(nèi)核,而另外一個(gè)內(nèi)核偶爾會(huì)發(fā)送一些重要信息,你需要采用一種方法確保重要的信息能優(yōu)先于非重要的信息。

可視化及分析

將從SoC器件中產(chǎn)生的原始信息轉(zhuǎn)換成一種易于理解的格式對(duì)SoC本身提出了許多挑戰(zhàn)。能采集到的數(shù)據(jù)種類(lèi)、用于采集這些數(shù)據(jù)需要的特定硬件機(jī)制以及各類(lèi)不同的應(yīng)用,用戶(hù)需要解決所有這些特殊的問(wèn)題,這就使得創(chuàng)建一個(gè)通用的可視化工具非常具有挑戰(zhàn)性。模塊和定制化工具能進(jìn)行定制,使其能用于特定的硬件、軟件和要解決的問(wèn)題領(lǐng)域,這通常是克服這些挑戰(zhàn)所需的靈活性的最佳方法。使用一種模塊化的框架使其很容易將來(lái)自不同的數(shù)據(jù)流的數(shù)據(jù)進(jìn)行關(guān)聯(lián),針對(duì)特定類(lèi)型的信息分析關(guān)聯(lián)的數(shù)據(jù),并以一種易于理解的形式顯示這些從數(shù)據(jù)中得到的信息。這里描述了這種框架應(yīng)該提供的一些功能類(lèi)型實(shí)例:

1. 關(guān)聯(lián)數(shù)據(jù)點(diǎn)

在解決一個(gè)多處理器SoC中的瓶頸、競(jìng)爭(zhēng)或負(fù)載均衡這類(lèi)系統(tǒng)級(jí)問(wèn)題時(shí),可能需要從多個(gè)處理器和加速器采集數(shù)據(jù)。在這種情況下,重構(gòu)系統(tǒng)行為需要將多個(gè)記錄關(guān)聯(lián)到一個(gè)時(shí)間線(xiàn)。在某些系統(tǒng)上,系統(tǒng)時(shí)鐘的實(shí)用性較高,從而可以使這個(gè)問(wèn)題簡(jiǎn)單化。而對(duì)于另外一些系統(tǒng),可能需要通過(guò)利用像DMA這樣的系統(tǒng)資源,從其它內(nèi)核來(lái)訪(fǎng)問(wèn)的方式利用時(shí)鐘。如果公共時(shí)鐘不可行,可以使用其他機(jī)制來(lái)周期性地同步多個(gè)內(nèi)核的時(shí)間。其中的一個(gè)方法是使用中斷來(lái)將一個(gè)同步時(shí)間戳通過(guò)共享存儲(chǔ)器傳遞。理想情況時(shí),可視化工具能適應(yīng)這些不同的記錄關(guān)聯(lián)方法。

2. 分析基礎(chǔ)架構(gòu)

一種模塊框架能夠?qū)⒊R?jiàn)的分析活動(dòng)制作成模塊,這些模塊能用來(lái)實(shí)現(xiàn)很多不同的分析和可視化工具,例如,一種普通的可定制數(shù)據(jù)轉(zhuǎn)換器和表格,可以很容易用于創(chuàng)建一種消息記錄瀏覽器;一種能夠?qū)⒒谝皇录驎r(shí)間戳的多個(gè)數(shù)據(jù)流關(guān)聯(lián)起來(lái)的分析模塊,可以被用作為一個(gè)構(gòu)建塊,來(lái)構(gòu)造送往其它分析模塊的數(shù)據(jù);一種用來(lái)分析過(guò)去一段時(shí)間的高水位標(biāo)志的模塊能為特定應(yīng)用的Dashboard、帶寬利用率監(jiān)測(cè)器等提供一些基本依據(jù)。

3. 可擴(kuò)展性

盡管可以用一些普通組件來(lái)評(píng)估所采集的大量數(shù)據(jù),但最好是能夠構(gòu)造定制組件來(lái)擴(kuò)展工具的環(huán)境。

4. 可配置性

可視化工具對(duì)于從大的緩沖器上載中提取有意義的信息非常關(guān)鍵,開(kāi)發(fā)者需要能配置工具來(lái)強(qiáng)調(diào)特殊的差異性和數(shù)據(jù)峰值以發(fā)現(xiàn)一般的行為和異常的行為。為了從目標(biāo)對(duì)象上卸載數(shù)據(jù)處理,所用工具應(yīng)該提供允許將智能特性構(gòu)建到工具中的可編程基本功能,并減少需要采集的數(shù)據(jù)量。還應(yīng)該提供足夠的控制以確定在任何給定的時(shí)間,來(lái)規(guī)定應(yīng)該采集什么樣的數(shù)據(jù)。

看看現(xiàn)實(shí)

獲得對(duì)實(shí)時(shí)SoC系統(tǒng)內(nèi)部的可視性的挑戰(zhàn)當(dāng)然并不是微不足道的小事。采集到足夠的信息來(lái)產(chǎn)生不需要校正的有意義的結(jié)果,需要一種系統(tǒng)級(jí)的方法。通過(guò)使用軟件工具庫(kù),利用硬件輔助監(jiān)測(cè)以及對(duì)數(shù)據(jù)如何從芯片上發(fā)送出來(lái)的管理,增加準(zhǔn)確性、寬度、深度和采集數(shù)據(jù)的粒度,使得開(kāi)發(fā)者能采集更多的可靠信息。新的靈活工具套件和軟件開(kāi)發(fā)策略將幫助開(kāi)發(fā)者來(lái)應(yīng)對(duì)測(cè)試和調(diào)試用于具有高精度和高置信度的實(shí)時(shí)應(yīng)用的復(fù)雜SoC架構(gòu)的挑戰(zhàn)。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉