在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何讓嵌入式系統(tǒng)保持穩(wěn)???詳細(xì)的方法和技術(shù)分析

fjYQ_ittbank ? 來源:未知 ? 作者:易水寒 ? 2018-08-18 10:52 ? 次閱讀

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

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

嵌入式測試的要求變化

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

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

通信適配器/嗅探器

邏輯分析儀

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

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

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

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

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

深入洞察分析讓開發(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í)行分析和覆蓋。

要為測試工具添加深入洞察分析功能,開發(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)試,開發(fā)人員能夠在執(zhí)行測試案例時監(jiān)控任務(wù)的執(zhí)行情況。例如開發(fā)人員能夠深入了解以下情況:

最大堆棧使用

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

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

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

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

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

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

跟蹤事件的時間和順序

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

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

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

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

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

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

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

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

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

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

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

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

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

對于如何與外界進行交互,每個嵌入式都有不同的需求。有些器件可能通過簡單的UART進行通信,而其他器件則可能使用CAN或 TCP/IP。

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

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

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

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

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

易于使用

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

這些價格低廉的評估板可以輕松連接到任何嵌入式系統(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ā)人員使用STMicroelectronicsSTM32F767或STM32L4微控制器,則他們應(yīng)該首先購買STM32F767 Nucleo 板或STM32L476RGT6 Nucleo 板。

