1. 程式人生 > >RT-Thread核心實現(零):開啟RTOS之旅

RT-Thread核心實現(零):開啟RTOS之旅

2.1 為什麼要學習 RTOS

當我們進入嵌入式這個領域的時候, 往往首先接觸的都是微控制器程式設計, 微控制器程式設計又首選 51 微控制器來入門。 這裡面說的微控制器程式設計通常都是指裸機程式設計,即不加入任何 RTOS( Real Time Operation System 實時作業系統) 的程式。 常用的 RTOS 有國外的 FreeRTOS、μC/OS、 RTX 和國內的 RT-Thread、 Huawei LiteOS 和 AliOS-Things 等, 其中尤以國外開源且免費的FreeRTOS 的市場佔有率最高。如今國產的 RT-Thread 經過 10 來年的發展,聲勢迅猛,在國產 RTOS 中佔據鰲頭。
  在裸機系統中,所有的程式基本都是自己寫的, 所有的操作都是在一個無限的大迴圈裡面實現。現實生活中的很多中小型的電子產品用的都是裸機系統, 而且也能夠滿足需求。但是為什麼還要學習 RTOS 程式設計,偏偏還要整個作業系統進來。一是專案需要,隨著產品要實現的功能越來越多,單純的裸機系統已經不能夠完美地解決問題,反而會使程式設計變得更加複雜,如果想降低程式設計的難度, 我們可以考慮引入 RTOS 實現多執行緒管理, 這是使用
RTOS 的最大優勢。二是學習的需要,必須學習更高階的東西,實現更好的職業規劃,為將來走向人生巔峰迎娶白富美做準備,而不是一味的在裸機程式設計上面死磕。作為一個合格的嵌入式軟體工程師,學習是永遠不能停歇的事,時刻都得為將來準備。書到用時方恨少,我希望機會來臨時你不要有這種感覺。
  為了幫大家理清 RTOS 程式設計的套路, 我們會在“裸機系統與多執行緒系統”章節簡單的分析下這兩種程式設計方式的區別, 這個區別我稱它為學習 RTOS 的命門,只要打通這個任督二脈, 以後的RTOS 學習可以說是易如反掌。 在講解這兩種程式設計方法的區別的時候,我們主要講方法論,不會涉及到具體的程式碼程式設計, 主要還是通過虛擬碼來講解。