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

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

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

朱天龍:學(xué)習(xí)和掌握RTOS最好的方法

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:未知 ? 2023-07-28 20:45 ? 次閱讀

在討論“如何學(xué)習(xí)和掌握RTOS“這件事情之前,我們首先要明確一點(diǎn):我們是否有必要學(xué)習(xí)RTOS?

關(guān)于這一點(diǎn),可以看我18年的時(shí)候?qū)懙囊黄恼?/span>《該不該用RTOS?我們只做對(duì)的選擇》。這篇文章里的一些觀點(diǎn)放在今天,仍然是適用的。比如:裸機(jī)在并發(fā)性、模塊化、實(shí)時(shí)性、可重用性以及生態(tài)上的缺陷。當(dāng)你使用裸機(jī)寫的軟件越多,功能越復(fù)雜,你所遇到的問題也會(huì)越來越多。

這次主要是想跟大家分享一下”如何學(xué)習(xí)和掌握RTOS”,為什么會(huì)有這個(gè)想法呢,其實(shí)動(dòng)機(jī)也很巧合,是因?yàn)槲铱吹揭粋€(gè)群友的觀點(diǎn)和我的觀點(diǎn)非常相似,也看到大家都有這樣的需求,所以總結(jié)了之前學(xué)習(xí)RTOS的經(jīng)驗(yàn),跟大家做個(gè)分享。

2dd4075e-2d44-11ee-815d-dac502259ad0.png2dee574e-2d44-11ee-815d-dac502259ad0.png

自上而下:先用起來再向下學(xué)習(xí)

我們?cè)趯W(xué)習(xí)一款RTOS時(shí),由于RTOS都是包含各種模塊的復(fù)雜系統(tǒng),學(xué)習(xí)時(shí),首先要先建立宏觀認(rèn)識(shí),了解RTOS的整體架構(gòu),掌握RTOS上的應(yīng)用開發(fā)。

最好的方式是選擇一個(gè)有豐富文檔和例程的RTOS,基于RTOS系統(tǒng)的一整套示例代碼進(jìn)行學(xué)習(xí)是一個(gè)非常好的方法。通過使用這些示例代碼,可以深入了解RTOS系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方式,學(xué)會(huì)如何使用RTOS來開發(fā)應(yīng)用程序,也使我們的學(xué)習(xí)過程不會(huì)那么枯燥。

具體怎么實(shí)操呢?以RT-Thread新出的星火1號(hào)學(xué)習(xí)板為例?!毙腔?號(hào)”是RT-Thread專門為初學(xué)者設(shè)計(jì)的一套學(xué)習(xí)板,包含了豐富的例程,從內(nèi)核到外設(shè)、從組件到各種各樣的Demo。通過學(xué)習(xí)這樣的示例程序,直接運(yùn)行就可以看到現(xiàn)象,并且每個(gè)例程都有對(duì)應(yīng)的說明文檔,這樣就可以比較輕松的掌握RTOS的應(yīng)用開發(fā)。掌握應(yīng)用開發(fā)之后,再慢慢的深入下去,深入到內(nèi)核、架構(gòu)、底層。

2e256d6a-2d44-11ee-815d-dac502259ad0.png

2e39997a-2d44-11ee-815d-dac502259ad0.png2e5e911c-2d44-11ee-815d-dac502259ad0.png

循序漸進(jìn)

RTOS是一個(gè)復(fù)雜的系統(tǒng),學(xué)習(xí)RTOS時(shí),不能心急,”一口吃不成大胖子“,要按照方法循序漸進(jìn)的學(xué)習(xí)。一個(gè)RTOS的SDK通常會(huì)提供多種示例項(xiàng)目,包括內(nèi)核、外設(shè)、文件系統(tǒng)、網(wǎng)絡(luò)等,這些示例項(xiàng)目可以幫助你更好地理解RTOS系統(tǒng)的各個(gè)方面??梢詮暮?jiǎn)單的示例開始,逐步深入到更復(fù)雜的項(xiàng)目中,以便更好地掌握RTOS的開發(fā)技能。

