RTOS排位戰(zhàn)!你到哪個段位了?
莫問收獲,但問耕耘。
——曾國藩
本文來和大家分享一下我在RTOS打怪升級路上經(jīng)歷的幾個段位,僅供參考。
青銅段位 | 玩起來RTOS
這個段位,我把它總結(jié)為:玩起來RTOS。
2018年,我參加了RT-Thread組織的大學(xué)生雄鷹計劃,和眾多對RT-Thread感興趣的學(xué)生一起學(xué)習(xí)內(nèi)核,每周學(xué)習(xí)一章內(nèi)容并完成作業(yè)。
這是我第一次接觸RTOS內(nèi)核,得益于RT-Thread的板級支持做得實(shí)在是太好了,無需任何移植,隨便找塊stm32板子就能跑起來RT-Thread,有訓(xùn)練營的教程、官方詳細(xì)的文檔,就這樣開始了內(nèi)核的學(xué)習(xí)。
在這個過程中主要是參考教程、文檔來玩起來RTOS,創(chuàng)建線程、使用信號量、使用郵箱等等RTOS內(nèi)核基本操作,并記錄了一本足足有26468字的RT-Thread內(nèi)核學(xué)習(xí)筆記。
黃金段位 | 知道RTOS有哪些東西
這個段位,我把它總結(jié)為:知道RTOS有哪些東西。
2019年,我參加了華為的IoT訓(xùn)練營,第一次接觸LiteOS和小熊派IoT開發(fā)板,本著系統(tǒng)學(xué)習(xí)一下stm32cubemx的想法,就開始了邊學(xué)習(xí)邊寫博客記錄的過程,出完這套教程后,發(fā)現(xiàn)LiteOS教程稀缺,何不再趁熱打鐵,出一套LiteOS的教程呢?
說干就干!這一干,可謂是對自己的一次挑戰(zhàn)。
官方?jīng)]有任何細(xì)致的使用文檔,代碼里的注釋也多是版權(quán)信息,這可咋整?只能從源碼下手了。
憑借著學(xué)習(xí)RT-Thread的經(jīng)驗(yàn),開始啃源碼,做實(shí)驗(yàn),然后在教程里寫出每個模塊有哪些API可用,這些API如何使用,并在每篇文章中給出一個使用示例。
從內(nèi)核的基本模塊寫到AT框架、SAL框架這些組件,再寫到MQTT、LWM2M、COAP這些上云組件,歷時3個多月,每天都在研究。
這次經(jīng)歷對我的成長挺大,以前是沒有教學(xué)文檔、視頻就寸步難行,無從下手,之后發(fā)現(xiàn)其實(shí)一個RTOS里面就是那些東西,用起來都差不多的,如果具備一個RTOS的經(jīng)驗(yàn),再去玩其它的RTOS,很好上手。
所以,還在觀望RTOS的小伙伴,不用糾結(jié)學(xué)哪個RTOS好,如果不是項(xiàng)目要求必須使用某一種,學(xué)哪個都是一樣的。
鉑金段位 | 知道RTOS是怎么干活的
這個段位,我把它總結(jié)為:知道RTOS怎么干活。
2020年,我開始了RTOS內(nèi)核的學(xué)習(xí),選擇了代碼寫的比較簡潔粗暴的TencentOS-tiny操作系統(tǒng)。
這次主要是分析研究源碼,主要是學(xué)習(xí)研究系統(tǒng)中任務(wù)、信號量、消息隊列如何實(shí)現(xiàn),在系統(tǒng)中以怎樣的形式存在,在提供給用戶的API中究竟做了什么。
在做嵌入式項(xiàng)目的時候,不像開發(fā)桌面軟件、開發(fā)APP那樣,基本上寫代碼會調(diào)用API,調(diào)用庫就可以,嵌入式設(shè)備中的資源都是非常有限的,如果只是一通調(diào)用而自己沒有清楚的認(rèn)知,做出來的產(chǎn)品就像是空中樓閣,看似功能非常炫酷,然而,可靠嗎?面臨各種各樣斷電、斷網(wǎng)、信號不好、操作失誤的情況,是否可以處理好這些異常呢?
就拿我自己來說,寫幾個任務(wù)helloworld一下,再寫兩個任務(wù)之間使用信號量同步,再寫幾個任務(wù)使用信號量之間通信,根本莫得問題。
可是一旦用RTOS做起項(xiàng)目來,設(shè)計到任務(wù)如何分配,如何同步,如何通信,就歇菜了,好好的RTOS程序,最后所有的邏輯都是在main任務(wù)里寫……還不如裸機(jī)呢。
鉆石段位 | 知道如何用RTOS干活
這一階段,我把它總結(jié)為:知道如何用RTOS干活。
這個階段是我準(zhǔn)備接下來要達(dá)到的目標(biāo),建立在清楚的知道RTOS內(nèi)部如何運(yùn)作的基礎(chǔ)上,可以合理的設(shè)計安排任務(wù),合理的設(shè)計任務(wù)間如何同步運(yùn)行,合理的設(shè)計任務(wù)間如何通信獲取數(shù)據(jù)。
因?yàn)槲乙恢痹趯W(xué)校的原因,做項(xiàng)目都比較任性,可能覺得想玩,好玩,靈感閃現(xiàn)就去做了,也沒有約束,沒有做過實(shí)際落地產(chǎn)品的經(jīng)歷,這方面也是我一直所欠缺的。
有心的讀者可以從我平常發(fā)的文章看出來,文章深度和從業(yè)好多年的大佬根本沒法比,所以我會經(jīng)常轉(zhuǎn)載一些大佬的深度好文,一方面自己學(xué)習(xí),另一方面分享給公眾號的每位讀者。
我一直很敬佩曾國藩,考了7次才中秀才,卻以笨功夫成功打通科舉之路,進(jìn)入翰林院,一生崇尚笨拙,以扎實(shí)而非機(jī)巧取勝,很好的詮釋了:
莫問收獲,但問耕耘。
在機(jī)會還沒到來之前,先不斷學(xué)習(xí)提升自己吧~機(jī)會是留給有準(zhǔn)備的人的,暫且就分享這些,與公眾號各位讀者,共勉。
-END-
推薦閱讀
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點(diǎn),不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!