久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

讓嵌入式系統(tǒng)保持穩(wěn)健的方法和技術(shù),!

 西北望msm66g9f 2018-08-14

嵌入式系統(tǒng)現(xiàn)在變得更加智能,互連程度更高,,當(dāng)然也比以前要復(fù)雜,。要讓嵌入式系統(tǒng)保持穩(wěn)健并盡可能接近無(wú)錯(cuò)誤,開(kāi)發(fā)團(tuán)隊(duì)需要有效的方法來(lái)進(jìn)行測(cè)試,,驗(yàn)證系統(tǒng)能否按預(yù)期的方式工作,。測(cè)試工作中最關(guān)鍵,通常也是難度最高的方面,,就是在微控制器上運(yùn)行軟件,。


本文將向開(kāi)發(fā)人員介紹如何使用這些新技術(shù),以及新技術(shù)實(shí)施所需的設(shè)備和工具,。


嵌入式測(cè)試的要求變化


現(xiàn)代嵌入式系統(tǒng)測(cè)試工具要求開(kāi)發(fā)人員采用以下四種主要組件,,才能完全測(cè)試他們的系統(tǒng):


  • 支持跟蹤功能的調(diào)試器

  • 通信適配器/嗅探器

  • 邏輯分析儀

  • 模數(shù)轉(zhuǎn)換器 (ADC)


使用這四個(gè)組件,開(kāi)發(fā)人員能夠在系統(tǒng)級(jí)別和微控制器級(jí)別上測(cè)試嵌入式軟件,,還可向下深入到由微處理器執(zhí)行的指令,。


在當(dāng)今的開(kāi)發(fā)環(huán)境中,這一點(diǎn)非常關(guān)鍵,,旨在確保構(gòu)建的系統(tǒng)不僅能夠滿足需求,,還能夠可靠地運(yùn)行。


初看起來(lái),,可能類(lèi)似于非常傳統(tǒng)的嵌入式系統(tǒng)測(cè)試工具,,但它的進(jìn)步和新功能真正源于一種分析微控制器中運(yùn)行情況的全新方式,稱為“深入洞察分析”,。


利用深入洞察分析來(lái)測(cè)試軟件


深入洞察分析讓開(kāi)發(fā)人員能夠在運(yùn)行時(shí)分析系統(tǒng),。深入洞察分析有三個(gè)關(guān)鍵組成部分:


  • RTOS 感知的調(diào)試

  • 運(yùn)行時(shí)分析

  • 剖析和代碼覆蓋分析


開(kāi)發(fā)人員通常在設(shè)計(jì)應(yīng)用之后,使用基本調(diào)試技術(shù)(例如斷點(diǎn)調(diào)試)嘗試了解系統(tǒng)的工作情況,隨后立即開(kāi)始測(cè)試,。在存在斷點(diǎn)的情況下進(jìn)行測(cè)試只流于表面,,無(wú)法讓開(kāi)發(fā)人員真正了解微控制器中的運(yùn)行情況。


使用深入洞察分析,,開(kāi)發(fā)人員能夠在基本測(cè)試和調(diào)試之外更深入地挖掘 RTOS,、運(yùn)行時(shí)行為、執(zhí)行分析和覆蓋,。



要為測(cè)試工具添加深入洞察分析功能,,開(kāi)發(fā)人員必須使用專業(yè)調(diào)試工具,例如 Segger Microcontroller Systems,、J-Trace 或 J-Link Ultra+,。


J-Link Ultra+ 使用標(biāo)準(zhǔn)的 JTAG 或 SWD 接口,從板載調(diào)試模塊提取跟蹤數(shù)據(jù),。這些信息可用于執(zhí)行多種不同分析,,例如 RTOS 感知的調(diào)試。


使用 RTOS 感知的調(diào)試,,開(kāi)發(fā)人員能夠在執(zhí)行測(cè)試案例時(shí)監(jiān)控任務(wù)的執(zhí)行情況,。例如開(kāi)發(fā)人員能夠深入了解以下情況:


  • 最大堆棧使用

  • 任務(wù)運(yùn)行計(jì)數(shù)

  • 任務(wù)狀態(tài)


