色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用專門的RTOS工具發現實時錯誤

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Jean Labrosse ? 2022-06-30 10:15 ? 次閱讀

越來越多的嵌入式系統依賴使用實時操作系統 (RTOS) 來:滿足實時要求、縮短上市時間、簡化開發、增加代碼可移植性和簡化開發。盡管有很多好處,但 RTOS 也有其缺點,其中之一是可能引入不正確分配的任務優先級、堆棧溢出、饑餓、死鎖、優先級反轉和其他難以發現的錯誤。

在本文中,我們將研究專門設計用于幫助基于 RTOS 的應用程序開發人員發現其中一些難以捉摸的錯誤、識別問題并提供糾正措施的工具。這些工具很容易獲得,但嵌入式開發人員通常不知道。

什么是實時操作系統

實時操作系統(也稱為 RTOS 或實時內核)是盡可能高效地管理 CPU(中央處理單元)時間的軟件。大多數內核都是用 C 語言編寫的,并且需要一小部分用匯編語言編寫的代碼才能使內核適應不同的 CPU 架構。當您使用 RTOS 內核設計應用程序(您的代碼)時,您只需將工作拆分為任務,每個任務負責一部分工作。任務(也稱為線程)是一個簡單的程序,它認為自己完全擁有 CPU。在單個 CPU 上,在任何給定時間只能執行一個任務。您的應用程序代碼還需要根據任務重要性以及每個任務的堆棧 (RAM) 為每個任務分配優先級。一般來說,添加低優先級任務不會影響系統對高優先級任務的響應。任務通常也實現為無限循環。內核負責任務的管理。這稱為多任務處理。多任務處理是在多個順序任務之間調度和切換 CPU 的過程。多任務處理提供了擁有多個 CPU 的錯覺,并最大限度地利用了 CPU,如下所示。多任務處理還有助于創建模塊化應用程序。使用實時內核,應用程序更易于設計和維護。多任務處理提供了擁有多個 CPU 的錯覺,并最大限度地利用了 CPU,如下所示。多任務處理還有助于創建模塊化應用程序。使用實時內核,應用程序更易于設計和維護。多任務處理提供了擁有多個 CPU 的錯覺,并最大限度地利用了 CPU,如下所示。多任務處理還有助于創建模塊化應用程序。使用實時內核,應用程序更易于設計和維護。

pYYBAGK9B02AZFU-AAEBYD1r2P8657.png

大多數商業 RTOS 都是搶占式的,這意味著內核始終運行最重要的可立即運行的任務。搶占式內核也是事件驅動的,這意味著任務被設計為等待事件發生才能執行。如果任務等待的事件沒有發生,內核運行其他任務。等待任務消耗零 CPU 時間。發送信號和等待事件是通過內核應用程序編程接口 (API) 調用完成的。內核允許您避免輪詢循環,這會浪費 CPU 的時間。以下是如何實現典型任務的示例:

poYBAGK9B1WAf5u5AAC3kTgRW_U317.png

內核為程序員提供了許多有用的服務,例如多任務處理、中斷管理、任務間通信和信令、資源管理、時間管理、內存分區管理等等。RTOS 可用于只有少量任務的簡單應用程序,但它是需要復雜且耗時的通信堆棧的應用程序的必備工具,例如 TCP/IP、USB(主機和/或設備) )、CAN藍牙Zigbee 等。當應用程序需要文件系統來存儲和檢索數據以及產品配備某種圖形顯示(黑白、灰度或彩色)時,強烈建議使用 RTOS。

內置調試端口

ARM Cortex.-M 處理器配備了內置于每個芯片上的特殊且非常強大的調試硬件。CoreSight 提供非侵入式功能,允許工具在不停止 CPU 的情況下監視和控制實時系統,例如:

動態內存/外設訪問(讀取和寫入)

指令跟蹤(要求芯片還包括一個執行跟蹤宏單元,ETM)

數據追蹤

使用分析計數器進行分析

下圖顯示了 CoreSight 調試端口、CPU 和內存/外設之間關系的簡化框圖。

poYBAGK9B1yAYuXmAAJ0T2PUqic459.png

用于測試/調試實時系統的工具

下圖顯示了 CoreSight 如何連接到您的開發環境:

poYBAGK9B2iAWNSSAAIz0v3vR28368.png

1 - 嵌入式開發人員經常使用集成開發環境 (IDE),其中包括代碼編輯器、編譯器、匯編器、鏈接器、調試器和可能的其他工具。

IDE 中內置的調試器只提供最基本的必需品:下載代碼、啟動/停止、設置斷點和其他一些簡單功能。一些調試器更進一步,允許您在目標運行時顯示和更改變量(也稱為 Live Watch),但功能僅限于數值。包含內置 RTOS 感知功能的調試器也很常見,但通常需要您暫停應用程序以檢查 RTOS 的狀態(對于調試實時系統不太實用)。

