美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区

產(chǎn)品分類

當前位置: 首頁 > 工業(yè)電子產(chǎn)品 > 半導(dǎo)體產(chǎn)品 > 微控制器MCU

類型分類:
科普知識
數(shù)據(jù)分類:
微控制器MCU

為微控制器軟件構(gòu)建有效的測試工具

發(fā)布日期:2022-04-22 點擊率:77

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

由于在資源受限的器件上使用最新測試技術(shù)存在困難,微控制器軟件測試通常落后于在基于應(yīng)用處理器的器件上執(zhí)行的測試。但是,由于我們在與傳統(tǒng)測試工具設(shè)計技術(shù)配合使用的調(diào)試技術(shù)方面取得了新進展,嵌入式系統(tǒng)開發(fā)人員現(xiàn)在能夠更加有效地測試系統(tǒng)軟件。

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

嵌入式測試的要求變化

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

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

  • 通信適配器/嗅探器

  • 邏輯分析儀

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

測試嵌入式系統(tǒng)所需的各種接口和工具的框圖

圖 1: 測試嵌入式系統(tǒng)所需的各種接口和工具,包括調(diào)試器、通信轉(zhuǎn)換器、邏輯分析儀和模數(shù)轉(zhuǎn)換器。(圖片來源:Beningo Embedded Group)

使用這四個組件,開發(fā)人員能夠在系統(tǒng)級別和微控制器級別上測試嵌入式軟件,還可向下深入到由微處理器執(zhí)行的指令。在當今的開發(fā)環(huán)境中,這一點非常關(guān)鍵,旨在確保構(gòu)建的系統(tǒng)不僅能夠滿足需求,還能夠可靠地運行。

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

利用深入洞察分析來測試軟件

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

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

  • 運行時分析

  • 剖析和代碼覆蓋分析

開發(fā)人員通常在設(shè)計應(yīng)用之后,使用基本調(diào)試技術(shù)(例如斷點調(diào)試)嘗試了解系統(tǒng)的工作情況,隨后立即開始測試。在存在斷點的情況下進行測試只流于表面,無法讓開發(fā)人員真正了解微控制器中的運行情況。使用深入洞察分析,開發(fā)人員能夠在基本測試和調(diào)試之外更深入地挖掘 RTOS、運行時行為、執(zhí)行分析和覆蓋(圖 2)。

深入洞察分析不僅限于基本測試和調(diào)試的圖片

圖 2: 深入洞察分析能夠在基本測試和調(diào)試之外更深入地挖掘 RTOS、運行時行為、執(zhí)行分析和覆蓋。(圖片來源: Beningo Embedded Group)

要為測試工具添加深入洞察分析功能,開發(fā)人員必須使用專業(yè)調(diào)試工具,例如 Segger Microcontroller Systems、J-Trace 或 J-link Ultra+(圖 3)。J-link Ultra+ 使用標準的 JTAG 或 SWD 接口,從板載調(diào)試模塊提取跟蹤數(shù)據(jù)。這些信息可用于執(zhí)行多種不同分析,例如 RTOS 感知的調(diào)試。

Segger 的 J-l<em></em>ink Ultra+ 的圖片

圖 3: Segger 的 J-link Ultra+ 使用標準的 JTAG 或 SWD 接口,從板載調(diào)試模塊提取跟蹤數(shù)據(jù)。(圖片來源: Segger Microcontroller Systems)

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

  • 最大堆棧使用

  • 任務(wù)運行計數(shù)

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

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

Segger 的 embOS RTOS 和 Embedded Studio IDE 的圖片

圖 4: 使用 Segger 的 embOS RTOS 和 Embedded Studio IDE 的 RTOS 感知調(diào)試的示例(圖片來源:Beningo Embedded Group)

開發(fā)人員可以使用 Segger 的免費 SystemView 實用工具或 Percepio 的 Tracealyzer 工具,進一步增強測試工具。這些工具為開發(fā)人員提供運行時分析,以便他們在運行測試套件時,直觀地查看和分析應(yīng)用的執(zhí)行情況。為了采集這些跟蹤數(shù)據(jù),開發(fā)人員需要配置他們的應(yīng)用,以便在 IDE 內(nèi)部進行跟蹤,或者使用配置工具進行跟蹤。如果沒有使用工具,他們可以手動集成低級別庫。

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

  • 跟蹤事件的時間和順序

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

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

  • 監(jiān)控 CPU 負載

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

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