顯示了結(jié)合使用 Segger 的 embOS RTOS 和 Embedded Studio 的測(cè)試會(huì)話示例。此視圖可以讓開(kāi)發(fā)人員深入了解 RTOS 的運(yùn)行情況,,但無(wú)法提供應(yīng)用運(yùn)行情況的完整信息,。



開(kāi)發(fā)人員可以使用 Segger 的免費(fèi) SystemView 實(shí)用工具或 Percepio 的 Tracealyzer 工具,進(jìn)一步增強(qiáng)測(cè)試工具,。這些工具為開(kāi)發(fā)人員提供運(yùn)行時(shí)分析,,以便他們?cè)谶\(yùn)行測(cè)試套件時(shí),直觀地查看和分析應(yīng)用的執(zhí)行情況,。


為了采集這些跟蹤數(shù)據(jù),,開(kāi)發(fā)人員需要配置他們的應(yīng)用,,以便在 IDE 內(nèi)部進(jìn)行跟蹤,,或者使用配置工具進(jìn)行跟蹤。如果沒(méi)有使用工具,,他們可以手動(dòng)集成低級(jí)別庫(kù),。


運(yùn)行時(shí)分析可為開(kāi)發(fā)人員提供有關(guān)應(yīng)用運(yùn)行情況的豐富信息。例如,,開(kāi)發(fā)人員能夠:


  • 跟蹤事件的時(shí)間和順序

  • 獲取最大,、最小和平均的執(zhí)行時(shí)間

  • 直觀地查看任務(wù)執(zhí)行,以及任務(wù)何時(shí)切換

  • 監(jiān)控 CPU 負(fù)載

  • 分析任務(wù)統(tǒng)計(jì)數(shù)據(jù)

  • 識(shí)別潛在問(wèn)題,,例如優(yōu)先級(jí)反轉(zhuǎn),、任務(wù)抖動(dòng)和死鎖



雖然為測(cè)試工具添加了 RTOS 感知的調(diào)試和運(yùn)行時(shí)分析功能,但這可能還不足夠,。在很多實(shí)例中,,錯(cuò)誤可能隱藏在測(cè)試過(guò)程中從不執(zhí)行的代碼中,。對(duì)于開(kāi)發(fā)人員而言,了解哪些代碼行已經(jīng)執(zhí)行過(guò)可能非常困難,。在這一方面,,J-Trace 等工具為我們帶來(lái)了很多便利。


如何跟蹤已執(zhí)行代碼


J-Trace 使用微控制器中的嵌入式跟蹤宏單元 (ETM) 端口來(lái)執(zhí)行指令跟蹤,。通過(guò)指令跟蹤,,J-Trace 能夠“看到”在處理器上執(zhí)行的每一個(gè) CPU 指令,以及代碼的準(zhǔn)確路徑,。


在測(cè)試工具中使用這種分析,,開(kāi)發(fā)人員能夠確定測(cè)試案例是否達(dá)到了 80%、90% 或 100% 的代碼覆蓋率,。


如果測(cè)試覆蓋率只有 95%,,但又必須達(dá)到 100% 的覆蓋率才能交付產(chǎn)品,他們可以使用類(lèi)似于 Ozone 的免費(fèi)實(shí)用工具,,查看哪些代碼行已經(jīng)執(zhí)行,,更重要的是查看哪些代碼行尚未執(zhí)行。


然后可以添加新的測(cè)試案例,,確保這些遺漏的代碼行在測(cè)試中得到執(zhí)行,。



借助深入洞察分析提供的強(qiáng)大工具,開(kāi)發(fā)人員現(xiàn)在能夠自由專注于構(gòu)建有效測(cè)試工具所必需的其他組件,。測(cè)試工具的另一個(gè)至關(guān)重要的組件是在測(cè)試過(guò)程中用于與微控制器通信并控制其行為的工具,。


