chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

專用工具為調(diào)試基于RTOS的系統(tǒng)設(shè)計(jì)

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Jean Labrosse ? 2022-06-30 10:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

死鎖:

死鎖(又名致命擁抱)是一種情況,其中(至少)兩個(gè)任務(wù)都在不知不覺中等待另一個(gè)擁有的資源。死鎖可能不會立即發(fā)生,因?yàn)楹艽蟪潭壬先Q于兩個(gè)任務(wù)何時(shí)需要彼此的資源。如下圖所示,μC/Probe 的內(nèi)核感知屏幕有一列顯示每個(gè)任務(wù)執(zhí)行的頻率(即任務(wù)由 RTOS 切換的頻率)。您可以通過監(jiān)視此列來檢測死鎖,并注意您期望運(yùn)行的任何任務(wù)是否實(shí)際上正在運(yùn)行。換句話說,如果計(jì)數(shù)停止(μC/Probe 在 CPU 運(yùn)行時(shí)更新這些計(jì)數(shù)器),那么您可能檢測到死鎖。但是,對于這種情況,您還會注意到至少有兩個(gè)任務(wù)停止計(jì)數(shù)。您可能不需要使用像 μC/Probe 這樣的工具來檢測死鎖,因?yàn)樵谌魏吻闆r下,您都應(yīng)該注意應(yīng)用程序中這些任務(wù)的鎖定行為。但是,該工具使其更加明顯。

poYBAGK9BMCAOxzlAAIkf9udrEY752.png

您可以通過以下方式避免死鎖:

總是獲取所有需要的資源,總是以相同的順序獲取它們并以相反的順序釋放它們。

在 RTOS API 調(diào)用上使用超時(shí)以避免永遠(yuǎn)等待資源可用。確保檢查來自 RTOS API 的返回錯(cuò)誤代碼,以確保您對所需資源的請求確實(shí)成功。

饑餓:

當(dāng)高優(yōu)先級任務(wù)消耗所有 CPU 的帶寬時(shí),就會發(fā)生饑餓,為低優(yōu)先級任務(wù)留下很少或沒有 CPU 時(shí)間。饑餓的影響的特點(diǎn)是響應(yīng)能力和產(chǎn)品功能的下降,例如嵌入式目標(biāo)的顯示更新緩慢、通信堆棧中的數(shù)據(jù)包丟失、操作員界面遲緩等。除了解決這些問題之外,您幾乎無能為力至:

優(yōu)化占用大部分 CPU 帶寬的代碼。

提高 CPU 的時(shí)鐘速度。由于其他系統(tǒng)考慮,這很少是一種選擇。

選擇另一個(gè) CPU。這也很少是一種選擇,尤其是在開發(fā)周期的后期。

pYYBAGK9BMiARRRcAAPKnYNbEXI309.png

監(jiān)控任務(wù)和 ISR 執(zhí)行時(shí)間

了解任務(wù)和 ISR 的執(zhí)行時(shí)間對于幫助基于 RTOS 的系統(tǒng)分析(例如速率單調(diào)分析 (RMA))通常很有用。具體來說,通過這些信息,您可以確定是否所有時(shí)間緊迫的任務(wù)都可以按時(shí)完成,并幫助您為任務(wù)分配優(yōu)先級。不幸的是,這些信息只有在系統(tǒng)設(shè)計(jì)和運(yùn)行后才真正準(zhǔn)確和可用。換句話說,代碼的實(shí)際執(zhí)行時(shí)間通常要在實(shí)際目標(biāo)上執(zhí)行時(shí)才能準(zhǔn)確知道。然而,一旦可用,任務(wù)和 ISR 執(zhí)行時(shí)間對于確認(rèn)系統(tǒng)設(shè)計(jì)期間所做的假設(shè)非常有用。

SystemView 提供任務(wù)和 ISR 的最小/最大執(zhí)行時(shí)間,如下面的屏幕截圖所示。

