【經(jīng)驗總結(jié)】一位近10年的嵌入式開發(fā)老手,到底是如何快速學(xué)習(xí)和使用RT-Thread的?
RT-Thread絕對可以稱得上國內(nèi)優(yōu)秀且排名靠前的操作系統(tǒng),在嵌入式IoT領(lǐng)域一直享有盛名。近些年,物聯(lián)網(wǎng)產(chǎn)業(yè)的大熱,更是直接將RT-Thread這款優(yōu)秀的操作系統(tǒng)推入榮譽殿堂,越來越多的開發(fā)者涌入基于RT-Thread的開發(fā)大軍,而如何快速學(xué)習(xí)和使用RT-Thread將會是一個剛需難題。
本文以一個近10年的嵌入式開發(fā)老兵的視角,跟大家一起聊一聊這個話題,希望對大家有所幫助和啟發(fā)。
1 寫在前面
RT-Thread 是一個集實時操作系統(tǒng)(RTOS)內(nèi)核、中間件組件和開發(fā)者社區(qū)于一體的技術(shù)平臺,由熊譜翔先生帶領(lǐng)并集合開源社區(qū)力量開發(fā)而成, 具備一個 IoT OS 平臺所需的所有關(guān)鍵組件,擁有一個國內(nèi)最大的嵌入式開源社區(qū),同時被廣泛應(yīng)用于能源、車載、醫(yī)療、消費電子等多個行業(yè),累積裝機(jī)量超過 20億 臺,成為國人自主開發(fā)、國內(nèi)最成熟穩(wěn)定和裝機(jī)量最大的開源 RTOS。
它的優(yōu)秀,不單單體現(xiàn)在 **文字** 上,還體現(xiàn)在 **數(shù)字** 上,以下展示數(shù)據(jù)來源于,[RT-Thread官網(wǎng)](https://www.rt-thread.org/about.html):

如此優(yōu)秀的操作系統(tǒng)軟件,你確認(rèn)不來學(xué)習(xí)一下嗎?
# 2 聊聊情懷
熟悉我的朋友,大概都知道,我跟RT-Thread還是蠻有緣的,曾經(jīng)我寫過一篇短文,介紹我與RT-Thread的故事,
該文很榮幸地登上了 2021年開發(fā)者大會專刊的故事會欄目,想必有些小伙伴在書刊上已經(jīng)看過這篇文章了。
在2022年里,我開始深耕 RT-Thread技術(shù)社區(qū),我的個人賬戶是 recan,期間,我非常積極回答線上小伙伴提的各種問題,我自己也基本保持每個月輸出至少2篇優(yōu)秀技術(shù)原創(chuàng)文章。同年6月,我還擔(dān)任了RT-Thread全球開發(fā)者大會的線上直播講師,包括國內(nèi)專場和海外專場,收獲了掌聲的同時,我也收獲了各種寶貴經(jīng)歷,最幸運的是還收獲了RT-Thread創(chuàng)始人熊大親筆簽名的 **講師證書**。
憑借2022年的優(yōu)秀表現(xiàn),我被授予了 **2022年度RT-Thread技術(shù)社區(qū)優(yōu)秀布道者** 的榮譽稱號,這真的是一個很激勵我前行的榮譽。我會以此為新的起點,在接下來的一年里,我會更加以無上的使命感去推廣RT-Thread,讓更加優(yōu)秀的開發(fā)者加入到RT-Thread的開發(fā)陣營。
這是我的責(zé)任,也是我的義務(wù),更是我的榮幸。作為布道者,我很樂意大家與我交流RT-Thread技術(shù),歡迎大家戳 我主頁,我們一起聊聊!
# 3 老手支招
扯了這么多有的沒的,是時候放點大招了。
我從13年畢業(yè)出來,從事嵌入式行業(yè)接近10年了,從最終的嵌入式Linux,然后FreeRTOS,再到現(xiàn)在的RT-Thread,可以說每一項操作系統(tǒng)技術(shù),我都有比較深的涉獵,也成功在工作項目中得到驗證,有幸做了一些成績,也很高興成為了公司里的TOP5%。
這兩年,我也頻繁地在技術(shù)自媒體上發(fā)聲,致力于打造 [架構(gòu)師李肯](http://yyds.recan-li.cn) 這個技術(shù)IP,期間遇到了很多困難和阻礙,也一度想要放棄,但與此同時又收到了很多肯定和鼓勵。遵循內(nèi)心的渴望,我還是希望能把這個IP繼續(xù)做下去,如果能幫助到更多的人,那就再好不過了。
就在我致力于打造 架構(gòu)師李肯 這個技術(shù)IP的時候,我遇到了非常多嵌入式入行的朋友,其中不乏很多想加入RT-Thread開發(fā)者陣營的朋友,他們經(jīng)常問到問到一個問題就是:**你是如何學(xué)習(xí)和使用RT-Thread的?**
說實話,每當(dāng)我回答起這個問題,我總是左想想右想想,然后給出幾個不成文的建議。所以,我想趁著這次機(jī)會,好好梳理一下,我是如何學(xué)習(xí)和使用RT-Thread的。
下面,我將以一個嵌入式經(jīng)驗老手的角度,從幾個問題角度,給出一些切實可行的建議和方法,但是需要補充說明的就是,本文提交的方法并不一定適合所有開發(fā)者,請大家酌情甄別。**擇其善者而從之,其不善者而改之!**
3.1 關(guān)于學(xué)習(xí)基礎(chǔ)的問題
這個問題羅列在第一位,是因為我遇到太多這樣的朋友了。
一上來就問,我是零基礎(chǔ)小白,能轉(zhuǎn)行學(xué)嵌入式嗎?我這樣啥都不懂的,能學(xué)好RT-Thread嗎?
在這里,我再次表達(dá)一下我的觀點,學(xué)習(xí)基礎(chǔ)不是重點,也不是難點;稍微有些電子電路基礎(chǔ),加一些C語言編程經(jīng)驗的,基本就可以應(yīng)付嵌入式的入門了。
另一方面,很重要的一點,那就是興趣。這個東西有些虛,但是直接決定了當(dāng)你遇到困難的時候,你是否能堅持得下去。畢竟,嵌入式這個玩意,說好玩也挺好玩的,說枯燥也是挺枯燥的,整天對著一堆設(shè)備,bug一籌莫展的時候,頭發(fā)就開始往下掉了。
當(dāng)然,回到RT-Thread學(xué)習(xí)這邊,如果你有主修過操作系統(tǒng)原理、計算機(jī)基礎(chǔ)等相關(guān)專業(yè)課程,那么理解起RT-Thread會更容易寫。
3.2 關(guān)于學(xué)習(xí)方向的問題
大體上,嵌入式軟件其實分為兩大方向:應(yīng)用開發(fā)和底層驅(qū)動開發(fā)。
**應(yīng)用開發(fā)**:偏向于業(yè)務(wù)邏輯開發(fā),需要掌握的是系統(tǒng)API的使用細(xì)節(jié),而對實現(xiàn)細(xì)節(jié)可能不那么講究,但是如果能更懂底層細(xì)節(jié),往往能夠?qū)懗龈觾?yōu)秀的應(yīng)用代碼。
**底層驅(qū)動開發(fā)**:這個工作是要跟硬件設(shè)備以及操作系統(tǒng)強交互的,需要掌握一定的硬件知識,同時對系統(tǒng)的驅(qū)動框架也要了然于胸,否則做嵌入式驅(qū)動開發(fā)會非常吃力。當(dāng)然,與工作難度相對應(yīng)的是,工資往往也會更高一些。
我把這個問題單獨拎出來說,主要目的就是讓大家明白,應(yīng)用開發(fā)和驅(qū)動開發(fā)是兩個截然不同的開發(fā)方向,對開發(fā)者的能力要求也不一樣,提醒大家入門的時候一定要做好選擇。
對于基于RT-Thread的開發(fā)也是應(yīng)用,應(yīng)用開發(fā)和驅(qū)動開發(fā)的能力矩陣要求是不一樣的;一般做底層驅(qū)動開發(fā)的轉(zhuǎn)應(yīng)用開發(fā)會相對容易些,而反向則比較難。所以大家一開始的選擇很重要。
3.3 關(guān)于官方文檔的問題
總的來說,RT-Thread的官方文檔已經(jīng)是非常完備的,它有一個專門的網(wǎng)站,大家可以戳 這里。
基本上,在這里你都可以找到相關(guān)的參考資料,包括內(nèi)核是怎么設(shè)計的、應(yīng)用接口怎么調(diào)用、驅(qū)動框架是怎么樣的、有哪些開發(fā)工具可以參考;基本上你上去找一找這些問題都可以找到答案。
另外一點比較重要的是,文檔是全中文模式,這對于國內(nèi)的開發(fā)者來說,是一個比較好的體驗,這也很大程度地降低了開發(fā)者的理解難度,提升開發(fā)者學(xué)習(xí)和了解RT-Thread的積極性。
3.4 關(guān)于解答問題的問題
關(guān)于提交你開發(fā)過程中遇到的問題,我首推 [RT-Thread的官方技術(shù)社區(qū)](https://club.rt-thread.org/index.html),在這里有很多優(yōu)秀的開發(fā)者聚集在一塊,其中不乏很多 [業(yè)內(nèi)的技術(shù)專家](https://club.rt-thread.org/ask/experts.html),基本上你在這里發(fā)表你的問題,應(yīng)該很快就能得到小伙伴的響應(yīng)。
整個技術(shù)社區(qū)還是比較活躍的,我個人也活躍在社區(qū)中,也經(jīng)常給社區(qū)的問題答疑,也歡迎大家在社區(qū)找我提問。
不過,需要說明的是,有些時候并不是說問題一定能夠得到解決,但是可能別人的一個點評討論,一下子就把你解決問題的思路打開了,問題也就迎刃而解了。
在這里,我想介紹一下,[如何高效地提問題](https://club.rt-thread.org/ask/question/1d7133828aad889b.html),這是很多初階開發(fā)者都需要學(xué)習(xí)的。
3.5 關(guān)于開發(fā)板的問題
這個問題也是很多小伙伴問到的一個問題,非常關(guān)心開發(fā)板的購買。
學(xué)習(xí)RT-Thread有一個比較好的地方就是,它可以不依賴于開發(fā)板環(huán)境就能上手。
在官方提供的代碼倉庫中,我們可以在BSP目錄下找到類似 **QEMU-** 開頭的BSP,這些BSP就是基于QEMU技術(shù)模擬出來的一個開發(fā)環(huán)境,有了它,你就可以直接在PC電腦上調(diào)試RT-Thread了,這不但大大提升了RT-Thread編程驗證思路的速度,同時也降低了學(xué)習(xí)RT-Thread的硬件門檻。
感興趣的小伙伴,可以戳這里了解一下 這種開發(fā)模式。
3.6 關(guān)于良師益友的問題
俗話說:“一個人走得更快,而一群人將走得更遠(yuǎn)。”
在學(xué)習(xí)RT-Thread的道路上,我希望大家能找到志同道合的伙伴,一起升級打怪,一起進(jìn)階成長;遇到問題的時候,大家一起討論,一起研究問題的根源;可能一個不經(jīng)意的想法,就幫你解決了一個折騰幾天的難題。這就是良師益友的重要性。
那么,如何去尋找自己的良師益友呢?個人覺得可以從技術(shù)論壇、技術(shù)博客、技術(shù)公號中去尋找答案,盡量多關(guān)注你同領(lǐng)域的優(yōu)秀博主,他們會有很多的同行交流群,試著去融入他們,制造幾乎與他們產(chǎn)生交集,慢慢混熟了,技術(shù)上的良師益友也就順理成章了。
如果你還沒有找到自己的良師益友,歡迎找我來撩,或許我能成為你的良師益友也說不定。
3.7 關(guān)于項目實戰(zhàn)的問題
紙上得來終覺淺,絕知此事要躬行!
在學(xué)習(xí)RT-Thread的道路上,更應(yīng)該如此。看一百遍教程,讀一百遍demo代碼,都不及自己動手敲一遍代碼,然后在實際的開發(fā)環(huán)境(開發(fā)板或QEMU模擬環(huán)境)中跑一跑,調(diào)一調(diào);這樣既能鍛煉動手能力,又能加深學(xué)習(xí)內(nèi)容的掌握。
很多人開始疑問,我的正常工作內(nèi)容還未涉及RT-Thread相關(guān)的開發(fā),我該如何找到類似的實戰(zhàn)項目呢?
這個,你就要留意各路業(yè)余大賽了,比如電子發(fā)燒友論壇,比如官方的RT-Thread技術(shù)論壇,他們都會不定期地舉辦一些設(shè)計大賽,大賽中會比較明確地要求使用RT-Thread操作系統(tǒng)。
那么對于這種大賽,你就可以踴躍地報名參加,不但可以收獲開發(fā)板,還有實踐一個實戰(zhàn)項目,更有可能還能收獲一堆志同道合的技術(shù)朋友,何樂而不為呢?
3.8 關(guān)于學(xué)習(xí)進(jìn)階的問題
學(xué)習(xí)RT-Thread的高階狀態(tài),我認(rèn)為是參與開源社區(qū)的建設(shè),一個小小問題的回答,甚至于一個小小的問題點贊,都能夠很好地把這種技術(shù)開源的精神傳承下去。
如果你是更積極的開發(fā)小伙伴,哪怕技術(shù)不是那么精湛,你也可以嘗試提交一次PR,向官方倉庫提交你的優(yōu)秀代碼,讓更多的人知道你這么優(yōu)秀。
優(yōu)秀的開發(fā)者總是有一樣的開發(fā)習(xí)慣,跟優(yōu)秀的社區(qū)建設(shè)者一起【工作】,這本身就是一件很令人成長的事情,可以嘗試加入我們吧。
----
總結(jié)一下:
上面提及的各點,其實遠(yuǎn)不是具體的可操作細(xì)節(jié),我可能稱之為 **方法論** 的東西,掌握了方法論的東西,無論你學(xué)習(xí)哪個開源項目都是一樣的理兒。所以呢,關(guān)于具體的技術(shù)細(xì)節(jié)學(xué)習(xí),歡迎大家找我來聊。
審核編輯黃宇
-
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7069瀏覽量
124899 -
嵌入式開發(fā)
+關(guān)注
關(guān)注
18文章
1068瀏覽量
48491 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5481瀏覽量
101923 -
RT-Thread
+關(guān)注
關(guān)注
32文章
1366瀏覽量
41485
發(fā)布評論請先 登錄
RT-Thread嵌入式操作系統(tǒng)專業(yè)培訓(xùn)班-深圳站重磅開啟!

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

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

清華大學(xué)出版社推出RT-Thread新作,助力嵌入式開發(fā)人才培養(yǎng)

RT-Thread聯(lián)合河北大學(xué)發(fā)起嵌入式操作系統(tǒng)專業(yè)班-保定站

【本周六-深圳】RT-Thread嵌入式操作系統(tǒng)專業(yè)培訓(xùn)班正式開班

跟著RT-Thread學(xué)嵌入式?我們開班了!

【上海】9月21日RT-Thread巡回線下培訓(xùn)-RTduino 10分鐘上手嵌入式

新書發(fā)布——《RT-Thread嵌入式實時操作系統(tǒng)內(nèi)核、驅(qū)動和應(yīng)用開發(fā)技術(shù)》

【大連】9月7日RT-Thread巡回線下培訓(xùn)-OpenMV機(jī)器視覺

【武漢】9月7日RT-Thread巡回線下培訓(xùn)-RTduino-10分鐘上手嵌入式

獲獎公布!2024 RT-Thread全球巡回線下培訓(xùn)火熱來襲!報名提問有獎!
2024 RT-Thread全球巡回 線下培訓(xùn)火熱來襲!

【好書推薦】RT-Thread設(shè)備驅(qū)動開發(fā)指南

RT-Thread全球嵌入式電子設(shè)計大賽

評論