2 - 當您準備好調試應用程序時,通過 Debugger Probe(例如 Segger J-Link )將代碼下載到目標。

3 - J-Link 連接到 CoreSight 調試端口,能夠啟動/停止 CPU、下載代碼、對板載 Flash 進行編程等。即使目標正在執行代碼,J-Link 也可以根據需要直接讀取和寫入內存。

4 - Micrium 的 μC/Probe是一個獨立的、與 CPU 供應商無關的、基于 Windows 的應用程序,可讀取工具鏈生成的 ELF 文件。ELF 文件包含下載到目標的代碼以及所有全局可訪問變量的名稱、它們的數據類型以及它們在目標內存中的物理內存位置。

5 - μC/Probe 允許用戶在運行時(即實時)顯示或更改連接的嵌入式目標上幾乎任何變量或內存位置(包括 I/O 端口)的值。用戶只需從儀表、數字指示器、表格、圖形、虛擬 LED、條形圖、滑塊、開關、按鈕和其他組件的庫中填充 μC/Probe 的圖形環境,并將其中的每一個與變量或內存位置相關聯嵌入式設備。μC/Probe 不需要您檢測目標代碼以在運行時顯示或更改變量。通過在 μC/Probe 的屏幕上添加虛擬滑塊或開關,您可以輕松更改運行系統的參數(例如濾波器系數和 PID 回路增益)或驅動設備和測試 I/O 端口。

6 - μC/Probe 向 J-Link 發送請求以讀取或寫入內存。

7 - J-Link 請求被轉換為 CoreSight 命令以獲取變量值并將其以圖形方式顯示在 μC/Probe 的屏幕上。

8 -另一個用于測試/調試實時嵌入式系統的非常有用的工具是 SEGGER 的 SystemView 。此工具通常與 RTOS 結合使用,并在時間線上顯示任務和 ISR 的執行配置文件,以便您可以查看每個任務執行所需的時間(最小/平均/最大),任務何時準備好運行,當每個任務實際開始執行時,當 ISR 執行時等等。SystemView 可以幫助您發現可能多年未被注意到的錯誤。但是,SystemView 要求您將代碼添加到記錄 RTOS 事件和 ISR 的目標(由 SEGGER 免費提供)。SystemView 還消耗少量 RAM 來緩沖這些事件。

9 - J-Link 允許多個進程同時訪問 CoreSight,因此您可以同時使用所有三個工具。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5086

    文章

    19142

    瀏覽量

    305979
  • 濾波器
    +關注

    關注

    161

    文章

    7840

    瀏覽量

    178340
  • 編輯器
    +關注

    關注

    1

    文章

    806

    瀏覽量

    31201