同樣以星火1號(hào)的SDK為例,就包括了內(nèi)核、基礎(chǔ)外設(shè)、高級(jí)外設(shè)、組件、IoT、綜合demo 6個(gè)級(jí)別的示例程序,難度從易到難。學(xué)習(xí)時(shí),可以遵循SDK的難度梯度,一個(gè)階段一個(gè)階段的學(xué)習(xí)。

勤動(dòng)手多做實(shí)驗(yàn)

編寫代碼和進(jìn)行內(nèi)核實(shí)驗(yàn)是學(xué)習(xí)RTOS的重要方法之一。通過編寫代碼,可以更深入地了解RTOS的API函數(shù)、內(nèi)核機(jī)制以及如何使用RTOS來開發(fā)實(shí)時(shí)應(yīng)用程序。

在進(jìn)行內(nèi)核實(shí)驗(yàn)時(shí),針對(duì)同一個(gè)應(yīng)用場(chǎng)景,可以使用不同的系統(tǒng)API來實(shí)現(xiàn),對(duì)比不同API使用上的差異,以及實(shí)現(xiàn)效果下的差別,更好的加深對(duì)內(nèi)核機(jī)制的理解。

星火1號(hào),針對(duì)內(nèi)核的學(xué)習(xí)需求,單獨(dú)準(zhǔn)備了一個(gè)內(nèi)核學(xué)習(xí)例程01_kernel,這個(gè)例程里包含一個(gè)基本的內(nèi)核工程,以及一套內(nèi)核實(shí)驗(yàn)手冊(cè)。根據(jù)內(nèi)核實(shí)驗(yàn)手冊(cè),可以自己動(dòng)手做一些針對(duì)內(nèi)核的API試驗(yàn),比如兩個(gè)同優(yōu)先級(jí)的線程相互切換、高優(yōu)先級(jí)線程搶占低優(yōu)先級(jí)的線程等,借助這些有趣的實(shí)驗(yàn),不知不覺的就掌握了RTOS內(nèi)核的精髓??梢愿玫恼莆誖TOS應(yīng)用開發(fā)。

多借助工具

此外,還可以借助一些工具來輔助RTOS的學(xué)習(xí),比如仿真平臺(tái)或者硬件調(diào)試器。通過仿真平臺(tái)或者硬件調(diào)試器來進(jìn)行內(nèi)核實(shí)驗(yàn),就可以單步程序的運(yùn)行。單步應(yīng)用程序,可以從應(yīng)用代碼直接深入到內(nèi)核代碼,從而更好地了解RTOS的內(nèi)核機(jī)制。

這方面常見的RTOS一般都支持QEMU的方式,借助QEMU可以直接單步程序深入理解內(nèi)核機(jī)制。但是仿真平臺(tái)也有缺點(diǎn),就是無法很好的仿真硬件外設(shè),比如嵌入式中常用的I2C、SPI、CAN通信協(xié)議,或者一些溫濕度傳感器等外部模塊,就不適合使用仿真平臺(tái)了。這一點(diǎn),星火1號(hào)做的也很不錯(cuò),它板載了ST-Link調(diào)試器,可以直接借助RT-Thread Studio來下載調(diào)試程序。單步程序的運(yùn)行,非常適合初學(xué)者入門。

總結(jié)下來:學(xué)習(xí)和掌握RTOS最好的方法,就是自上而下的學(xué)習(xí)。按照難易程度循序漸進(jìn)的學(xué)習(xí)的同時(shí),也要多動(dòng)手多做實(shí)驗(yàn)。還可以多借助調(diào)試工具深入到RTOS內(nèi)部,可以更好的理解RTOS內(nèi)部機(jī)制。

最后給大家推薦一下我們最近新出的“星火1號(hào)“學(xué)習(xí)板,這款開發(fā)板是專為初學(xué)者而設(shè)計(jì)的,內(nèi)置例程豐富而且按照難度分成了6個(gè)模塊,非常適合初學(xué)者入門RTOS。

2ea04850-2d44-11ee-815d-dac502259ad0.jpg

搶購(gòu)地址:https://m.tb.cn/h.5YPNnmU?tk=uUvYdFTuOct

下面是星火1號(hào)的交流群 QQ1群839583041(如1群已滿,請(qǐng)加2群)、QQ2群852752783 ,這里都是學(xué)習(xí)RTOS的小伙伴,大家在這里交流RTOS的學(xué)習(xí)方法與學(xué)習(xí)經(jīng)驗(yàn),歡迎來加入我們,一起學(xué)習(xí),共同成長(zhǎng)!