pYYBAGK9BNSASUkoAAMPHJBNBk8284.png

1 -上下文窗格中 的Max Run Time列顯示所有任務(wù)和 ISR 的最大執(zhí)行時(shí)間。在SysTick(即tick ISR)的情況下,最長的執(zhí)行時(shí)間是0.5488 ms。我們可以通過搜索事件 #4016155 來確定何時(shí)(及時(shí))發(fā)生了這個(gè)較長的執(zhí)行時(shí)間。您只需從 Go 菜單中選擇 Go to event 。.. 并鍵入 4016155,然后按 Enter。

2 - 事件窗口顯示這對應(yīng)于 ISR 出口。事實(shí)上,這是有道理的,因?yàn)橹挥性?ISR 退出時(shí)才知道 ISR 的最大執(zhí)行時(shí)間。

3 - 雙擊事件窗口中顯示事件 #4016155 的行會強(qiáng)制時(shí)間軸窗口顯示該事件??梢钥闯觯琒ysTick 的執(zhí)行時(shí)間比其他執(zhí)行時(shí)間要寬。

在大多數(shù)情況下,您不需要找到(及時(shí))任務(wù)或 ISR 的最大執(zhí)行時(shí)間發(fā)生在哪里,尤其是當(dāng)您僅將該信息用于 RMA 時(shí)。但是,在某些情況下,您可能需要找出執(zhí)行時(shí)間比預(yù)期或預(yù)期長得多的原因。不幸的是,SystemView 可能無法提供關(guān)于發(fā)生這種情況的原因的額外線索。您可能希望在此處使用代碼執(zhí)行跟蹤工具(例如 Segger 的 J-Trace)并檢查 ISR 在事件 #4016155 之前執(zhí)行的代碼。

測量用戶代碼的執(zhí)行時(shí)間

有很多方法可以測量代碼執(zhí)行時(shí)間。一種方法是使用具有跟蹤功能的調(diào)試探針。您只需運(yùn)行代碼、查看跟蹤、計(jì)算增量時(shí)間(通常是手動)并將 CPU 周期轉(zhuǎn)換為微秒。不幸的是,跟蹤為您提供了一個(gè)執(zhí)行實(shí)例,您可能需要進(jìn)一步查看跟蹤捕獲以找到最壞情況下的執(zhí)行時(shí)間。這可能是一個(gè)乏味的過程。另一種方法是檢測您的代碼并在代碼的不同位置拍攝可用的自由運(yùn)行計(jì)數(shù)器的快照,并計(jì)算快照讀數(shù)之間的差異。這實(shí)際上在嵌入式計(jì)算設(shè)計(jì)[7]上發(fā)表的一篇論文中有所描述對于 Cortex-M MCU,但該概念同樣適用于其他目標(biāo)。該論文提供了 API 來測量經(jīng)過的時(shí)間。您只需將要測量的代碼包裝如下:

elapsed_time_start(n);

// 測量代碼

elapsed_time_stop(n);

其中“n”指定“n”個(gè) bin(0 到 n-1)之一,其中最小和最大執(zhí)行時(shí)間保存如下:

elapsed_time_tbl[n].min

elapsed_time_tbl[n].max

在 Cortex-M 的情況下,執(zhí)行時(shí)間以 CPU 時(shí)鐘頻率單位保存。

如下圖所示,您可以使用 Micrium 的 μC/Probe 輕松顯示以微秒為單位的結(jié)果。μC/Probe 允許對數(shù)字進(jìn)行縮放,在這種情況下,需要根據(jù)所用評估板的 CPU 時(shí)鐘頻率進(jìn)行調(diào)整。

files-aHViPTYzODY3JmNtZD1pdGVtZWRpdG9yaW1hZ2UmZmlsZW5hbWU9aXRlbWVkaXRvcmltYWdlXzVjZDlkYzU1MWMzYTQucG5nJnZlcnNpb249MDAwMCZzaWc9YjI3ZDQzYTI3YWE3NjkxMDJiOGExMmZiYTNlOWE4NzU253D