然后,他們應(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。

這些邏輯分析儀具有多功能性,在要監(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)是必不可少的。獲得認(rèn)證有時可能非常困難,但認(rèn)證產(chǎn)生的回報和帶來的系統(tǒng)穩(wěn)健性提升的價值會數(shù)倍于投資成本。

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

使用與主要目標(biāo)相同的處理器的開發(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ù)期工作。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3630

    瀏覽量

    129792
  • adc
    adc
    +關(guān)注

    關(guān)注

    99

    文章

    6537

    瀏覽量

    545884
  • 調(diào)試器
    +關(guān)注

    關(guān)注

    1

    文章

    306

    瀏覽量

    23847

原文標(biāo)題:讓嵌入式系統(tǒng)保持穩(wěn)健的方法和技術(shù)!

文章出處:【微信號:ittbank,微信公眾號:ittbank】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    新手必備嵌入式學(xué)習(xí)步驟及方法詳細(xì)解說

    非常重要的。  新手必備嵌入式學(xué)習(xí)步驟及方法詳細(xì)解說:  要學(xué)好嵌入式系統(tǒng)及其開發(fā)應(yīng)用,掌握嵌入式
    發(fā)表于 06-22 13:35

    嵌入式系統(tǒng)的應(yīng)用分析

    找一個好工作,談一份好薪水詳細(xì)這也是大部分人的心愿,那么嵌入式行業(yè)該如何規(guī)劃呢?下面我們從幾方面來深入探討。1了解嵌入式行業(yè)嵌入式系統(tǒng)的應(yīng)用
    發(fā)表于 10-27 06:54

    分析嵌入式系統(tǒng)技術(shù)特點

    基于嵌入式系統(tǒng)的概念,闡述嵌入式系統(tǒng)的關(guān)鍵技術(shù)、嵌入式開發(fā)以及廣泛的應(yīng)用。
    發(fā)表于 10-27 09:51

    詳細(xì)分析嵌入式Linux系統(tǒng)啟動流程

    嵌入式Linux專題(一)中已經(jīng)對嵌入式Linux系統(tǒng)的架構(gòu)及啟動流程有了初步的介紹,本文將詳細(xì)分析嵌入式Linux
    發(fā)表于 11-05 09:25

    嵌入式系統(tǒng)設(shè)計方法變化

    嵌入式系統(tǒng)設(shè)計方法變化的背景嵌入式系統(tǒng)設(shè)計方法的演化總的來說是因為應(yīng)用需求的牽引和IT
    發(fā)表于 11-08 07:27

    嵌入式系統(tǒng)的設(shè)計方法

    嵌入式系統(tǒng)的設(shè)計方法嵌入式系統(tǒng)的C程序設(shè)計開始講,一步步深入。
    發(fā)表于 03-28 09:45 ?38次下載

    基于嵌入式操作系統(tǒng)的開發(fā)方法

    本文詳細(xì)論述了嵌入式系統(tǒng)的開發(fā)技術(shù)。提出了基于嵌入式操作系統(tǒng)的開發(fā)環(huán)境和調(diào)試
    發(fā)表于 06-23 14:03 ?10次下載

    嵌入式系統(tǒng)關(guān)鍵技術(shù)分析與開發(fā)應(yīng)用

    基于嵌入式系統(tǒng)的概念,闡述嵌入式系統(tǒng)的關(guān)鍵技術(shù)、嵌入式開發(fā)以及廣泛的應(yīng)用。首先,
    發(fā)表于 01-19 13:53 ?21次下載

    嵌入式系統(tǒng)原理、設(shè)計與應(yīng)用

    嵌入式操作系統(tǒng)的原理和開發(fā)方法,而是講述嵌入式系統(tǒng)的通用技術(shù)和基本原理、
    發(fā)表于 04-25 17:07 ?2次下載

    TI的嵌入式分析技術(shù)使設(shè)備更加智能

    嵌入式分析技術(shù)嵌入式系統(tǒng)和人類感官結(jié)合起來,使系統(tǒng)能夠分析
    發(fā)表于 04-13 16:28 ?13次下載
    TI的<b class='flag-5'>嵌入式</b><b class='flag-5'>分析</b><b class='flag-5'>技術(shù)</b>使設(shè)備更加智能

    如何使用ARM進行嵌入式系統(tǒng)設(shè)計詳細(xì)方法研究

    32 位ARM 處理器具有高性能、低功耗的特性, 已經(jīng)成為嵌入式系統(tǒng)開發(fā)的首選, 而嵌入式系統(tǒng)的初始化引導(dǎo)技術(shù)
    發(fā)表于 03-12 18:01 ?9次下載
    如何使用ARM進行<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>設(shè)計<b class='flag-5'>詳細(xì)</b><b class='flag-5'>方法</b>研究

    嵌入式系統(tǒng)教程之嵌入式處理器的詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是嵌入式系統(tǒng)教程之嵌入式處理器的詳細(xì)資料說明包括了:1 硬件子系統(tǒng)
    發(fā)表于 06-14 17:14 ?18次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>教程之<b class='flag-5'>嵌入式</b>處理器的<b class='flag-5'>詳細(xì)</b>資料說明

    嵌入式硬件系統(tǒng)教程之嵌入式存儲技術(shù)詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是嵌入式硬件系統(tǒng)教程之嵌入式的存儲技術(shù)詳細(xì)資料說明包括了:概述,存儲器
    發(fā)表于 07-19 17:08 ?14次下載
    <b class='flag-5'>嵌入式</b>硬件<b class='flag-5'>系統(tǒng)</b>教程之<b class='flag-5'>嵌入式</b>存儲<b class='flag-5'>技術(shù)</b>的<b class='flag-5'>詳細(xì)</b>資料說明

    嵌入式系統(tǒng)教程之嵌入式系統(tǒng)工程設(shè)計的詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是嵌入式系統(tǒng)教程之嵌入式系統(tǒng)工程設(shè)計的詳細(xì)資料說明包括了:1.
    發(fā)表于 07-23 17:25 ?31次下載

    使用ARM9和Linux設(shè)計嵌入式PLC系統(tǒng)詳細(xì)資料說明

    嵌入式技術(shù)與PLC技術(shù)相結(jié)合提出了一種基于ARM9的嵌入式PLC系統(tǒng)的實現(xiàn)方法,給出了以
    發(fā)表于 09-07 17:03 ?17次下載
    使用ARM9和Linux設(shè)計<b class='flag-5'>嵌入式</b>PLC<b class='flag-5'>系統(tǒng)</b>的<b class='flag-5'>詳細(xì)</b>資料說明
    主站蜘蛛池模板: 伊人小婷婷色香综合缴缴情 | 天天射天天干天天插 | 福利片在线播放 | 色资源网| 最新版天堂资源中文官网 | 亚洲国产成人精品不卡青青草原 | 一区二区三区影视 | 四虎在线永久 | 免费国产高清精品一区在线 | 国产精品久久久亚洲456 | 99热热热 | 性色视频在线 | 中文字幕精品一区二区2021年 | 男男浪荡双性受hplay | 欧美极品一区 | 国产专区青青草原亚洲 | 免费三级黄色 | 人人搞人人干 | 成人午夜免费视频毛片 | 福利在线播放 | 午夜窝窝 | 男人的午夜影院 | 在线看片一区 | 2021成人国产精品 | 国产v69 | 亚洲欧美日韩另类精品一区二区三区 | 亚洲你懂得 | 亚洲精品亚洲人成毛片不卡 | 亚洲国产日韩女人aaaaaa毛片在线 | 国内精品视频 | 欧美成人天天综合在线视色 | 5566成人免费视频观看 | 日韩精品一区二区在线观看 | 国产精品视频一区二区三区 | aaa在线 | 色综合激情丁香七月色综合 | 欧美性色欧美a在线播放 | 午夜精品影院 | 亚洲美女精品 | 亚洲第一成人影院 | 亚洲视频一区在线 |