使用跟蹤工具 SystemView 進行的運行時分析的圖片

圖 5: 使用跟蹤工具 SystemView 進行的運行時分析。(圖片來源:Beningo Embedded Group)

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

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

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

在測試工具中使用這種分析,開發(fā)人員能夠確定測試案例是否達到了 80%、90% 或 100% 的代碼覆蓋率。如果測試覆蓋率只有 95%,但又必須達到 100% 的覆蓋率才能交付產(chǎn)品,他們可以使用類似于 Ozone 的免費實用工具,查看哪些代碼行已經(jīng)執(zhí)行,更重要的是查看哪些代碼行尚未執(zhí)行(圖 6)。然后可以添加新的測試案例,確保這些遺漏的代碼行在測試中得到執(zhí)行。

使用 Ozone 執(zhí)行代碼分析的圖片

圖 6: 使用 Ozone 執(zhí)行代碼分析。(圖片來源:Beningo Embedded Group)

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

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

對于如何與外界進行交互,每個嵌入式都有不同的需求。有些器件可能通過簡單的 UART 進行通信,而其他器件則可能使用 CAN 或 TCP/IP。為了成功地構(gòu)建能夠與系統(tǒng)進行通信并讓其執(zhí)行命令的測試工具,開發(fā)人員必須在測試工具中增加通信硬件和軟件。

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

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

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

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

  • 易于使用

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

來自 SparkFun 的 BOB-12731 FT232R, USB-to-UART 評估板的圖片

圖 7: 來自 SparkFun Electronics 的 BOB-12731 FT232R, USB-to-UART 評估板在任何實驗室中都非常實用,因為它可以輕松連接到任何嵌入式系統(tǒng)。(圖片來源: SparkFun Electronics)

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

驗證每個邏輯狀態(tài)

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

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

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

STMicroelectro<em></em>nics STM32L476RGT6 Nucleo <a title=開發(fā)板的圖片" src="http://www.digikey.com.cn/-/media/Images/Article Library/TechZone Articles/2017/November/Build an Effective Test Harness for Microcontroller Software/article-2017november-build-an-effective-fig8.jpg?ts=0f2b1369-b501-4247-8bfe-f1849faea505&la=zh-CN-RMB" title="STMicroelectro<em></em>nics STM32L476RGT6 Nucleo board" height="299" width="400"/>

圖 8: STM32L476RGT6 Nucleo 板可用于監(jiān)控 STM32L4 微控制器上的引腳。(圖片來源:STMicroelectronics)

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

開發(fā)人員還可以添加少量額外代碼,例如 USB 驅(qū)動程序,這樣開發(fā)板就能夠直接插入到測試主機。USB 可用于接收輸入/輸出樣本狀態(tài)數(shù)據(jù),隨后這些數(shù)據(jù)可以關(guān)聯(lián)至從系統(tǒng)發(fā)出和接收命令,以確定工作情況是否完全符合預(yù)期。

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

來自 SparkFun Electro<em></em>nics 的 Logic Pro 8 多功能邏輯探頭的圖片

圖 9: Logic Pro 8 是來自 SparkFun Electronics 的多功能邏輯探頭,讓開發(fā)人員能夠針對要監(jiān)控的對象,對每個輸入進行編程。(圖片來源: SparkFun Electronics)

這些邏輯分析儀具有多功能性,在要監(jiān)控的對象方面,可通過軟件對每個輸入進行修改。例如,開發(fā)人員可設(shè)置前兩個輸入來監(jiān)控開關(guān)輸入,同時使用接著的兩個輸入來監(jiān)控 I2C 通信,并使用剩余的輸入來監(jiān)控 SPI。數(shù)據(jù)可以輕松采集,然后與測試工具的剩余組件進行同步,從而讓我們?nèi)媪私馇度胧较到y(tǒng)的工作情況。

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