概括

IDE 中內(nèi)置的調(diào)試器通常不足以調(diào)試基于 RTOS 的實(shí)時(shí)系統(tǒng)。

幸運(yùn)的是,有專門為調(diào)試基于 RTOS 的系統(tǒng)而設(shè)計(jì)的專用工具,但開發(fā)人員通常不知道這些工具。這些工具之一是 Segger 的 SystemView ,它在時(shí)間線上顯示 ISR 和任務(wù),并收集運(yùn)行時(shí)統(tǒng)計(jì)信息,例如最小和最大執(zhí)行時(shí)間、ISR 和任務(wù)之間的關(guān)系、CPU 負(fù)載等等。

另一個(gè)可以補(bǔ)充 SystemView 的工具是 Micrium 的 μC/Probe ,它是一種通用工具,允許開發(fā)人員在不干擾 CPU 的情況下可視化和更改正在運(yùn)行的嵌入式目標(biāo)的行為。μC/Probe 在裸機(jī)或基于 RTOS 的應(yīng)用中同樣適用。對于基于 RTOS 的應(yīng)用程序,μC/Probe 包括非侵入式實(shí)時(shí)內(nèi)核感知以及 TCP/IP 堆棧感知。兩種類型的工具(SystemView 和 μC/Probe)都應(yīng)該在早期和整個(gè)開發(fā)周期中使用,以提供有關(guān)嵌入式目標(biāo)運(yùn)行時(shí)行為的反饋。

