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

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

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

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

RT-Thread操作系統(tǒng)的問題及解決方案

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:古月居 ? 作者:better_coder ? 2021-04-07 17:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

現(xiàn)在的裸機(jī)程序已經(jīng)不能滿足嵌入式機(jī)器人所需的代碼結(jié)構(gòu)要求了,因?yàn)橐粋€(gè)嵌入式機(jī)器人的系統(tǒng)是非常龐大的,分別由感知算法,決策算法和控制算法等組成,這還沒有算上一些需要聯(lián)網(wǎng)的程序。龐大的代碼需要一個(gè)芯片級的操作系統(tǒng)來屏蔽掉硬件對于上層算法的影響,同時(shí)向上層提供API,幫助上層的算法調(diào)用底層硬件,因此一個(gè)芯片級操作系統(tǒng)就十分重要了,而RT-Thread是一種國產(chǎn)的芯片級操作系統(tǒng),而我的課程剛好也涉及到了該系統(tǒng),所以我準(zhǔn)備寫一系列的博客來記錄下我在學(xué)習(xí)這個(gè)操作系統(tǒng)過程中的種種問題,希望能帶給大家一些幫助~

問題現(xiàn)象

這學(xué)期我們在上嵌入式的課程,學(xué)習(xí)了一個(gè)新的輕量級操作系統(tǒng)——RT-Thread(后面簡稱為rtt),這是一個(gè)國產(chǎn)的操作系統(tǒng),這個(gè)操作系統(tǒng)的特點(diǎn)就是只有線程,沒有進(jìn)程,那么我們要使用這個(gè)系統(tǒng)的話只需要操作相應(yīng)的線程就可以了,那么我們用好這個(gè)系統(tǒng)的方法就很簡單了,我們只需要實(shí)現(xiàn)各個(gè)線程間的協(xié)調(diào)工作就可以了。

言歸正傳,在我學(xué)習(xí)這個(gè)rtt的時(shí)候我出現(xiàn)了一個(gè)問題,那就是當(dāng)我的main函數(shù)的while(1)里面啥東西也不放,空跑的時(shí)候,整個(gè)芯片就宕機(jī)了,代碼如圖:

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

原因及解決辦法

【走過的彎路】

開始的時(shí)候我以為這個(gè)原因就是在我的整個(gè)工程中main線程的優(yōu)先級比較高,其他線程的優(yōu)先級都是最低的(我這里設(shè)置的是25),那么在線程調(diào)度的時(shí)候高優(yōu)先級的線程會(huì)先被調(diào)度,main線程作為我的系統(tǒng)中優(yōu)先級最高的線程,而且是在空跑的一個(gè)線程,那么就是這個(gè)main線程在一直占用著系統(tǒng)資源,其他線程都不能被調(diào)度,因此出現(xiàn)了類似于系統(tǒng)宕機(jī)的現(xiàn)象。

說到這里就不得不說一下我們這張rtt系統(tǒng)的線程調(diào)度的狀態(tài)流轉(zhuǎn)圖了。

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

在普通的操作系統(tǒng)中,這些狀態(tài)之間的流轉(zhuǎn)還是比較好理解的,但是在rtt中,它有一個(gè)與其他操作系統(tǒng)所不同的地方,這我在前面也已經(jīng)講過了,那就是它是沒有進(jìn)程這個(gè)東西的,因此在rtt操作系統(tǒng)中,就緒狀態(tài)=運(yùn)行狀態(tài)。也就是說圖中的2號圓圈代表的循環(huán)就相當(dāng)于等價(jià)。

但是,這樣就出現(xiàn)問題了,因?yàn)槿绻凑瘴疫@個(gè)邏輯的話,不止是在空跑main線程的while(1)的時(shí)候會(huì)出現(xiàn)系統(tǒng)宕機(jī)的情況,就算main線程的while(1)里面加入了任務(wù)程序,那么我們整個(gè)rtt系統(tǒng)也是會(huì)根據(jù)系統(tǒng)進(jìn)程的調(diào)度機(jī)制(高優(yōu)先級的線程一定會(huì)先被調(diào)度)來不停的循環(huán)調(diào)用main線程里while(1)里面的任務(wù),同樣其他的線程也是不會(huì)被調(diào)用的,這樣肯定是不行的,于是我就去rtt的官網(wǎng)查詢相關(guān)資料,最終解開了這個(gè)問題背后的謎團(tuán)。