顯而易見,測試工具對于很多現(xiàn)代嵌入式系統(tǒng)是必不可少的。獲得認證有時可能非常困難,但認證產(chǎn)生的回報和帶來的系統(tǒng)穩(wěn)健性提升的價值會數(shù)倍于投資成本。在首次構(gòu)建測試工具時,甚至在升級測試工具時,開發(fā)人員可以利用多種技巧,確保構(gòu)建最有效的測試工具。其中包括:

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

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

  • 運行軟件跟蹤時,請務(wù)必使用最壞情況測試,以確保您能夠獲取最壞情況場景

  • 如果沒有足夠的資金來構(gòu)建完善的測試工具,首先構(gòu)建較小的測試工具,然后隨著時間推移加以完善。哪怕只進行一部分測試,也強于沒有進行測試。

  • 花費必要的時間掌握要在測試工具中使用的不同工具和組件

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

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

總結(jié)

為嵌入式系統(tǒng)開發(fā)測試工具,是一種改進嵌入式系統(tǒng)可靠性的低成本方法。精心選擇測試工具的組件,可以讓開發(fā)人員輕松監(jiān)控軟件的外部行為。測試的最關(guān)鍵而又經(jīng)常易于忽略的環(huán)節(jié)是檢查跟蹤數(shù)據(jù),現(xiàn)在這些數(shù)據(jù)可從微控制器輕松訪問。使用這些跟蹤數(shù)據(jù),開發(fā)人員能夠執(zhí)行深入洞察分析,同時執(zhí)行他們的測試案例,以確保其軟件即使針對個別指令也能按預(yù)期工作。

下一篇: 斷路器、隔離開關(guān)、接

上一篇: 索爾維全系列Solef?PV

推薦產(chǎn)品