收藏 人收藏

    評論

    相關推薦

    RTOS中的錯誤檢查機制

    在嵌入式應用中,有可能發生各種各樣的錯誤,系統必須能夠檢測到這些錯誤并作出適當的響應。RTOS通常內置了一些錯誤檢查功能,用于檢測錯誤并向應
    的頭像 發表于 01-03 14:44 ?240次閱讀

    RTOS正在縮小與Linux的差距

    RTOS與Linux的物聯網設備操作系統之爭已經持續了很多年。Linux以其強大的計算能力和豐富的軟件生態,在需要復雜處理和軟件支持的物聯網設備上占據一席之地;RTOS憑借實時響應和資源節約的特性
    的頭像 發表于 09-10 08:07 ?794次閱讀
    <b class='flag-5'>RTOS</b>正在縮小與Linux的差距

    freertos和rtos區別是什么

    FreeRTOS 和 RTOS實時操作系統)是兩個不同的概念,但它們之間有緊密的聯系。FreeRTOS 是一個特定的開源實時操作系統,而 RTOS
    的頭像 發表于 09-02 14:18 ?1321次閱讀

    RTOS與Linux有什么區別

    RTOS(Real-Time Operating System,實時操作系統)與Linux是兩種在不同應用場景下發揮重要作用的操作系統,它們在設計理念、功能特性、應用場景以及性能表現等方面存在顯著差異。以下是對RTOS與Linu
    的頭像 發表于 08-20 16:05 ?3766次閱讀

    RTOS的特性和類型

    實時操作系統(RTOS)是一種可運行實時計算應用程序的軟件平臺,用于處理具有明確時間約束的事件和數據。與通用操作系統(GPOS)不同,RTOS必須在有限的硬件資源上調度應用程序之間的處
    的頭像 發表于 08-20 11:29 ?619次閱讀

    簡單認識RTOS實時操作系統

    RTOS(Real Time Operating System,實時操作系統)是一種專門設計用于在嚴格時間限制內處理任務的操作系統。它以其高實時性、多任務處理能力和資源管理能力在工業自
    的頭像 發表于 08-20 11:20 ?2889次閱讀

    編譯運行ESP8266_RTOS_SDK-master,發現程序并沒有正確執行,為什么?

    ,eagle.irom0text.bin---->0x20000燒寫到相應地址,程序運行后,發現并沒有正確執行,請問是否燒寫地址錯誤,或者是配置FLASH錯誤
    發表于 07-12 08:21

    ESP8266_RTOS_SDK編譯錯誤的原因?

    “i2c_master_gpio_init”中: /home/esp8266/ESP8266_RTOS_SDK/include/espressif/esp8266/pin_mux_register.h:149:47:錯誤
    發表于 07-12 08:04

    RTOS SDK v. 1.5編譯錯誤的原因?

    _sdk/tree/master并嘗試編譯它,但出現錯誤: c:/樂鑫/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -Lc:/樂鑫/ESP8266_RTOS_SDK/lib
    發表于 07-10 08:19

    ESP8266_RTOS_SDK-v3.4的構建錯誤如何解決?

    我嘗試將 SDK3.4 導入 Aithinker windows IDE 程序,然后構建它。不幸的是,我收到以下錯誤: LD /d/8266/ESP8266_RTOS
    發表于 07-08 07:59

    說說硬件調試中發現的那些低級錯誤

    硬件調試中會經常遇到各種意想不到的問題,有些調試花了幾個月,各種能想到的辦法都嘗試了,最后發現卻是一個非常低級的錯誤,有多低級?請看今天的內文介紹。
    的頭像 發表于 07-03 12:00 ?361次閱讀
    說說硬件調試中<b class='flag-5'>發現</b>的那些低級<b class='flag-5'>錯誤</b>

    risc-v的mcu對RTOS兼容性如何

    設計、中斷響應速度以及RTOS的調度策略。 一些RISC-V MCU可能具有特定的硬件特性(如快速中斷響應、低延遲I/O等),這些特性可以增強RTOS實時性能。 軟件生態和工具
    發表于 05-27 16:26

    keil用c++編譯含有rtos模塊時的錯誤問題怎么解決?

    rtos,設置使用cpp編譯,c99通過的程序編譯錯誤一大堆,主要在usb和cmsis_os里,這里隨便粘貼其中一條錯誤C:/Users/ME/STM32Cube/Repository
    發表于 05-09 08:29

    帶你認識實時操作系統(rtos)

    實時操作系統(RTOS)是為嵌入式系統和實時應用提供一個穩定、可預測和高效運行環境的操作系統。實時操作系統確保了系統能夠在嚴格的時間限制內響應外部事件和處理任務,這是許多關鍵應用領域所
    的頭像 發表于 04-16 16:30 ?1333次閱讀
    帶你認識<b class='flag-5'>實時</b>操作系統(<b class='flag-5'>rtos</b>)

    虹科技術 | PCAN View功能細講:從實時監測到錯誤幀分析

    相信使用過PCAN工具的朋友都知道虹科PCAN-View這款免費軟件,它具有直觀的用戶界面,可以實時監測和分析CAN總線上的數據幀,并提供過濾、發送和報文記錄。但你知道嗎?它其實不只是簡單收發報文,虹科PCAN-View還能自動檢測和報告CAN總線上的
    的頭像 發表于 03-18 13:48 ?1321次閱讀
    虹科技術 | PCAN View功能細講:從<b class='flag-5'>實時</b>監測到<b class='flag-5'>錯誤</b>幀分析
    主站蜘蛛池模板: 国内九一激情白浆发布| 芳草地社区在线视频| chinese情侣自拍啪hd| 99在线观看免费视频| 久久免费电影| 久久涩视频| 永久adc视频年龄确认| 内射一区二区精品视频在线观看| 岛国片免费在线观看| 亚洲电影不卡| 野花视频在线观看免费最新动漫| 国产在线观看黄| 青青草国产自偷拍| 被黑人掹躁10次高潮| 人妻互换免费中文字幕| 约艺术院校96年清纯白嫩| 东京热 百度影音| 天天久久影视色香综合网| 国产激情视频在线播放| 洗濯屋H纯肉动漫在线观看| 99热久久这里只精品国产WWW| 内射老妇BBX| 被肉日常np高h| 欧美激情社区| 荡乳乱公小说| 胸大的姑娘中文字幕视频| 俄罗斯aaaaa一级毛片| 国产精品美女久久久久浪潮AV| 女人把腿张开叫男人桶免费视频| 国产欧美在线亚洲一区刘亦菲| 亚洲国产精品无码中文字满 | 不良网站进入窗口软件下载免费| 日韩一区二区天海翼| 99视频在线观看免费视频| 日韩精品久久久久久久电影| 国产一区二区三区在线看片| 中文字幕无线手机在线| 久久草香蕉频线观| 5278欧美一区二区三区| 手机观看毛片| 久久综合网久久综合|