恍然大悟

首先讓我們來rtt系統(tǒng)中明確一些概念。

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

void thread_entry(void* paramenter) { /* 等待事件的發(fā)生 */ /* 對事件進(jìn)行服務(wù)、進(jìn)行處理 */ }

線程就緒/運(yùn)行

這個(gè)代碼是線程的實(shí)體函數(shù),那rtt系統(tǒng)屆時(shí)會(huì)怎樣執(zhí)行這個(gè)程序呢?我畫一個(gè)形象的圖給大家解釋一下。

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

如果這個(gè)線程優(yōu)先級夠高的話,rtt系統(tǒng)會(huì)一直執(zhí)行這個(gè)線程,也就不會(huì)執(zhí)行其他線程了,因?yàn)樵摼€程運(yùn)行結(jié)束之后會(huì)進(jìn)入就緒狀態(tài),又因?yàn)樵摼€程有最高優(yōu)先級,所以進(jìn)入線程調(diào)度池之后馬上又會(huì)被調(diào)度運(yùn)行,進(jìn)入運(yùn)行狀態(tài),但是在rtt 中,實(shí)際上(實(shí)現(xiàn)過程中)線程并不存在運(yùn)行狀態(tài),就緒狀態(tài)和運(yùn)行狀態(tài)是等同的,但是在理解機(jī)制時(shí)照上面說的來理解較為方便。

線程掛起

rtt官網(wǎng)有對其較為詳細(xì),清楚的描述,我這里做了一個(gè)搬運(yùn),侵刪。

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

這段話里面重要的就是這句話,線程不參與調(diào)度,也就是說不論該線程優(yōu)先級有多高,他都不會(huì)進(jìn)入到線程調(diào)度池里面,根據(jù)表格中的描述,導(dǎo)致線程掛起的條件有2個(gè)資源不可用。

線程主動(dòng)延時(shí)一段時(shí)間

解決問題

main線程就是一個(gè)特殊的線程,所以他肯定也符合rtt系統(tǒng)管理線程的機(jī)制。

那我們這個(gè)問題就很好說明了。當(dāng)main線程的while(1)循環(huán)內(nèi)程序沒有發(fā)生資源不可用或者線程主動(dòng)延時(shí)的操作時(shí),該線程一直會(huì)處于運(yùn)行/就緒階段,又因?yàn)槲业某绦蛑?,main線程優(yōu)先級最高,所以我的main線程一直霸占著系統(tǒng)資源,造成了系統(tǒng)宕機(jī)的假象。但是如果我在main線程的while(1)循環(huán)中插入一段延時(shí)程序,main線程就會(huì)進(jìn)入掛起狀態(tài),讓出系統(tǒng)資源,從而使其他線程有機(jī)會(huì)得到調(diào)度,使得該系統(tǒng)能穩(wěn)定運(yùn)行。

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