更多
美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区


        91传媒视频在线观看| 亚洲成人www| 欧美日韩一区不卡| 在线观看中文字幕不卡| 中文视频一区视频二区视频三区| 国产日韩精品一区观看| 国产亚洲一区二区三区在线播放| 国产精品国产三级国产专区53 | 五月婷婷综合色| 亚洲精品9999| 在线观看日韩av先锋影音电影院| 欧美久久久久中文字幕| 精品日韩欧美一区二区| 国产精品热久久久久夜色精品三区| 亚洲视频免费在线| 日韩高清在线不卡| 蜜臀av性久久久久蜜臀aⅴ四虎| 午夜久久久影院| 久久精品美女| 91嫩草免费看| 国产精品国色综合久久| 国产精品视频免费一区| 女人一区二区三区| 一区二区三区四区免费视频| 欧美亚洲日本一区| 91精品国产综合久久精品图片| 日韩精品在线网站| 国产精品第四页| 天堂av在线一区| 成人精品电影在线观看| 超碰97在线资源| 色综合天天综合给合国产| 欧美一区二区三区四区视频| 国产欧美精品一区aⅴ影院| 一区二区三区小说| 黄色精品一二区| 国产精品青青草| 色综合久久综合网欧美综合网| 欧美一区二区视频在线观看 | 精品免费国产二区三区| 国产精品久久久久久久蜜臀| 亚洲3atv精品一区二区三区| 国产成人啪免费观看软件| 国产私拍一区| 欧美理论电影在线| 一区二区三区日韩| 国产91丝袜在线18| 欧洲精品一区色| 欧美一区二区啪啪| 88在线观看91蜜桃国自产| 亚洲福利视频一区| 一本到一区二区三区| 精品裸体舞一区二区三区| 亚洲观看高清完整版在线观看 | 亚洲最快最全在线视频| 精品制服美女久久| 久久久久一区二区| 欧美日韩国产天堂| 一区二区三区四区高清精品免费观看| 国产超碰在线一区| 中文字幕久久综合| 中文字幕一区日韩精品欧美| 国产一区二区三区免费看| 日韩欧美亚洲日产国产| 中文字幕av一区 二区| 国产中文一区二区三区| 亚洲国产精品www| 国产精品污污网站在线观看| 国产麻豆视频精品| 色综合久久久久网| 亚洲美女屁股眼交| 国产精品久久国产精品| 欧美成人欧美edvon| 老司机精品视频线观看86 | 色综合久久久久综合99| 国产精品视频一二| 成人短视频下载| 欧美日韩1区2区| 日本三级亚洲精品| 狠狠色狠狠色综合日日91app| 日韩av影视| 日韩久久一区二区| 国产成人av电影在线播放| 91国产丝袜在线播放| 亚洲第一激情av| 成人一区二区三区| 欧美剧情片在线观看| 日韩成人午夜电影| 日本在线一区| 亚洲综合在线五月| 欧美日韩在线播放一区二区| 中文在线免费一区三区高中清不卡| 国产99精品视频| 欧美高清激情brazzers| 奇米在线7777在线精品 | 蜜桃久久久久久| 一区二区三区四区五区精品| 亚洲第一电影网| 日本电影一区二区三区| 亚洲三级电影网站| 欧美黄色直播| 亚洲色图清纯唯美| 久久精品中文字幕一区二区三区| 欧美色爱综合网| 免费高清成人在线| 一区二区三区四区欧美日韩| 日韩高清不卡一区二区| 亚洲欧洲在线一区| 免费观看30秒视频久久| 欧美午夜视频网站| 国产成人综合自拍| 久久网站热最新地址| 99在线观看视频| 亚洲免费观看在线视频| 视频三区二区一区| 麻豆免费看一区二区三区| 精品视频在线看| eeuss国产一区二区三区| 久久精品视频免费| 欧美激情一区二区三区在线视频| 亚洲一区二区三区影院| 色88888久久久久久影院野外| 国产伦精品一区二区三区免费| 日韩欧美精品在线视频| 91蝌蚪国产九色| 日韩毛片高清在线播放| 一区二区国产日产| 韩国毛片一区二区三区| 精品嫩草影院久久| 国产在线视频欧美一区二区三区| 亚洲精品国产一区二区三区四区在线| 性欧美.com| 国产伦精品一区二区三区免费迷 | 亚洲小少妇裸体bbw| 欧亚一区二区三区| 国产不卡视频一区二区三区| 久久精品在线观看| 日本成人三级电影网站| 美腿丝袜亚洲一区| 久久精品夜色噜噜亚洲a∨| 欧美高清视频一区| 精东粉嫩av免费一区二区三区| 精品国产伦一区二区三区观看体验| 国产一区二区高清不卡| 石原莉奈在线亚洲二区| 日韩精品一区二区在线| 久久99精品久久久水蜜桃| 男女男精品视频| 国产欧美1区2区3区| 亚洲图片都市激情| 盗摄精品av一区二区三区| 中文字幕一区二区三区精华液| 色中色一区二区| 91av免费看| 日本aⅴ精品一区二区三区| 精品三级av在线| 午夜视频久久久| 成人国产一区二区三区精品| 日韩码欧中文字| 91精品福利在线一区二区三区 | 欧美精品一卡二卡| 国产精品国产精品| 国产精品素人视频| 欧美视频三区在线播放| 国产嫩草一区二区三区在线观看 | 亚洲成人久久影院| 精品久久国产老人久久综合| 精品综合在线| 国产精品亚洲第一区在线暖暖韩国| 欧美综合亚洲图片综合区| 成人看片视频| 极品少妇xxxx精品少妇偷拍| 国产精品久久久一区麻豆最新章节| 在线一区二区三区做爰视频网站| 免费观看30秒视频久久| 欧美电影精品一区二区| 宅男在线精品国产免费观看| 91精品婷婷国产综合久久蝌蚪| 美女脱光内衣内裤视频久久影院| 中文字幕精品三区| 欧美精品xxxxbbbb| 亚洲免费视频一区| 国产精品一区二区三区精品| 国产精品一区二区久久精品爱涩| 久久午夜电影网| 欧美日韩精品一区二区天天拍小说| 久久偷看各类wc女厕嘘嘘偷窃| 成人午夜视频福利| 青娱乐精品视频| 亚洲伊人色欲综合网| 中文字幕高清一区| 精品国产乱码久久久久久夜甘婷婷| 欧美日韩中文字幕一区二区| 亚洲精品国产精品国自产观看| 国产高清一区视频| 成+人+亚洲+综合天堂| 久久99日本精品| 石原莉奈一区二区三区在线观看| 亚洲美女免费视频| 国产精品久久久久久久久晋中 |