www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式分享
[導(dǎo)讀]儀器不僅應(yīng)視為調(diào)試工具,還應(yīng)將儀器視為驗證和優(yōu)化嵌入式系統(tǒng)及其環(huán)境的一種手段(例如,其內(nèi)置的設(shè)備)。它確保系統(tǒng)按預(yù)期工作。就像將測試點添加到硬件一樣,儀器應(yīng)嵌入固件中。項目越復(fù)雜,專注于測試的需求就越大。開發(fā)人員應(yīng)確保日志捕獲相關(guān)數(shù)據(jù),例如可變值,狀態(tài)和錯誤消息,以快速識別問題。解決癥狀而不了解根本原因可能導(dǎo)致反復(fù)出現(xiàn)的問題。固件模塊的儀器可以是多個項目的寶貴長期投資,因為它可以加快調(diào)試和測試。

如何以及何時添加代碼儀器

成功代碼儀器的關(guān)鍵是找到適當(dāng)?shù)钠胶?。有必要收集足夠的信息以有效,而不會顯著影響性能或代碼復(fù)雜性。

儀器不僅應(yīng)視為調(diào)試工具,還應(yīng)將儀器視為驗證和優(yōu)化嵌入式系統(tǒng)及其環(huán)境的一種手段(例如,其內(nèi)置的設(shè)備)。它確保系統(tǒng)按預(yù)期工作。就像將測試點添加到硬件一樣,儀器應(yīng)嵌入固件中。項目越復(fù)雜,專注于測試的需求就越大。開發(fā)人員應(yīng)確保日志捕獲相關(guān)數(shù)據(jù),例如可變值,狀態(tài)和錯誤消息,以快速識別問題。解決癥狀而不了解根本原因可能導(dǎo)致反復(fù)出現(xiàn)的問題。固件模塊的儀器可以是多個項目的寶貴長期投資,因為它可以加快調(diào)試和測試。

通常,代碼應(yīng)不遲于集成階段的儀器,以盡早發(fā)現(xiàn)錯誤或效率低下,并減少在最后階段的嚴(yán)重問題,重新設(shè)計和延遲的風(fēng)險。在計劃儀器時,必須確定以下內(nèi)容。

1。應(yīng)該儀器進(jìn)行儀器的哪些部分(任務(wù)/應(yīng)用程序代碼,RTO,驅(qū)動程序,異常處理程序等)以及應(yīng)記錄哪些數(shù)據(jù)和事件?在代碼部分中包括儀器可能會引起問題,因此當(dāng)問題以后發(fā)生時,當(dāng)我們不再使用調(diào)試探測器訪問嵌入式系統(tǒng)時,它將存在。

2。圓形緩沖區(qū)對記錄數(shù)據(jù)的大小(歷史的長度取決于我們可以專用于其的內(nèi)存量)?

3。應(yīng)該包裝數(shù)據(jù)以在相同數(shù)量的內(nèi)存中獲得更長或更詳細(xì)的歷史記錄嗎?

4。減少數(shù)據(jù)泛濫:實時系統(tǒng)生成大量數(shù)據(jù)。僅能激活那些對于特定類型的測試很重要的數(shù)據(jù)集很重要。否則,要么歷史記錄太短,要么由于主機(jī)帶寬不足而導(dǎo)致數(shù)據(jù)丟失。

5。如何記錄致命錯誤和系統(tǒng)異常,重置/重新啟動原因以及其他與系統(tǒng)相關(guān)的信息?

6。應(yīng)該支持哪些記錄方法?流媒體模式,將數(shù)據(jù)連續(xù)傳輸?shù)街鳈C(jī);驗尸模式,數(shù)據(jù)覆蓋圓形緩沖區(qū)中最古老的條目;單桿模式,緩沖區(qū)線性填充直到完整為止;還是以上所有?

7。當(dāng)調(diào)試探針斷開連接時,如何將記錄的數(shù)據(jù)傳輸?shù)街鳈C(jī)?

8。開發(fā)人員是否應(yīng)該能夠通過確定捕獲哪些數(shù)據(jù)以及何時捕獲數(shù)據(jù)來控制數(shù)據(jù)記錄?鑒于圓形緩沖區(qū)的大小有限,并且數(shù)據(jù)傳輸速度有限,因此使用過濾器和觸發(fā)器捕獲特定數(shù)據(jù)是非常有益的。

9.應(yīng)該監(jiān)視哪些資源(例如,內(nèi)存池)?

結(jié)論

代碼儀器對于復(fù)雜的嵌入式系統(tǒng)非常重要,應(yīng)成為固件可靠性和可檢驗性策略設(shè)計的一部分。正確測試和有效調(diào)試的關(guān)鍵是可觀察性,系統(tǒng)影響最小。儀器的目的不僅應(yīng)該是查找錯誤,而且主要是要驗證代碼應(yīng)盡其所能,包括實時正時約束。我們必須衡量想要改進(jìn)的東西。代碼質(zhì)量和可靠性對于所有嵌入式系統(tǒng),而不僅僅是高融合系統(tǒng)都很重要。由于不經(jīng)常發(fā)生和缺乏歷史數(shù)據(jù),因此在測試或現(xiàn)場試驗期間可能會隨機(jī)駁斥難以釋放的問題,但它們經(jīng)常浮出水面,尤其是隨著系統(tǒng)部署的增加。所以,在實驗室測試期間,一旦產(chǎn)品進(jìn)入現(xiàn)場,必須提供性能歷史記錄。