文章出處:【微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責(zé)任編輯:haq

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

    關(guān)注

    213

    文章

    30552

    瀏覽量

    219319
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7325

    瀏覽量

    128577
  • RT-Thread
    +關(guān)注

    關(guān)注

    32

    文章

    1534

    瀏覽量

    44235
  • RTThread
    +關(guān)注

    關(guān)注

    8

    文章

    132

    瀏覽量

    42507

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

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    【好書推薦】RT-Thread第22本相關(guān)書籍!《嵌入式實(shí)時(shí)操作系統(tǒng)開發(fā)實(shí)踐》| 技術(shù)集結(jié)

    隨著物聯(lián)網(wǎng)、智能家居與工業(yè)控制等領(lǐng)域的快速發(fā)展,嵌入式實(shí)時(shí)操作系統(tǒng)的應(yīng)用愈發(fā)廣泛。RT-Thread作為國產(chǎn)開源RTOS的代表,憑借其出色的實(shí)時(shí)性、組件化設(shè)計(jì)和強(qiáng)大的生態(tài)體系,已成為眾多工程師和高校
    的頭像 發(fā)表于 10-16 18:46 ?348次閱讀
    【好書推薦】<b class='flag-5'>RT-Thread</b>第22本相關(guān)書籍!《嵌入式實(shí)時(shí)<b class='flag-5'>操作系統(tǒng)</b>開發(fā)實(shí)踐》| 技術(shù)集結(jié)

    RT-Thread睿賽德榮獲工博會(huì)“CIIF信息技術(shù)獎(jiǎng)”,“1+X+N”戰(zhàn)略推動(dòng)國產(chǎn)操作系統(tǒng)體系化發(fā)展 | 新聞速遞

    在第二十五屆中國國際工業(yè)博覽會(huì)(工博會(huì))上,國產(chǎn)嵌入式操作系統(tǒng)領(lǐng)軍企業(yè)RT-Thread睿賽德憑借其在嵌入式操作系統(tǒng)領(lǐng)域的持續(xù)創(chuàng)新與產(chǎn)業(yè)貢獻(xiàn),榮獲2025年“CIIF信息技術(shù)獎(jiǎng)”。此次獲獎(jiǎng)
    的頭像 發(fā)表于 10-10 10:05 ?743次閱讀
    <b class='flag-5'>RT-Thread</b>睿賽德榮獲工博會(huì)“CIIF信息技術(shù)獎(jiǎng)”,“1+X+N”戰(zhàn)略推動(dòng)國產(chǎn)<b class='flag-5'>操作系統(tǒng)</b>體系化發(fā)展 | 新聞速遞

    學(xué)習(xí)強(qiáng)國深度報(bào)道 RT-Thread“1+X+N”戰(zhàn)略,國產(chǎn)操作系統(tǒng)賦能高端制造引關(guān)注|媒體視角

    近日,國產(chǎn)嵌入式操作系統(tǒng)領(lǐng)軍企業(yè)RT-Thread睿賽德在工博會(huì)發(fā)布的“1+X+N”戰(zhàn)略體系,獲得了國家級權(quán)威媒體平臺(tái)“學(xué)習(xí)強(qiáng)國”的重點(diǎn)報(bào)道。該報(bào)道從產(chǎn)業(yè)高度深入剖析了RT-Thread睿賽德以自主
    的頭像 發(fā)表于 09-29 17:37 ?888次閱讀
    學(xué)習(xí)強(qiáng)國深度報(bào)道 <b class='flag-5'>RT-Thread</b>“1+X+N”戰(zhàn)略,國產(chǎn)<b class='flag-5'>操作系統(tǒng)</b>賦能高端制造引關(guān)注|媒體視角

    【好書推薦】RT-Thread第20本相關(guān)書籍!《嵌入式實(shí)時(shí)操作系統(tǒng)RT-Thread原理與應(yīng)用》| 技術(shù)集結(jié)

    01內(nèi)容簡介ContentSummary本書為讀者提供了一個(gè)全面、系統(tǒng)RT-Thread學(xué)習(xí)指南,旨在幫助初學(xué)者及有經(jīng)驗(yàn)的開發(fā)者掌握RT-Thread實(shí)時(shí)操作系統(tǒng)和STM32嵌入式微
    的頭像 發(fā)表于 08-24 10:05 ?668次閱讀
    【好書推薦】<b class='flag-5'>RT-Thread</b>第20本相關(guān)書籍!《嵌入式實(shí)時(shí)<b class='flag-5'>操作系統(tǒng)</b><b class='flag-5'>RT-Thread</b>原理與應(yīng)用》| 技術(shù)集結(jié)

    經(jīng)濟(jì)日報(bào):國產(chǎn)嵌入式操作系統(tǒng)領(lǐng)軍企業(yè)RT-Thread正在持續(xù)把新思想、新技術(shù)留給上海|媒體視角

    。此次,RT-Thread睿賽德攜邊端側(cè)AI創(chuàng)新方案精彩亮相大會(huì)。其聯(lián)合創(chuàng)始人&工業(yè)負(fù)責(zé)人邱祎闡釋“AIOS”理念,在OS+AI架構(gòu)上重構(gòu)升級,通過操作系統(tǒng)層深度
    的頭像 發(fā)表于 08-05 21:02 ?935次閱讀
    經(jīng)濟(jì)日報(bào):國產(chǎn)嵌入式<b class='flag-5'>操作系統(tǒng)</b>領(lǐng)軍企業(yè)<b class='flag-5'>RT-Thread</b>正在持續(xù)把新思想、新技術(shù)留給上海|媒體視角

    RT-Thread 遇上 Rust:安全內(nèi)核 RusT-Thread 的誕生

    大家好,我們是中國科學(xué)技術(shù)大學(xué)操作系統(tǒng)原理與設(shè)計(jì)(H)課oooooS小組。這個(gè)項(xiàng)目是我們的課程大作業(yè):參考RT-Thread架構(gòu),使用Rust搭建一個(gè)原生的嵌入式操作系統(tǒng)內(nèi)核。初識Rust是因?yàn)閤k
    的頭像 發(fā)表于 08-02 11:03 ?3174次閱讀
    <b class='flag-5'>RT-Thread</b> 遇上 Rust:安全內(nèi)核 RusT-<b class='flag-5'>Thread</b> 的誕生

    權(quán)威認(rèn)證!RT-Thread操作系統(tǒng)100%國產(chǎn)自主可控,鑄就睿擎工業(yè)平臺(tái)安全基石? !

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

    揭秘RT-Thread上的AUTOSAR CP系統(tǒng)

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

    人形機(jī)器人敏捷開發(fā)新路徑:RT-Thread以軟件底座破解復(fù)雜系統(tǒng)難題 | 新聞速遞

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

    【直播預(yù)告】《實(shí)時(shí)操作系統(tǒng)應(yīng)用技術(shù)—基于RT-Thread與ARM的編程實(shí)踐》教學(xué)脈絡(luò)及資源簡介

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

    RT-Thread審核團(tuán)招募: 深度參與開源RTOS社區(qū)治理與演進(jìn)

    的開源實(shí)時(shí)操作系統(tǒng),正持續(xù)優(yōu)化社區(qū)協(xié)作流程,現(xiàn)面向全球開發(fā)者招募審核團(tuán)(ReviewTeam)成員,共同維護(hù)代碼質(zhì)量,推動(dòng)RT-Thread生態(tài)繁榮發(fā)展!什么是RT
    的頭像 發(fā)表于 05-21 18:02 ?1055次閱讀
    <b class='flag-5'>RT-Thread</b>審核團(tuán)招募: 深度參與開源RTOS社區(qū)治理與演進(jìn)

    RT-Thread嵌入式操作系統(tǒng)專業(yè)培訓(xùn)班-深圳站重磅開啟!

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

    RT-Thread嵌入式操作系統(tǒng)專業(yè)培訓(xùn)班來上海啦!

    RT-Thread官方將在上海(RT-Thread大本營)發(fā)起為期三天的嵌入式操作系統(tǒng)專業(yè)培訓(xùn)班!本次培訓(xùn)將會(huì)深入講解RT-Thread嵌入式實(shí)時(shí)
    的頭像 發(fā)表于 02-27 17:27 ?816次閱讀
    <b class='flag-5'>RT-Thread</b>嵌入式<b class='flag-5'>操作系統(tǒng)</b>專業(yè)培訓(xùn)班來上海啦!

    RT-Thread嵌入式操作系統(tǒng)專業(yè)培訓(xùn)班登陸鄭州!

    RT-Thread官方將在河南-鄭州發(fā)起為期三天的嵌入式操作系統(tǒng)專業(yè)培訓(xùn)班!本次培訓(xùn)將深入講解RT-Thread嵌入式實(shí)時(shí)操作系統(tǒng)的核心概念、實(shí)戰(zhàn)技巧和應(yīng)用場景。無論您是剛接觸嵌入式開
    的頭像 發(fā)表于 02-12 18:28 ?701次閱讀
    <b class='flag-5'>RT-Thread</b>嵌入式<b class='flag-5'>操作系統(tǒng)</b>專業(yè)培訓(xùn)班登陸鄭州!

    RT-Thread操作系統(tǒng)應(yīng)用開發(fā)寒假師資培訓(xùn)

    隨著物聯(lián)網(wǎng)和智能系統(tǒng)的快速發(fā)展,嵌入式成為當(dāng)前最熱門最有發(fā)展前途的IT應(yīng)用領(lǐng)域之一。為進(jìn)一步提升全國大學(xué)生在嵌入式芯片及系統(tǒng)設(shè)計(jì)領(lǐng)域的創(chuàng)新能力,特別是針對物聯(lián)網(wǎng)應(yīng)用開發(fā)中RT-Thread操作
    的頭像 發(fā)表于 12-06 01:06 ?933次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>操作系統(tǒng)</b>應(yīng)用開發(fā)寒假師資培訓(xùn)