FreeRTOS的學習路線


背景

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

FreeRTOS 簡介

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

FreeRTOS 手冊熟悉

  161204_Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide.pdf

  通過該手冊可以了解

      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內部實現細節應該各有不同。以后抽時間分析一下,再繼續更新。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM