在討論“如何學習和掌握RTOS“這件事情之前,我們首先要明確一點:我們是否有必要學習RTOS?
關于這一點,可以看我18年的時候寫的一篇文章《該不該用RTOS?我們只做對的選擇》。這篇文章里的一些觀點放在今天,仍然是適用的。比如:裸機在并發性、模塊化、實時性、可重用性以及生態上的缺陷。當你使用裸機寫的軟件越多,功能越復雜,你所遇到的問題也會越來越多。
這次主要是想跟大家分享一下”如何學習和掌握RTOS”,為什么會有這個想法呢,其實動機也很巧合,是因為我看到一個群友的觀點和我的觀點非常相似,也看到大家都有這樣的需求,所以總結了之前學習RTOS的經驗,跟大家做個分享。
自上而下:先用起來再向下學習
我們在學習一款RTOS時,由于RTOS都是包含各種模塊的復雜系統,學習時,首先要先建立宏觀認識,了解RTOS的整體架構,掌握RTOS上的應用開發。
最好的方式是選擇一個有豐富文檔和例程的RTOS,基于RTOS系統的一整套示例代碼進行學習是一個非常好的方法。通過使用這些示例代碼,可以深入了解RTOS系統的設計和實現方式,學會如何使用RTOS來開發應用程序,也使我們的學習過程不會那么枯燥。
具體怎么實操呢?以RT-Thread新出的星火1號學習板為例。”星火1號”是RT-Thread專門為初學者設計的一套學習板,包含了豐富的例程,從內核到外設、從組件到各種各樣的Demo。通過學習這樣的示例程序,直接運行就可以看到現象,并且每個例程都有對應的說明文檔,這樣就可以比較輕松的掌握RTOS的應用開發。掌握應用開發之后,再慢慢的深入下去,深入到內核、架構、底層。
循序漸進
RTOS是一個復雜的系統,學習RTOS時,不能心急,”一口吃不成大胖子“,要按照方法循序漸進的學習。一個RTOS的SDK通常會提供多種示例項目,包括內核、外設、文件系統、網絡等,這些示例項目可以幫助你更好地理解RTOS系統的各個方面。可以從簡單的示例開始,逐步深入到更復雜的項目中,以便更好地掌握RTOS的開發技能。
同樣以星火1號的SDK為例,就包括了內核、基礎外設、高級外設、組件、IoT、綜合demo 6個級別的示例程序,難度從易到難。學習時,可以遵循SDK的難度梯度,一個階段一個階段的學習。
勤動手多做實驗
編寫代碼和進行內核實驗是學習RTOS的重要方法之一。通過編寫代碼,可以更深入地了解RTOS的API函數、內核機制以及如何使用RTOS來開發實時應用程序。
在進行內核實驗時,針對同一個應用場景,可以使用不同的系統API來實現,對比不同API使用上的差異,以及實現效果下的差別,更好的加深對內核機制的理解。
星火1號,針對內核的學習需求,單獨準備了一個內核學習例程01_kernel,這個例程里包含一個基本的內核工程,以及一套內核實驗手冊。根據內核實驗手冊,可以自己動手做一些針對內核的API試驗,比如兩個同優先級的線程相互切換、高優先級線程搶占低優先級的線程等,借助這些有趣的實驗,不知不覺的就掌握了RTOS內核的精髓。可以更好的掌握RTOS應用開發。
多借助工具
此外,還可以借助一些工具來輔助RTOS的學習,比如仿真平臺或者硬件調試器。通過仿真平臺或者硬件調試器來進行內核實驗,就可以單步程序的運行。單步應用程序,可以從應用代碼直接深入到內核代碼,從而更好地了解RTOS的內核機制。
這方面常見的RTOS一般都支持QEMU的方式,借助QEMU可以直接單步程序深入理解內核機制。但是仿真平臺也有缺點,就是無法很好的仿真硬件外設,比如嵌入式中常用的I2C、SPI、CAN等通信協議,或者一些溫濕度傳感器等外部模塊,就不適合使用仿真平臺了。這一點,星火1號做的也很不錯,它板載了ST-Link調試器,可以直接借助RT-Thread Studio來下載調試程序。單步程序的運行,非常適合初學者入門。
總結下來:學習和掌握RTOS最好的方法,就是自上而下的學習。按照難易程度循序漸進的學習的同時,也要多動手多做實驗。還可以多借助調試工具深入到RTOS內部,可以更好的理解RTOS內部機制。
最后給大家推薦一下我們最近新出的“星火1號“學習板,這款開發板是專為初學者而設計的,內置例程豐富而且按照難度分成了6個模塊,非常適合初學者入門RTOS。
搶購地址:https://m.tb.cn/h.5YPNnmU?tk=uUvYdFTuOct
下面是星火1號的交流群 QQ1群839583041(如1群已滿,請加2群)、QQ2群852752783 ,這里都是學習RTOS的小伙伴,大家在這里交流RTOS的學習方法與學習經驗,歡迎來加入我們,一起學習,共同成長!
點擊閱讀原文進入官網
-
RT-Thread
+關注
關注
31文章
1273瀏覽量
39938
原文標題:朱天龍:學習和掌握RTOS最好的方法
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論