命令和控制嵌入式系統(tǒng)


對(duì)于如何與外界進(jìn)行交互,每個(gè)嵌入式都有不同的需求,。有些器件可能通過(guò)簡(jiǎn)單的 UART 進(jìn)行通信,,而其他器件則可能使用 CAN 或 TCP/IP。


為了成功地構(gòu)建能夠與系統(tǒng)進(jìn)行通信并讓其執(zhí)行命令的測(cè)試工具,,開(kāi)發(fā)人員必須在測(cè)試工具中增加通信硬件和軟件,。


雖然嵌入式系統(tǒng)使用了大量不同的通信接口,但其中一種接口比其他任何接口都更加常用,,那就是 UART,。嵌入式軟件開(kāi)發(fā)人員習(xí)慣使用 UART,將這種接口包括在測(cè)試工具中很重要,,原因有幾個(gè),,其中包括:


  • 為了調(diào)試信息,例如打印消息(雖然這些信息應(yīng)該通過(guò)調(diào)試器發(fā)送)

  • 設(shè)備發(fā)出命令

  • 監(jiān)控多個(gè)器件之間的內(nèi)部通信

  • 易于使用


每個(gè)開(kāi)發(fā)人員都應(yīng)在實(shí)驗(yàn)室常備的一種通用 UART 工具是由 SparkFun Electronics 提供的 BOB-12731 FT232R, USB-to-UART 評(píng)估板,。



這些價(jià)格低廉的評(píng)估板可以輕松連接到任何嵌入式系統(tǒng),,并在 PC 上作為簡(jiǎn)單的通信端口。它不需要任何特殊驅(qū)動(dòng)程序或軟件就能與嵌入式系統(tǒng)進(jìn)行通信。開(kāi)發(fā)人員只需打開(kāi) COM 端口即可開(kāi)始發(fā)送和接收測(cè)試消息,。


驗(yàn)證每個(gè)邏輯狀態(tài)


要對(duì)嵌入式系統(tǒng)進(jìn)行完全測(cè)試,,就需要開(kāi)發(fā)人員驗(yàn)證微控制器的內(nèi)部工作情況,以及它產(chǎn)生的外部邏輯,。這種邏輯可能是簡(jiǎn)單的輸入和輸出狀態(tài),,以及低級(jí)別通信,例如 I2C 或 SPI,。


但是,,如果開(kāi)發(fā)人員使用模數(shù)轉(zhuǎn)換器 (ADC) 和數(shù)模轉(zhuǎn)換器 (DAC) 板,則監(jiān)控輸入/輸出狀態(tài)和低級(jí)別通信可能成本高昂,。開(kāi)發(fā)人員可以利用一些技巧來(lái)降低成本,,以便監(jiān)控這些信號(hào)和改進(jìn)測(cè)試功能。


第一個(gè)技巧是使用來(lái)自系統(tǒng)上的微控制器的開(kāi)發(fā)板,,來(lái)監(jiān)控微控制器引腳,。例如,如果開(kāi)發(fā)人員使用 STMicroelectronics STM32F767 或 STM32L4微控制器,,則他們應(yīng)該首先購(gòu)買(mǎi) STM32F767 Nucleo 板 或 STM32L476RGT6 Nucleo 板,。



然后,他們應(yīng)該使用板上的針座,,直接將每個(gè) I/O 引腳跳轉(zhuǎn)到系統(tǒng)上的相應(yīng)引腳,。由于他們已經(jīng)為微控制器開(kāi)發(fā)了低級(jí)別驅(qū)動(dòng)程序,因此可以輕松地調(diào)節(jié)這些驅(qū)動(dòng)程序,,以便監(jiān)控微控制器的輸入和輸出狀態(tài),。


開(kāi)發(fā)人員還可以添加少量額外代碼,例如 USB 驅(qū)動(dòng)程序,,這樣開(kāi)發(fā)板就能夠直接插入到測(cè)試主機(jī),。


