Rt Thread學習筆記 簡介(一)

2021-10-05 13:16:18 字數 1266 閱讀 7968

近期要學習一款rtos,讓裸機不再孤單。作為一名 rtos 的初學者,也許你對 rt-thread 還比較陌生。然而,隨著你的深入接觸,你會逐漸發現 rt-thread 的魅力和它相較於其他同型別 rtos 的種種優越之處。rt-thread 是一款完全由國內團隊開發維護的嵌入式實時作業系統(rtos),具有完全的自主智財權。經過近 12 個年頭的沉澱,伴隨著物聯網的興起,它正演變成乙個功能強大、元件豐富的物聯網作業系統。

rt-thread,全稱是 real time-thread,顧名思義,它是乙個嵌入式實時多執行緒作業系統,基本屬性之一是支援多工,允許多個任務同時執行並不意味著處理器在同一時刻真地執行了多個任務。事實上,乙個處理器核心在某一時刻只能執行乙個任務,由於每次對乙個任務的執行時間很短、任務與任務之間通過任務排程器進行非常快速地切換(排程器根據優先順序決定此刻該執行的任務),給人造成多個任務在乙個時刻同時執行的錯覺。在 rt-thread 系統中,任務通過執行緒實現的,rt-thread 中的執行緒排程器也就是以上提到的任務排程器。

相較於 linux 作業系統,rt-thread 體積小,成本低,功耗低、啟動快速,除此以外 rt-thread 還具有實時性高、占用資源小等特點,非常適用於各種資源受限(如成本、功耗限制等)的場合。雖然 32 位 mcu 是它的主要執行平台,實際上很多帶有 mmu、基於 arm9、arm11 甚至 cortex-a 系列級別 cpu 的應用處理器在特定應用場合也適合使用 rt-thread。

rt-thread 系統完全開源,3.1.0 及以前的版本遵循 gpl v2 + 開源許可協議。從 3.1.0 以後的版本遵循 apache license 2.0 開源許可協議,可以免費在商業產品中使用,並且不需要公開私有**。

近年來,物聯網(internet of things,iot)概念廣為普及,物聯網市場發展迅猛,嵌入式裝置的聯網已是大勢所趨。終端聯網使得軟體複雜性大幅增加,傳統的 rtos 核心已經越來越難滿足市場的需求,在這種情況下,物聯網作業系統(iot os)的概念應運而生。物聯網作業系統是指以作業系統核心(可以是 rtos、linux 等)為基礎,包括如檔案系統、圖形庫等較為完整的中介軟體元件,具備低功耗、安全、通訊協議支援和雲端連線能力的軟體平台,rt-thread 就是乙個 iot os。

rt-thread 與其他很多 rtos 如 freertos、uc/os 的主要區別之一是,它不僅僅是乙個實時核心,還具備豐富的中間層元件,如下圖所示。

它具體包括以下部分:

Rtthread學習筆記

rt sem init rt sem create rt sem take 等待 訊號量 rt sem release 放出 訊號量 rt sem detach 訊號量脫離2.互斥量 與訊號量不同的是,互斥量只能由持有執行緒釋放,其他執行緒不可釋放 取得互斥量的執行緒與高優先度的優先順序相同 rt ...

RT thread學習筆記之

1 往裸機工程新增 rt thread 原始碼 a 拷貝 rt thread package 到裸機工程根目錄 2 拷貝 rtconfig.h 檔案到 user 資料夾 a 將 rt thread 3.0.3 bsp 資料夾下面的 rtconfig.h 配套檔案拷貝到工程根目錄下面的 user資料夾...

rt thread學習筆記 一 開發環境

首先介紹下開發環境 硬體 stm32f107vc金牛開發板。rt thread版本 2.0.0 rt thread目錄如下 rt thread bsp components documents include libcpu src tools bsp目錄包含常用cpu架構 51,arm,x86等 開...