新聞中心

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

分析復(fù)雜器件內(nèi)部的實(shí)時可視性的設(shè)計方法

作者: 時間:2011-07-05 來源:網(wǎng)絡(luò) 收藏

  6. 塊狀記錄

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

  7. 按塊上載

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

  8. RTOS監(jiān)測

  RTOS,即:系統(tǒng)(Real-time operating system),系統(tǒng)能夠在指定或者確定的時間內(nèi)完成系統(tǒng)功能和外部或、同步或異步時間做出響應(yīng)的系統(tǒng)。它的正確性不僅依賴系統(tǒng)計算的邏輯結(jié)果,還依賴于產(chǎn)生這個結(jié)果的時間。因此實(shí)時系統(tǒng)應(yīng)該在事先先定義的時間范圍內(nèi)識別和處理離散事件的能力;系統(tǒng)能夠處理和儲存控制系統(tǒng)所需要的大量數(shù)據(jù)。 為了便于理解,機(jī)場的售票系統(tǒng)就是一個典型的實(shí)時系統(tǒng)。

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

  RTOS就是這樣的一個標(biāo)準(zhǔn)內(nèi)核,包括了各種片上外設(shè)初始化和數(shù)據(jù)結(jié)構(gòu)的格式化,不必、也不推薦用戶再對硬件設(shè)備和資源進(jìn)行直接操作,所有的硬件設(shè)置和資源訪問都要通過RTOS核心。硬件這樣屏蔽起來以后,用戶不必清楚硬件系統(tǒng)的每一個細(xì)節(jié)就可以進(jìn)行開發(fā),這樣就減少了開發(fā)前的學(xué)習(xí)量。

  一般來說,對硬件的直接訪問越少,系統(tǒng)的可靠性越高。RTOS是一個經(jīng)過測試的內(nèi)核,與一般用戶自行編寫的主程序內(nèi)核相比,更規(guī)范,效率和可靠性更高。對于一個精通單片機(jī)硬件系統(tǒng)和編程的“老手”而言,通過RTOS對系統(tǒng)進(jìn)行管理可能不如直接訪問更直觀、自由度大,但是通過RTOS管理能夠排除人為疏忽因素,提高軟件可靠性。

  另外,高效率地進(jìn)行多任務(wù)支持是RTOS從始至終的一條主線,采用RTOS管理系統(tǒng)可以統(tǒng)一協(xié)調(diào)各個任務(wù),優(yōu)化CPU時間和系統(tǒng)資源的分配,使之不空閑、不擁塞。針對某種具體應(yīng)用,精細(xì)推敲的應(yīng)用程序不采用RTOS可能比采用RTOS能達(dá)到更高的效率;但是對于大多數(shù)一般用戶和新手而言,采用RTOS是可以提高資源利用率的,尤其是在片上資源不斷增長、產(chǎn)品可靠性和進(jìn)入市場時間更重要的今天。

  9. 避免訪問存儲器和其它系統(tǒng)資源

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

  10. 連續(xù)采集

  在一段時間內(nèi)從流體中連續(xù)采集樣品,對于該時段而言,稱之為連續(xù)采樣。連續(xù)采樣主要用于污染物濃度隨時間變化的場合,用以描述流體中污染物質(zhì)的平均濃度,尤其適用于江、河的水質(zhì)監(jiān)測和連續(xù)排放的廢水污染源、廢氣污染源的監(jiān)測??煞从骋欢〞r段內(nèi)的平均水平,代表性強(qiáng);缺點(diǎn)是不能反映污染物的瞬時濃度和最大值,容易掩蓋污染的極限情況。

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

  11. 模塊

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

  硬件輔助監(jiān)測

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

  1. 事件計數(shù)器

  計數(shù)是一種最簡單基本的運(yùn)算,計數(shù)器就是實(shí)現(xiàn)這種運(yùn)算的邏輯電路,計數(shù)器在數(shù)字系統(tǒng)中主要是對脈沖的個數(shù)進(jìn)行計數(shù),以實(shí)現(xiàn)測量、計數(shù)和控制的功能,同時兼有分頻功能,計數(shù)器是由基本的計數(shù)單元和一些控制門所組成,計數(shù)單元則由一系列具有存儲信息功能的各類觸發(fā)器構(gòu)成,這些觸發(fā)器有RS觸發(fā)器、T觸發(fā)器、D觸發(fā)器及JK觸發(fā)器等。計數(shù)器在數(shù)字系統(tǒng)中應(yīng)用廣泛,如在電子計算機(jī)的控制器中對指令地址進(jìn)行計數(shù),以便順序取出下一條指令,在運(yùn)算器中作乘法、除法運(yùn)算時記下加法、減法次數(shù),又如在數(shù)字儀器中對脈沖的計數(shù)等等。計數(shù)器可以用來顯示產(chǎn)品的工作狀態(tài),一般來說主要是用來表示產(chǎn)品已經(jīng)完成了多少份的折頁配頁工作。

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



評論


相關(guān)推薦

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

關(guān)閉