該軟件生成的跟蹤不需要任何特殊的硬件,可以在實驗室和部署的產(chǎn)品中使用,例如在航空中的黑匣子。它捕獲任何數(shù)據(jù),例如本地變量,功能參數(shù)或異常轉(zhuǎn)儲,而硬件跟蹤通常僅限于控制流和全局?jǐn)?shù)據(jù),需要高速跟蹤端口和專門的調(diào)試探測器。儀器可以通過對導(dǎo)致斷點或系統(tǒng)例外的歷史的細(xì)粒度看待傳統(tǒng)調(diào)試來補(bǔ)充傳統(tǒng)調(diào)試。

以下文章將介紹一個新的最小侵入性和高度靈活的開源工具包,用于從資源受限到大型RTO的所有類型項目的儀器。

附錄1:當(dāng)前代碼儀器解決方案的缺點

不同的項目有不同的儀器需求。例如,由于執(zhí)行緩慢,對于一個項目而言,對另一個項目的執(zhí)行緩慢可能完全適合另一個項目,而并非所有嵌入式系統(tǒng)都具有嚴(yán)重的內(nèi)存限制。使用最簡單的方法獲得所需的測試結(jié)果很重要。隨著項目變得更加復(fù)雜和實時要求,測試問題和工具要求也會增加。

這篇評論是針對對現(xiàn)有解決方案局限性感興趣的人。儀器方法在功能和資源使用方面差異很大,每種方法都有不同程度的缺點。此說明適用于在將其發(fā)送到主機(jī)之前在RAM中緩沖數(shù)據(jù)的解決方案。 printf()方法很簡單,但通常非誘因,緩慢且內(nèi)存密集型(使用大量程序內(nèi)存和堆??臻g)。即使是有限的功能版本的printf()也需要字符串和高帶寬的內(nèi)存,以將數(shù)據(jù)傳輸?shù)街鳈C(jī)。更好的解決方案與printf字符串記錄應(yīng)用程序數(shù)據(jù),并脫機(jī)地將它們解碼。但是,將字符串復(fù)制到圓形緩沖區(qū)會添加CPU開銷,并消耗RAM和程序內(nèi)存。單個數(shù)據(jù)記錄解決方案具有或多或少的以下缺點。

?日志記錄功能的緩慢執(zhí)行 - 例如,日志記錄一次一次處理數(shù)據(jù)8位,對于現(xiàn)代32位嵌入式系統(tǒng)而言,這很慢。

?非倫敦記錄功能,無法記錄多任務(wù)或中斷/異常。

?阻止功能 - 例如,如果在較低的優(yōu)先級功能將數(shù)據(jù)寫入緩沖區(qū)時發(fā)生中斷,則中斷程序無法捕獲數(shù)據(jù),因為捕獲被阻止,直到較低的優(yōu)先級功能完成編寫事件數(shù)據(jù)。

?記錄RTOS事件很快,但是記錄應(yīng)用程序特定的事件和數(shù)據(jù)很慢,因為它依賴于printf樣功能。這種方法要求將printf字符串復(fù)制到圓形緩沖區(qū)中,該緩沖區(qū)消耗了寶貴的空間,并限制了可以存儲的歷史數(shù)據(jù)量。

?必須手動分配特定于應(yīng)用程序的事件代碼。

?過度使用程序內(nèi)存通常是由嵌入式系統(tǒng)中printf字符串的相對較大的數(shù)據(jù)記錄功能和/或存儲引起的。

?對于基于RTOS的應(yīng)用程序,過多的堆棧使用尤其有問題。這是因為必須為調(diào)用記錄功能的每個任務(wù)分配其他堆??臻g。此外,現(xiàn)有項目的儀器可能導(dǎo)致堆棧溢出。

?某些解決方案需要在數(shù)據(jù)寫入圓形緩沖區(qū)期間被禁用。在受MPU保護(hù)的RTO中,任務(wù)不能禁用中斷,從而使高融合應(yīng)用程序不可能進(jìn)行數(shù)據(jù)記錄。

?數(shù)據(jù)不能導(dǎo)出或只能手動導(dǎo)出。數(shù)據(jù)解碼不能輕易自定義,并且輸出以多種格式分類為多種格式,以使用最合適的工具進(jìn)行有效分析。更好地了解大量未排序數(shù)據(jù)需要復(fù)雜的自定義工具。

?無法記錄所有類型的數(shù)據(jù)。但是,重要的是記錄任何可以幫助識別或診斷問題的數(shù)據(jù)。

?使用動態(tài)分配的緩沖區(qū)和/或不一致的邊界檢查,這不適用于高融合系統(tǒng)。

?數(shù)據(jù)沒有時間戳(無法定時分析)。

?缺少或有限的過濾功能:通常僅在編譯時間而不是在系統(tǒng)操作期間進(jìn)行消息過濾(如果主機(jī)的帶寬不足或需要更長或更詳細(xì)的歷史記錄)。

?所有數(shù)據(jù)都寫入單個日志文件,由于數(shù)據(jù)泛濫,該文件對于手動檢查變得太大。

?可移植性差(不可攜帶的記錄庫代碼或缺乏對特定CPU核心或硬件的支持),因此不能用于所有系統(tǒng)。

?解決方案不適合高融合項目(例如功能安全)。

?有限的范圍:某些儀器解決方案可能會集中在特定方面,例如性能或調(diào)試,而無需提供系統(tǒng)的整體視圖。

?高許可成本或?qū)⒔鉀Q方案與特定的調(diào)試探針,IDE或工具鏈聯(lián)系起來。

?具有大量數(shù)據(jù)記錄功能/宏和陡峭學(xué)習(xí)曲線的復(fù)雜解決方案。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