国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

RT-Thread操作系統的問題及解決方案

RTThread物聯網操作系統 ? 來源:古月居 ? 作者:better_coder ? 2021-04-07 17:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

現在的裸機程序已經不能滿足嵌入式機器人所需的代碼結構要求了,因為一個嵌入式機器人的系統是非常龐大的,分別由感知算法,決策算法和控制算法等組成,這還沒有算上一些需要聯網的程序。龐大的代碼需要一個芯片級的操作系統來屏蔽掉硬件對于上層算法的影響,同時向上層提供API,幫助上層的算法調用底層硬件,因此一個芯片級操作系統就十分重要了,而RT-Thread是一種國產的芯片級操作系統,而我的課程剛好也涉及到了該系統,所以我準備寫一系列的博客來記錄下我在學習這個操作系統過程中的種種問題,希望能帶給大家一些幫助~

問題現象

這學期我們在上嵌入式的課程,學習了一個新的輕量級操作系統——RT-Thread(后面簡稱為rtt),這是一個國產的操作系統,這個操作系統的特點就是只有線程,沒有進程,那么我們要使用這個系統的話只需要操作相應的線程就可以了,那么我們用好這個系統的方法就很簡單了,我們只需要實現各個線程間的協調工作就可以了。

言歸正傳,在我學習這個rtt的時候我出現了一個問題,那就是當我的main函數的while(1)里面啥東西也不放,空跑的時候,整個芯片就宕機了,代碼如圖:

3723a6f6-93fa-11eb-8b86-12bb97331649.jpg

原因及解決辦法

【走過的彎路】

開始的時候我以為這個原因就是在我的整個工程中main線程的優先級比較高,其他線程的優先級都是最低的(我這里設置的是25),那么在線程調度的時候高優先級的線程會先被調度,main線程作為我的系統中優先級最高的線程,而且是在空跑的一個線程,那么就是這個main線程在一直占用著系統資源,其他線程都不能被調度,因此出現了類似于系統宕機的現象。

說到這里就不得不說一下我們這張rtt系統的線程調度的狀態流轉圖了。

3747aa74-93fa-11eb-8b86-12bb97331649.jpg

在普通的操作系統中,這些狀態之間的流轉還是比較好理解的,但是在rtt中,它有一個與其他操作系統所不同的地方,這我在前面也已經講過了,那就是它是沒有進程這個東西的,因此在rtt操作系統中,就緒狀態=運行狀態。也就是說圖中的2號圓圈代表的循環就相當于等價。

但是,這樣就出現問題了,因為如果按照我這個邏輯的話,不止是在空跑main線程的while(1)的時候會出現系統宕機的情況,就算main線程的while(1)里面加入了任務程序,那么我們整個rtt系統也是會根據系統進程的調度機制(高優先級的線程一定會先被調度)來不停的循環調用main線程里while(1)里面的任務,同樣其他的線程也是不會被調用的,這樣肯定是不行的,于是我就去rtt的官網查詢相關資料,最終解開了這個問題背后的謎團。

恍然大悟

首先讓我們來rtt系統中明確一些概念。

我們以下面這個代碼段來舉例說明:

void thread_entry(void* paramenter) { /* 等待事件的發生 */ /* 對事件進行服務、進行處理 */ }

線程就緒/運行

這個代碼是線程的實體函數,那rtt系統屆時會怎樣執行這個程序呢?我畫一個形象的圖給大家解釋一下。

3765d512-93fa-11eb-8b86-12bb97331649.jpg

如果這個線程優先級夠高的話,rtt系統會一直執行這個線程,也就不會執行其他線程了,因為該線程運行結束之后會進入就緒狀態,又因為該線程有最高優先級,所以進入線程調度池之后馬上又會被調度運行,進入運行狀態,但是在rtt 中,實際上(實現過程中)線程并不存在運行狀態,就緒狀態和運行狀態是等同的,但是在理解機制時照上面說的來理解較為方便。

線程掛起

rtt官網有對其較為詳細,清楚的描述,我這里做了一個搬運,侵刪。

377cd352-93fa-11eb-8b86-12bb97331649.jpg

這段話里面重要的就是這句話,線程不參與調度,也就是說不論該線程優先級有多高,他都不會進入到線程調度池里面,根據表格中的描述,導致線程掛起的條件有2個資源不可用。

線程主動延時一段時間

解決問題

main線程就是一個特殊的線程,所以他肯定也符合rtt系統管理線程的機制。

那我們這個問題就很好說明了。當main線程的while(1)循環內程序沒有發生資源不可用或者線程主動延時的操作時,該線程一直會處于運行/就緒階段,又因為我的程序中,main線程優先級最高,所以我的main線程一直霸占著系統資源,造成了系統宕機的假象。但是如果我在main線程的while(1)循環中插入一段延時程序,main線程就會進入掛起狀態,讓出系統資源,從而使其他線程有機會得到調度,使得該系統能穩定運行。

