FreeRTOS的學習路線

背景ide

  因爲以前接觸過一些嵌入式RTOS,如Keil-RTX,uCOS-II,也曾經關注過FreeRTOS,但一直沒有機會採用FreeRTOS開發。目前FreeRTOS作爲主流RTOS,風聲正盛。做爲嵌入式開發從業人員,貌似沒有使用過FreeRTOS,競爭力指數會直線下降。最近,剛巧項目中使用了STM32f103芯片。因爲RTOS的能夠更合理、更有效地利用CPU的資源,簡化應用軟件的設計,縮短系統開發時間,更好地保證系統的實時性和可靠性。因爲對FreeRTOS好奇的傾向性,因此,本次決定採用FreeRTOS開發。網站

FreeRTOS 簡介ui

  關於FreeRTOS簡介,在此再也不多說,https://www.freertos.org/網站上有豐富的說明設計

FreeRTOS 手冊熟悉3d

  161204_Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide.pdf對象

  經過該手冊能夠了解blog

      1)工程建立方法,隊列

      2)任務管理:主要描述任務優先級調度,搶佔式或非搶佔式調度等調度模型事件

      3)堆內存管理:主要分析5種堆內存管理模型,建議選擇heap_4內存

      4)隊列管理

   5)軟時間管理

      6)中斷管理,主要是推遲中斷處理方法

      7)資源管理,主要是臨界區,資源互斥訪問

      8)事件組

      9) 任務通知,直接任務通訊,無需中間對象,比消息隊列,事件組和信號量更快,缺點是任務建立時須要分配8字節內存

 

FreeRTOS 移植

  方法1 :\FreeRTOSv10.0.1\FreeRTOS\Demo\ 中包含了大量的Demo,可供選擇。

  方法2 :若是感興趣,能夠先構建符合芯片的工程,而後再導入FreeRTOS,這樣更容易理解,方法大體以下

  第一步:添加下圖所示文件

  

  第二步:添加 FreeRTOSConfig.h【建議參考方法1中對象工程的FreeRTOSConfig.h】文件,並添加

        #define vPortSVCHandler SVC_Handler
        #define xPortPendSVHandler PendSV_Handler

        #define xPortSysTickHandler SysTick_Handler

小結

  經過一週的瞭解熟悉,基本掌握FreeRTOS的各類API使用。至於方法方面主要仍是看手冊, 161204_Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide.pdf通俗易懂的描述了各類機制的使用。從功能的角度看,與其餘RTOS大體相同。RTOS內部實現細節應該各有不一樣。之後抽時間分析一下,再繼續更新。

相關文章
相關標籤/搜索