日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FreeRTOS学习及移植笔记之一:开始FreeRTOS之旅

發布時間:2024/7/23 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FreeRTOS学习及移植笔记之一:开始FreeRTOS之旅 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.



1、必要的準備工作

工欲善其事,必先利其器,在開始學習和移植之前,相應的準備工作必不可少。所以在開始我們寫要準備如下:

  • 測試環境:我準備在STM32F103平臺上移植和測試FreeRTOS系統

  • 準備FreeRTOS系統源碼,從官網下載最新版本的程序包,最新為v9.0.0,地址:https://sourceforge.net/projects/freertos/

  • 從官網查看FreeRTOS每個函數的API說明,以及相應的例子。根據以往的經驗,在學習過程中應該會經常查看,地址: http://www.freertos.org/a00106.html

?

2、了解FreeRTOS源文件的目錄結構

下載的FreeRTOS下載包是一個自解壓的文件,解壓后包含的內容比較豐富,不過不露結構很清晰,主要包含兩個子目錄:FreeRTOS和FreeRTOS-Plus。如下所示:

  • FreeRTOS-Plus?????????? 包含FreeRTOS+組件和演示例程;

  • FreeRTOS????????????????? 包含FreeRTOS實時內核源文件和演示例程。

?

我們學習的FreeRTOS內核部分在FreeRTOS目錄之下,打開FreeRTOS文件夾它又被分成兩個主要的子目錄,如下所示:

  • Demo????????? 包含演示例程工程;

  • Source???????? 包含實時內核源文件。

?

RTOS代碼的核心包含在三個文件中:tasks.c、queue.c、list.c。這三個文件位于FreeRTOS/Source目錄。在該目錄下還包含三個可選的文件:timers.c、event_groups.c、croutine.c,分別實現軟件定時、事件組和協程功能。

打開Source文件夾,FreeRTOS/Source目錄結構如下所示:

  • include??????? FreeRTOS內核代碼頭文件。

  • portable????????????? 面向特定環境的接口描述。

  • 以及前面所述的6個文件。

?

應用平臺的不同,所以每個支持的處理器架構都有一段與處理器架構相關的RTOS代碼。這個是RTOS移植層,它位于FreeRTOS/Source/Portable/[相應編譯器]/[相應CPU架構]子目錄。

對于FreeRTOS,堆棧設計也屬于移植層。FreeRTOS/Source/portable/MemMang目錄下heap_x.c文件給出了多種堆棧方案,后續文章將會詳細介紹堆棧操作。

如果FreeRTOS在IAR環境下移植到STM32F103平臺則為需要移植\FreeRTOS\Source\portable\IAR\ARM_CM3目錄下的文件,除此之外位于\FreeRTOS\Source\portable\MemMang目錄之下的堆棧設計文件也需要移植。其他部分則可忽略。

打開Demo文件夾,其中包含各種處理器架構和編譯器的演示例程。大多數的演示例程代碼對所有移植都是通用的,位于FreeRTOS/Demo/Common/Minimal目錄。Demo目錄下剩余的子目錄包含預先配置好的工程,可以用于構建個人演示例程。子目錄的命名與移植平臺和編譯器相關。如果我們查看在IAR環境下STM32F103平臺演示工程,則可以查看\FreeRTOS\Demo\CORTEX_STM32F103_IAR目錄。

3、開啟簡單的快樂之旅

有了以上的了解我們現在通過Demo簡單學習一下,在IAREWARM開發環境中打開\FreeRTOS\Demo\CORTEX_STM32F103_IAR目錄下的RTOSDemo.eww工程。

?

該項目打開后的文件組織形式如下:

?

編譯該工程,該Demo項目在IAR EWARMV6.4平臺下編譯無錯誤:

?

下載到STM32F103VET6目標MCU運行正確。至此,測試Demo項目正確。

歡迎關注:

總結

以上是生活随笔為你收集整理的FreeRTOS学习及移植笔记之一:开始FreeRTOS之旅的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。