原文標題:機器人”大腦”:RT-Thread的main線程“卡死”的一種可能原因及解決方案

文章出處:【微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

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

    關注

    213

    文章

    31079

    瀏覽量

    222244
  • 操作系統
    +關注

    關注

    37

    文章

    7402

    瀏覽量

    129300
  • RT-Thread
    +關注

    關注

    32

    文章

    1614

    瀏覽量

    44877
  • RTThread
    +關注

    關注

    8

    文章

    132

    瀏覽量

    42724

原文標題:機器人”大腦”:RT-Thread的main線程“卡死”的一種可能原因及解決方案

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    硬實時·廣生態·強賦能,中國工業報解讀RT-Thread工業發展之路|新聞資訊

    近日,《中國工業報》深度報道了RT-Thread(睿賽德)在工業邊端操作系統領域的發展路徑。報道指出,憑借25億臺的全球裝機量與近20年的開源積淀,RT-Thread已成為國內嵌入式操作系統
    的頭像 發表于 02-02 18:53 ?376次閱讀
    硬實時·廣生態·強賦能,中國工業報解讀<b class='flag-5'>RT-Thread</b>工業發展之路|新聞資訊

    【好書推薦】RT-Thread第22本相關書籍!《嵌入式實時操作系統開發實踐》| 技術集結

    隨著物聯網、智能家居與工業控制等領域的快速發展,嵌入式實時操作系統的應用愈發廣泛。RT-Thread作為國產開源RTOS的代表,憑借其出色的實時性、組件化設計和強大的生態體系,已成為眾多工程師和高校
    的頭像 發表于 10-16 18:46 ?690次閱讀
    【好書推薦】<b class='flag-5'>RT-Thread</b>第22本相關書籍!《嵌入式實時<b class='flag-5'>操作系統</b>開發實踐》| 技術集結

    RT-Thread睿賽德榮獲工博會“CIIF信息技術獎”,“1+X+N”戰略推動國產操作系統體系化發展 | 新聞速遞

    在第二十五屆中國國際工業博覽會(工博會)上,國產嵌入式操作系統領軍企業RT-Thread睿賽德憑借其在嵌入式操作系統領域的持續創新與產業貢獻,榮獲2025年“CIIF信息技術獎”。此次獲獎
    的頭像 發表于 10-10 10:05 ?1026次閱讀
    <b class='flag-5'>RT-Thread</b>睿賽德榮獲工博會“CIIF信息技術獎”,“1+X+N”戰略推動國產<b class='flag-5'>操作系統</b>體系化發展 | 新聞速遞

    學習強國深度報道 RT-Thread“1+X+N”戰略,國產操作系統賦能高端制造引關注|媒體視角

    近日,國產嵌入式操作系統領軍企業RT-Thread睿賽德在工博會發布的“1+X+N”戰略體系,獲得了國家級權威媒體平臺“學習強國”的重點報道。該報道從產業高度深入剖析了RT-Thread睿賽德以自主
    的頭像 發表于 09-29 17:37 ?1206次閱讀
    學習強國深度報道 <b class='flag-5'>RT-Thread</b>“1+X+N”戰略,國產<b class='flag-5'>操作系統</b>賦能高端制造引關注|媒體視角

    【好書推薦】RT-Thread第20本相關書籍!《嵌入式實時操作系統RT-Thread原理與應用》| 技術集結

    01內容簡介ContentSummary本書為讀者提供了一個全面、系統RT-Thread學習指南,旨在幫助初學者及有經驗的開發者掌握RT-Thread實時操作系統和STM32嵌入式微
    的頭像 發表于 08-24 10:05 ?1031次閱讀
    【好書推薦】<b class='flag-5'>RT-Thread</b>第20本相關書籍!《嵌入式實時<b class='flag-5'>操作系統</b><b class='flag-5'>RT-Thread</b>原理與應用》| 技術集結

    經濟日報:國產嵌入式操作系統領軍企業RT-Thread正在持續把新思想、新技術留給上海|媒體視角

    。此次,RT-Thread睿賽德攜邊端側AI創新方案精彩亮相大會。其聯合創始人&工業負責人邱祎闡釋“AIOS”理念,在OS+AI架構上重構升級,通過操作系統層深度
    的頭像 發表于 08-05 21:02 ?1128次閱讀
    經濟日報:國產嵌入式<b class='flag-5'>操作系統</b>領軍企業<b class='flag-5'>RT-Thread</b>正在持續把新思想、新技術留給上海|媒體視角

    RT-Thread 遇上 Rust:安全內核 RusT-Thread 的誕生

    大家好,我們是中國科學技術大學操作系統原理與設計(H)課oooooS小組。這個項目是我們的課程大作業:參考RT-Thread架構,使用Rust搭建一個原生的嵌入式操作系統內核。初識Rust是因為xk
    的頭像 發表于 08-02 11:03 ?3540次閱讀
    <b class='flag-5'>RT-Thread</b> 遇上 Rust:安全內核 RusT-<b class='flag-5'>Thread</b> 的誕生

    權威認證!RT-Thread操作系統100%國產自主可控,鑄就睿擎工業平臺安全基石? !

    在工業自動化、電力控制、軌道交通等高端裝備領域,操作系統的安全可靠與自主可控是關乎產業命脈的核心訴求。作為國產嵌入式實時操作系統(RTOS)的領軍者,RT-Thread始終將代碼的透明性與自主性置于
    的頭像 發表于 07-11 17:05 ?3056次閱讀
    權威認證!<b class='flag-5'>RT-Thread</b><b class='flag-5'>操作系統</b>100%國產自主可控,鑄就睿擎工業平臺安全基石? !

    RT-Thread榮獲2025優秀開源項目 | 新聞速遞

    6月底,RT-Thread睿賽德受邀參與由上海開源信息技術協會主辦的2025上海開源創新精英薈。上海市商委副主任張杰出席會議并致辭。RT-Thread嵌入式操作系統項目憑借其卓越的技術創新與開源生態
    的頭像 發表于 07-04 09:04 ?2648次閱讀
    <b class='flag-5'>RT-Thread</b>榮獲2025優秀開源項目 | 新聞速遞

    揭秘RT-Thread上的AUTOSAR CP系統

    標準,同時保留RT-Thread的POSIX支持與可裁剪性,實現了通信隔離、診斷模塊集成等關鍵技術突破,為車載系統提供高安全、可擴展的解決方案。車載電子系統與傳統
    的頭像 發表于 06-23 20:22 ?3223次閱讀
    揭秘<b class='flag-5'>RT-Thread</b>上的AUTOSAR CP<b class='flag-5'>系統</b>

    玄鐵加入RT-Thread 高級會員合作伙伴 | 戰略新篇

    今天起,玄鐵XuanTie正式成為RT-Thread高級會員合作伙伴。此次合作標志著雙方將在嵌入式操作系統創新、RISC-V生態構建及行業應用落地等領域展開深度協同,加速推動開源技術的產業化進程
    的頭像 發表于 06-23 20:22 ?1114次閱讀
    玄鐵加入<b class='flag-5'>RT-Thread</b> 高級會員合作伙伴 | 戰略新篇

    人形機器人敏捷開發新路徑:RT-Thread以軟件底座破解復雜系統難題 | 新聞速遞

    機器人行業解決方案負責人郭占鑫發表《從異構通信到虛擬化技術:RT-Thread助力機器人敏捷、可持續開發》主題演講,系統闡述了RT-Thread操作
    的頭像 發表于 06-04 14:03 ?1316次閱讀
    人形機器人敏捷開發新路徑:<b class='flag-5'>RT-Thread</b>以軟件底座破解復雜<b class='flag-5'>系統</b>難題 | 新聞速遞

    【直播預告】《實時操作系統應用技術—基于RT-Thread與ARM的編程實踐》教學脈絡及資源簡介

    直播預告直播主題:《實時操作系統應用技術—基于RT-Thread與ARM的編程實踐》教學脈絡及資源簡介開放時間:2025年5月29日(周四)20:00主講老師:王宜懷課程類型:視頻直播觀看平臺
    的頭像 發表于 05-26 17:50 ?1263次閱讀
    【直播預告】《實時<b class='flag-5'>操作系統</b>應用技術—基于<b class='flag-5'>RT-Thread</b>與ARM的編程實踐》教學脈絡及資源簡介

    RT-Thread審核團招募: 深度參與開源RTOS社區治理與演進

    的開源實時操作系統,正持續優化社區協作流程,現面向全球開發者招募審核團(ReviewTeam)成員,共同維護代碼質量,推動RT-Thread生態繁榮發展!什么是RT
    的頭像 發表于 05-21 18:02 ?1260次閱讀
    <b class='flag-5'>RT-Thread</b>審核團招募: 深度參與開源RTOS社區治理與演進

    RT-Thread嵌入式操作系統專業培訓班-深圳站重磅開啟!

    RT-Thread官方將在深圳舉辦為期三天的嵌入式操作系統專業培訓班!本次培訓將深入講解RT-Thread嵌入式實時操作系統的核心技術與實戰應用,助力開發者快速掌握RTOS開發精髓。無
    的頭像 發表于 04-11 18:18 ?831次閱讀
    <b class='flag-5'>RT-Thread</b>嵌入式<b class='flag-5'>操作系統</b>專業培訓班-深圳站重磅開啟!