點(diǎn)擊閱讀原文進(jìn)入官網(wǎng)


原文標(biāo)題:朱天龍:學(xué)習(xí)和掌握RTOS最好的方法

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


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

    關(guān)注

    31

    文章

    1289

    瀏覽量

    40140

原文標(biāo)題:朱天龍:學(xué)習(xí)和掌握RTOS最好的方法

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用任務(wù)通知提高RTOS應(yīng)用的效率

    在實(shí)時(shí)嵌入式系統(tǒng)中,性能和資源效率是決定設(shè)計(jì)成敗的關(guān)鍵因素。傳統(tǒng)的實(shí)時(shí)操作系統(tǒng)(RTOS)提供了如隊(duì)列、信號(hào)量和事件組機(jī)制,實(shí)現(xiàn)任務(wù)之間的同步和通信。FreeRTOS/SAFERTOS還提供一種方法可以使這些過程更快、更輕量化,即任務(wù)通知。
    的頭像 發(fā)表于 12-27 14:54 ?140次閱讀

    物聯(lián)網(wǎng)學(xué)習(xí)路線來啦!

    豐富,功能越來越復(fù)雜,所以大家對(duì)嵌入式實(shí)時(shí)操作系統(tǒng)的需求也越來越多。了解嵌入式實(shí)時(shí)操作系統(tǒng)的概念及核心思想,通過一款常見的RTOS學(xué)習(xí),比如FreeRTOS或者RT-Thread,熟練掌握操作系統(tǒng)
    發(fā)表于 11-11 16:03

    Pytorch深度學(xué)習(xí)訓(xùn)練的方法

    掌握這 17 種方法,用最省力的方式,加速你的 Pytorch 深度學(xué)習(xí)訓(xùn)練。
    的頭像 發(fā)表于 10-28 14:05 ?215次閱讀
    Pytorch深度<b class='flag-5'>學(xué)習(xí)</b>訓(xùn)練的<b class='flag-5'>方法</b>

    嵌入式學(xué)習(xí)建議

    對(duì)廣大渴望學(xué)習(xí)嵌入式系統(tǒng)的學(xué)子提出幾點(diǎn)基礎(chǔ)階段的學(xué)習(xí)建議: ①嵌入式系統(tǒng)軟件硬件密切相關(guān),一定要打好軟硬件基礎(chǔ)。其實(shí),只要找到正確的方法,加上努力,任何理工科學(xué)生,甚至非理工科學(xué)生,都能學(xué)好嵌入式
    發(fā)表于 10-22 11:41

    freertos和rtos區(qū)別是什么

    FreeRTOS 和 RTOS(實(shí)時(shí)操作系統(tǒng))是兩個(gè)不同的概念,但它們之間有緊密的聯(lián)系。FreeRTOS 是一個(gè)特定的開源實(shí)時(shí)操作系統(tǒng),而 RTOS 是實(shí)時(shí)操作系統(tǒng)的一般概念。 概念定義 RTOS
    的頭像 發(fā)表于 09-02 14:18 ?1266次閱讀

    RTOS的特性和類型

    實(shí)時(shí)操作系統(tǒng)(RTOS)是一種可運(yùn)行實(shí)時(shí)計(jì)算應(yīng)用程序的軟件平臺(tái),用于處理具有明確時(shí)間約束的事件和數(shù)據(jù)。與通用操作系統(tǒng)(GPOS)不同,RTOS必須在有限的硬件資源上調(diào)度應(yīng)用程序之間的處理和數(shù)據(jù)共享
    的頭像 發(fā)表于 08-20 11:29 ?593次閱讀

    RTOS開發(fā)最佳實(shí)踐

    基于RTOS編寫應(yīng)用程序時(shí),有一些要注意事項(xiàng)。在本節(jié)中,您將學(xué)習(xí)RTOS開發(fā)最佳實(shí)踐,例如POSIX合規(guī)性、安全性和功能安全認(rèn)證。
    的頭像 發(fā)表于 08-20 11:24 ?456次閱讀

    從菜鳥到大牛!嵌入式完整學(xué)習(xí)路線:STM32單片機(jī)-RTOS-Linux

    ?嵌入式系統(tǒng)是許多現(xiàn)代電子設(shè)備和智能系統(tǒng)的核心,掌握嵌入式系統(tǒng),意味著能夠設(shè)計(jì)和開發(fā)更加智能化的產(chǎn)品。本文為所有想進(jìn)入嵌入式領(lǐng)域的初學(xué)者提供一個(gè)完整系統(tǒng)學(xué)習(xí)的路線圖,按照“STM32單片機(jī)?RTOS
    的頭像 發(fā)表于 07-23 16:11 ?4169次閱讀
    從菜鳥到大牛!嵌入式完整<b class='flag-5'>學(xué)習(xí)</b>路線:STM32單片機(jī)-<b class='flag-5'>RTOS</b>-Linux

    深度學(xué)習(xí)中的時(shí)間序列分類方法

    的發(fā)展,基于深度學(xué)習(xí)的TSC方法逐漸展現(xiàn)出其強(qiáng)大的自動(dòng)特征提取和分類能力。本文將從多個(gè)角度對(duì)深度學(xué)習(xí)在時(shí)間序列分類中的應(yīng)用進(jìn)行綜述,探討常用的深度學(xué)習(xí)模型及其改進(jìn)
    的頭像 發(fā)表于 07-09 15:54 ?925次閱讀

    risc-v的mcu對(duì)RTOS兼容性如何

    RISC-V的MCU對(duì)RTOS(實(shí)時(shí)操作系統(tǒng))的兼容性主要取決于多個(gè)因素,包括RTOS的版本、RISC-V指令集的實(shí)現(xiàn)、以及芯片制造商提供的支持。以下是關(guān)于RISC-V的MCU對(duì)RTOS兼容性的一些
    發(fā)表于 05-27 16:26

    請(qǐng)問CMSIS-RTOS怎么調(diào)試?

    如果用的是MDK的RTX組件,調(diào)試倒是很簡(jiǎn)單,問題是用CUBEMX生成的CMSIS-RTOS就不知道有什么好辦法調(diào)試了。 各位有什么好的方法
    發(fā)表于 05-14 06:40

    stm32單片機(jī)學(xué)習(xí)路線

    RTOS)的基本概念:實(shí)時(shí)操作系統(tǒng)在一些復(fù)雜的應(yīng)用中非常有用。了解RTOS的基本概念,如任務(wù)、信號(hào)量、消息隊(duì)列等,可以幫助你設(shè)計(jì)和開發(fā)更加復(fù)雜的應(yīng)用。 2.學(xué)習(xí)配置和使用STM32的外設(shè):
    發(fā)表于 05-10 15:34

    基于RTOS的應(yīng)用進(jìn)程中的典型線程

    RTOS中的關(guān)鍵因素是最小的中斷延遲和最小的線程切換延遲。RTOS的價(jià)值在于它的響應(yīng)速度或可預(yù)測(cè)性,而不是它在給定時(shí)間段內(nèi)可以執(zhí)行的工作量。
    發(fā)表于 03-05 09:32 ?612次閱讀
    基于<b class='flag-5'>RTOS</b>的應(yīng)用進(jìn)程中的典型線程

    嵌入式工程師需要掌握哪些技術(shù)?

    RTOS)或者一個(gè)精簡(jiǎn)版的操作系統(tǒng)。熟悉RTOS的概念和使用方法,能夠編寫多任務(wù)和實(shí)時(shí)任務(wù)調(diào)度的代碼是非常重要的。此外,了解操作系統(tǒng)內(nèi)核的工作原理以及與硬件交互的方式也是必須的。 4. 通信協(xié)議
    發(fā)表于 03-04 16:38

    請(qǐng)問初學(xué)者要怎么快速掌握FPGA的學(xué)習(xí)方法?

    對(duì)于初學(xué)者 FPGA的編程語言是什么? FPGA芯片的基礎(chǔ)結(jié)構(gòu)也不了解. FPGA開發(fā)工具的名稱和使用方法都不知道. 要學(xué)的很多啊,請(qǐng)問有什么自學(xué)的學(xué)習(xí)方法么?
    發(fā)表于 01-02 23:01