USB 可用于接收輸入/輸出樣本狀態(tài)數(shù)據(jù),隨后這些數(shù)據(jù)可以關(guān)聯(lián)至從系統(tǒng)發(fā)出和接收命令,,以確定工作情況是否完全符合預(yù)期,。


除了使用開(kāi)發(fā)板之外,測(cè)試工具也可以使用邏輯探頭,,例如同樣來(lái)自 SparkFun 的 Logic Pro 8,。


這些邏輯分析儀具有多功能性,,在要監(jiān)控的對(duì)象方面,,可通過(guò)軟件對(duì)每個(gè)輸入進(jìn)行修改。


例如,,開(kāi)發(fā)人員可設(shè)置前兩個(gè)輸入來(lái)監(jiān)控開(kāi)關(guān)輸入,,同時(shí)使用接著的兩個(gè)輸入來(lái)監(jiān)控 I2C 通信,并使用剩余的輸入來(lái)監(jiān)控 SPI。數(shù)據(jù)可以輕松采集,,然后與測(cè)試工具的剩余組件進(jìn)行同步,,從而讓我們?nèi)媪私馇度胧较到y(tǒng)的工作情況。


構(gòu)建測(cè)試工具的技巧和訣竅


顯而易見(jiàn),,測(cè)試工具對(duì)于很多現(xiàn)代嵌入式系統(tǒng)是必不可少的,。獲得認(rèn)證有時(shí)可能非常困難,但認(rèn)證產(chǎn)生的回報(bào)和帶來(lái)的系統(tǒng)穩(wěn)健性提升的價(jià)值會(huì)數(shù)倍于投資成本,。


在首次構(gòu)建測(cè)試工具時(shí),,甚至在升級(jí)測(cè)試工具時(shí),開(kāi)發(fā)人員可以利用多種技巧,,確保構(gòu)建最有效的測(cè)試工具,。其中包括:


  • 使用與主要目標(biāo)相同的處理器的開(kāi)發(fā)套件,來(lái)監(jiān)控微控制器的數(shù)字輸入和輸出

  • 在支持跟蹤功能的調(diào)試器上進(jìn)行投資,,并利用免費(fèi)的軟件包,,以最深入地了解系統(tǒng)運(yùn)行情況

  • 運(yùn)行軟件跟蹤時(shí),請(qǐng)務(wù)必使用最壞情況測(cè)試,,以確保您能夠獲取最壞情況場(chǎng)景

  • 如果沒(méi)有足夠的資金來(lái)構(gòu)建完善的測(cè)試工具,,首先構(gòu)建較小的測(cè)試工具,然后隨著時(shí)間推移加以完善,。哪怕只進(jìn)行一部分測(cè)試,,也強(qiáng)于沒(méi)有進(jìn)行測(cè)試。

  • 花費(fèi)必要的時(shí)間掌握要在測(cè)試工具中使用的不同工具和組件

  • 不要害怕構(gòu)建您自己的接口,,要充分利用現(xiàn)有軟件來(lái)監(jiān)控系統(tǒng)運(yùn)行情況

  • 不要做出任何假設(shè),!如果您沒(méi)有監(jiān)控輸出或觸發(fā)輸入,則很可能讓錯(cuò)誤乘虛而入,。


總結(jié)


為嵌入式系統(tǒng)開(kāi)發(fā)測(cè)試工具,,是一種改進(jìn)嵌入式系統(tǒng)可靠性的低成本方法。精心選擇測(cè)試工具的組件,,可以讓開(kāi)發(fā)人員輕松監(jiān)控軟件的外部行為,。


測(cè)試的最關(guān)鍵而又經(jīng)常易于忽略的環(huán)節(jié)是檢查跟蹤數(shù)據(jù),現(xiàn)在這些數(shù)據(jù)可從微控制器輕松訪問(wèn),。


使用這些跟蹤數(shù)據(jù),,開(kāi)發(fā)人員能夠執(zhí)行深入洞察分析,同時(shí)執(zhí)行他們的測(cè)試案例,,以確保其軟件即使針對(duì)個(gè)別指令也能按預(yù)期工作,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多