審核編輯:郭婷

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

    關(guān)注

    5200

    文章

    20476

    瀏覽量

    334472
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11287

    瀏覽量

    225175
  • RTOS
    +關(guān)注

    關(guān)注

    25

    文章

    866

    瀏覽量

    123062
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于納芯微NSUC1610的汽車執(zhí)行器節(jié)點(diǎn)LIN OTA實(shí)現(xiàn)方案

    什么是 OTA?OTA(空中升級技術(shù))是通過無線網(wǎng)絡(luò)(如藍(lán)牙、Wi-Fi、蜂窩網(wǎng)絡(luò))設(shè)備遠(yuǎn)程更新程序的一種技術(shù),無需連接電腦或專用工具即可完成軟件升級。
    的頭像 發(fā)表于 03-10 13:53 ?456次閱讀
    基于納芯微NSUC1610的汽車執(zhí)行器節(jié)點(diǎn)LIN OTA實(shí)現(xiàn)方案

    3562 單板機(jī) Linux 系統(tǒng)固化完全指南:從 SD 卡啟動到 eMMC 永久部署

    本文創(chuàng)龍科技 3562 單板機(jī)系統(tǒng)固化操作指南,核心涵蓋 SD 啟動卡、升級卡制作,以及 eMMC 芯片系統(tǒng)固化與啟動驗(yàn)證。文檔詳細(xì)說明專用工具使用、鏡像燒錄參數(shù)配置、多方式啟動測試
    的頭像 發(fā)表于 02-04 10:34 ?1047次閱讀
    3562 單板機(jī) Linux <b class='flag-5'>系統(tǒng)</b>固化完全指南:從 SD 卡啟動到 eMMC 永久部署

    Linux系統(tǒng)性能調(diào)試工具—strace

    今天給大家分享一個(gè)linux內(nèi)核自帶的調(diào)試工具,該工具可用于查看和定位系統(tǒng)問題,進(jìn)程運(yùn)行過程探索,進(jìn)行進(jìn)程監(jiān)控,對每個(gè)系統(tǒng)調(diào)用都可以監(jiān)測,有助于我們優(yōu)化
    的頭像 發(fā)表于 01-30 17:03 ?1925次閱讀
    Linux<b class='flag-5'>系統(tǒng)</b>性能<b class='flag-5'>調(diào)試工具</b>—strace

    汽車照明專用工具LucidShape CAA中的光導(dǎo)設(shè)計(jì)功能

    近年來,汽車內(nèi)飾照明系統(tǒng)在豪華車中的應(yīng)用已成為一種顯著趨勢。此類應(yīng)用通過導(dǎo)光條元件在車內(nèi)營造均勻的照度與氛圍,從氛圍燈到功能性照明,光導(dǎo)技術(shù)正在重新定義駕乘體驗(yàn)。憑借其均勻柔和的光線分布、靈活
    的頭像 發(fā)表于 01-22 09:46 ?1886次閱讀
    汽車照明<b class='flag-5'>專用工具</b>LucidShape CAA中的光導(dǎo)設(shè)計(jì)功能

    RTOS在嵌入式開發(fā)中的作用

    每個(gè)任務(wù)可以被認(rèn)為是一個(gè)項(xiàng)目。通過RTOS提供的資源(隊(duì)列、信號量等)來定義輸入輸出。將系統(tǒng)定義一個(gè)個(gè)的任務(wù),可以更容易的部署更多開發(fā)人員到一個(gè)項(xiàng)目。 易于調(diào)試和驗(yàn)證
    發(fā)表于 12-26 07:53

    使用RTOS時(shí)需要注意的幾點(diǎn)內(nèi)容分享

    兩個(gè)方面:內(nèi)核和設(shè)備驅(qū)動器調(diào)試以及操作系統(tǒng)感知。 內(nèi)核調(diào)試對設(shè)備驅(qū)動器的創(chuàng)建和支持以及內(nèi)核強(qiáng)化很重要。在許多情況,處理RTOS的內(nèi)核,需
    發(fā)表于 12-23 06:34

    RTOS Crash 問題全維度分析與解決指南

    RTOS Crash 問題全維度分析與解決指南 RTOS(實(shí)時(shí)操作系統(tǒng))的Crash(崩潰)是嵌入式實(shí)時(shí)系統(tǒng)中最致命的故障之一,直接破壞系統(tǒng)
    發(fā)表于 12-08 03:56

    RFID工具柜如何幫制造企業(yè)降低工具損耗30%?

    在大型制造工廠的車間里,工具是生產(chǎn)人員的“武器”。然而,工具的領(lǐng)用、歸還、清點(diǎn)、保養(yǎng)等一系列管理工作,卻常常讓班組長頭疼不已。工具莫名丟失、借用超期不還、定期盤點(diǎn)停產(chǎn)、專用工具被誤用…
    的頭像 發(fā)表于 11-27 15:13 ?321次閱讀

    基于睿擎派的工業(yè)FOC無刷電機(jī)控制系統(tǒng)與WEB推流監(jiān)看系統(tǒng)| 技術(shù)集結(jié)

    項(xiàng)目背景及功能在小型自動化調(diào)試或簡易設(shè)備控制場景中,無刷電機(jī)的速度調(diào)控與運(yùn)行狀態(tài)監(jiān)看存在明顯不便:傳統(tǒng)方案下,電機(jī)轉(zhuǎn)速調(diào)節(jié)需依賴現(xiàn)場專用工具連接調(diào)試,無法遠(yuǎn)程操作;設(shè)備運(yùn)行畫面、電機(jī)工作狀態(tài)的查看也
    的頭像 發(fā)表于 11-26 18:25 ?3366次閱讀
    基于睿擎派的工業(yè)FOC無刷電機(jī)控制<b class='flag-5'>系統(tǒng)</b>與WEB推流監(jiān)看<b class='flag-5'>系統(tǒng)</b>| 技術(shù)集結(jié)

    CAN總線遠(yuǎn)程調(diào)試工具在工程機(jī)械領(lǐng)域的創(chuàng)新應(yīng)用

    本文提出采用 PKCAN-WIFI 無線應(yīng)用工具實(shí)現(xiàn) CAN 總線通信無線化的解決方案。通過分析該工具的技術(shù)特點(diǎn)和工作原理,結(jié)合工程機(jī)械實(shí)際應(yīng)用場景,詳細(xì)闡述了其在遠(yuǎn)程調(diào)試、程序下載、數(shù)據(jù)監(jiān)控等方面
    發(fā)表于 10-17 15:52 ?0次下載

    PKCAN-WIFI無線應(yīng)用工具在工程機(jī)械遠(yuǎn)程調(diào)試領(lǐng)域的創(chuàng)新應(yīng)用

    針對工程機(jī)械領(lǐng)域CAN總線有線連接方式存在的調(diào)試不便、維護(hù)成本高等問題,本文提出采用PKCAN-WIFI無線應(yīng)用工具實(shí)現(xiàn)CAN總線通信無線化的解決方案。通過分析該工具的技術(shù)特點(diǎn)和工作原理,結(jié)合工程機(jī)械實(shí)際應(yīng)用場景,詳細(xì)闡述了其在
    的頭像 發(fā)表于 10-17 09:22 ?496次閱讀
    PKCAN-WIFI無線應(yīng)<b class='flag-5'>用工具</b>在工程機(jī)械遠(yuǎn)程<b class='flag-5'>調(diào)試</b>領(lǐng)域的創(chuàng)新應(yīng)用

    全場景氣密性檢測儀:從「專用工具」到「智能平臺」的技術(shù)躍遷

    工廠產(chǎn)線的應(yīng)用這種多設(shè)備困境正是現(xiàn)代制造業(yè)面臨的典型痛點(diǎn)。而全場景應(yīng)用的氣密性檢測儀的出現(xiàn),這個(gè)困境提供了系統(tǒng)性解決方案。一、技術(shù)邊界的重新定義什么是真正的「全場
    的頭像 發(fā)表于 09-08 11:31 ?528次閱讀
    全場景氣密性檢測儀:從「<b class='flag-5'>專用工具</b>」到「智能平臺」的技術(shù)躍遷

    調(diào)試工具:Eclipse調(diào)試工具欄與窗口的深入分析

    摘要 :在嵌入式系統(tǒng)開發(fā)領(lǐng)域,高效的調(diào)試工具鏈對于項(xiàng)目的成功實(shí)施具有決定性意義。本文聚焦于 Eclipse 調(diào)試工具欄與窗口的功能特性,深入剖析其在嵌入式開發(fā)調(diào)試過程中的關(guān)鍵作用。以廈
    的頭像 發(fā)表于 07-07 11:32 ?902次閱讀
    <b class='flag-5'>調(diào)試工具</b>:Eclipse<b class='flag-5'>調(diào)試工具</b>欄與窗口的深入分析

    RT-Trace調(diào)試工具正式發(fā)布!

    嵌入式開發(fā)者打造的高性能調(diào)試工具。RT-Trace支持SWD/JTAG高速連接,搭載板載顯示屏離線交互系統(tǒng)與WebUI實(shí)時(shí)監(jiān)控平臺,助力代碼調(diào)試、性能分析、故障排查全流程
    的頭像 發(fā)表于 06-18 12:02 ?1513次閱讀
    RT-Trace<b class='flag-5'>調(diào)試工具</b>正式發(fā)布!

    Lauterbach TRACE32開發(fā)工具現(xiàn)在支持PX5 RTOS

    Lauterbach TRACE32開發(fā)工具現(xiàn)在支持PX5 RTOS。這里TRACE32工具支持包括對PX5 RTOS內(nèi)部結(jié)構(gòu)和數(shù)據(jù)的訪問,使開發(fā)人員能夠更深入地了解其應(yīng)用程序的行為方
    的頭像 發(fā)表于 06-12 16:38 ?1049次閱讀