衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FreeRTOS簡介及FreeRTOS源碼包組成結構

冬至子 ? 來源:嵌入式系統研發 ? 作者:ESDev ? 2023-06-09 14:21 ? 次閱讀

2.FreeRTOS簡介

FreeRTOS 是市場領先的面向微控制器和小型微處理器的實時操作系統 (RTOS),與世界領先的芯片公司合作開發。FreeRTOS目前由亞馬遜公司管理,遵循MIT開源許可證協議進行免費分發,包括一個實時內核和一組不斷豐富的 IoT 庫。

FreeRTOS的代碼庫支持 40 多種 MCU 架構和 10多種工具鏈,包括最新RISC-VARMv8-M (Arm Cortex-M33) 微控制器。

3.FreeRTOS源碼包組成結構

在FreeRTOS官網可以下載到最新的源碼包,當前版本為FreeRTOSv202212.01

FreeRTOS源碼包主要包含2個子目錄:FreeRTOS 和 FreeRTOS-Plus。

(1)FreeRTOS目錄包含實時內核源文件和示例工程;

(2)FreeRTOS-Plus 庫實現了 FreeRTOS 內核的附加功能,包含FreeRTOS-Plus-TCP、FreeRTOS-Plus-CLI和FreeRTOS-Plus-IO等模塊及示例工程。

圖片

FreeRTOS目錄包含實時內核源文件目錄Source和示例工程目錄Demo。

圖片

FreeRTOS/Source目錄包含內核源文件、內核頭文件目錄include和處理器相關的移植文件目錄portable。

FreeRTOS/Source目錄下的內核源文件包含3個核心 RTOS 代碼,分別為:task.c、queue.c和list.c。還包含4個可選代碼,timers.c實現了軟件計時器;croutine.c實現了協程功能;event_groups.c實現了事件組功能;stream_buffer.c實現了流緩沖區功能。

圖片

FreeRTOS/portable目錄包含了不同編譯器和芯片架構對應的可移植層代碼,位于FreeRTOS/Source/portable/[compiler]/[architecture]子目錄下,其中[compiler]和[architecture]分別表示編譯器和芯片架構。例如,FreeRTOS\\Source\\portable\\RVDS\\ARM_CM3子目錄表示RVDS及Keil開發環境下ARM Cortex-M3架構處理器的可移植層代碼。

此外,FreeRTOS/portable目錄下還包含用于內存管理的堆分配方案代碼,位于FreeRTOS/Source/portable/MemMang 目錄中,支持heap_1.c~heap_5.c五種分配方案。

圖片

FreeRTOS/Demo目錄包含所有示例工程的共用目錄Common以及不同編譯器和芯片架構對應的專用目錄。例如,FreeRTOS/Demo/CORTEX_STM32F103_Keil目錄是STM32F103微控制器的Keil工程目錄,對應架構為ARM Cortex-M3。

圖片

4.FreeRTOS項目工程建立方法

4.1概要

本節主要介紹基于FreeRTOS源碼包,新建FreeRTOS項目工程所需的必備源文件、頭文件、配置文件和可選源文件。

4.2必備源文件

FreeRTOS項目工程必須包含以下源文件:

(1)FreeRTOS/Source/tasks.c

(2)FreeRTOS/Source/queue.c

(3)FreeRTOS/Source/list.c

(4)FreeRTOS/Source/portable/[compiler]/[architecture]/port.c

(5)FreeRTOS/Source/portable/MemMang/heap_x.c,x為1~5

4.3頭文件

編譯器應包含如下頭文件路徑:

(1)FreeRTOS/Source/include

(2)FreeRTOS/Source/portable/[compiler]/[architecture]

(3)使用的示例項目中FreeRTOSConfig.h配置文件所在的目錄

4.4配置文件

配置文件FreeRTOSConfig.h用于為構建的應用程序量身定制 RTOS 內核,并根據實際硬件情況對CPU主頻、中斷優先級等參數進行配置。

FreeRTOS/Demo下的示例項目中均含有配置文件FreeRTOSConfig.h,新建項目時選取相同編譯器及相同芯片架構的FreeRTOSConfig.h文件作為模板,在此基礎上進行修改即可。

4.5可選源文件

FreeRTOS項目工程的可選源文件包括:

(1)FreeRTOS/Source/timers.c,用于軟件定時器功能;

(2)FreeRTOS/Source/event_groups.c,用于事件組功能;

(3)FreeRTOS/Source/stream_buffer.c,用于流緩沖區功能;

(4)FreeRTOS/Source/croutine.c,用于協程功能,注意目前協程功能已 被棄用,不推薦用于新設計。

4.6小結

本節介紹了基于FreeRTOS源碼包新建FreeRTOS項目工程所需的源文件和頭文件。在編譯工程時可能會報一些錯誤;在編譯通過后,調試功能時也可能會遇到一些問題,到時需要具體問題具體分析解決了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7651

    瀏覽量

    152114
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9167

    瀏覽量

    369217
  • 微處理器
    +關注

    關注

    11

    文章

    2274

    瀏覽量

    82776
  • 計時器
    +關注

    關注

    1

    文章

    426

    瀏覽量

    32861
  • FreeRTOS
    +關注

    關注

    12

    文章

    484

    瀏覽量

    62398
收藏 人收藏

    評論

    相關推薦

    如何移植FreeRTOS源碼

    參照正點原子FreeRTOS視頻教程,首次接觸操作系統,做筆記方便回顧目錄如何移植1.復制粘貼2.工程添加3.路徑添加4.將非源碼文件添加和解決其他編譯問題如何移植FreeRTOS源碼
    發表于 08-03 06:12

    下載并整理FreeRTOS源碼

    一、下載并整理FreeRTOS源碼下載壓縮解壓打開解壓后的文件夾打開FreeRTOS–Source–portable文件夾再打開RVDS文件夾把里面的ARM_CM3文件夾復制到kei
    發表于 08-24 07:49

    freertos官方源碼

    源碼有2個,一個是FreeRTOS 202111.00,一個是FreeRTOS LTS 202012.03。兩個源碼
    發表于 12-06 16:53

    FreeRTOS的移植與FreeRTOS源碼文件作用介紹

    文章目錄一、實時操作系統二、FreeRTOS三、移植FreeRTOS的準備工作(一)、FreeRTOS源碼文件作用介紹1、include文件夾(1)、include/croutine.
    發表于 02-18 06:13

    FreeRTOS操作系統源碼V3.2

    FreeRTOS操作系統源碼V3.2
    發表于 03-26 15:24 ?94次下載

    FreeRTOS_002_ 源碼文件描述與提取建立工程

    FreeRTOS_002_源碼文件描述與提取建立工程
    的頭像 發表于 03-14 11:47 ?2549次閱讀
    <b class='flag-5'>FreeRTOS</b>_002_ <b class='flag-5'>源碼</b>文件描述與提取建立工程

    freertos移植教程_freertos任務調度原理

    在移植之前,我們首先要獲取到FreeRTOS的官方的源碼
    發表于 04-16 09:16 ?1.2w次閱讀
    <b class='flag-5'>freertos</b>移植教程_<b class='flag-5'>freertos</b>任務調度原理

    如何實現FreeRTOS在Cortex-M3上的移植?

    1. FreeRTOS下載的文件結構FreeRTOS官方網站可以下載到最新版的FreeRTOS
    的頭像 發表于 01-27 13:49 ?2601次閱讀

    STM32移植FreeRTOS(圖文實操)

    目錄一、Freertos1、前后臺系統2、可剝奪型內核3、Freertos系統簡介二、FreeRTOS移植1.在基礎工程種新建Freertos
    發表于 11-21 19:06 ?9次下載
    STM32移植<b class='flag-5'>FreeRTOS</b>(圖文實操)

    【STM32】FreeRTOS移植

    00. 目錄文章目錄00. 目錄01. 簡介02. 預備工作03. FreeRTOS移植04. SYSTEM文件修改05. 測試程序設計06. 附錄07. 參考01. 簡介我們已經了解
    發表于 12-04 14:06 ?14次下載
    【STM32】<b class='flag-5'>FreeRTOS</b>移植

    初入FreeRTOS

    源碼3、FreeRTOS移植操作三、在STM32下完成一個基于FreeRTOS的多任務程序1、任務要求2、任務實施3、任務結果四、總結一、FreeRTOS介紹1、初識
    發表于 12-06 21:06 ?40次下載
    初入<b class='flag-5'>FreeRTOS</b>

    FreeRTOS系列第8篇---FreeRTOS內存管理

    本文介紹內存管理的基礎知識,詳細源碼分析見《 FreeRTOS高級篇7---FreeRTOS內存管理分析》
    發表于 01-26 17:56 ?17次下載
    <b class='flag-5'>FreeRTOS</b>系列第8篇---<b class='flag-5'>FreeRTOS</b>內存管理

    STM32FreeRTOS學習資料分享

    內含STM32 FreeRTOS源碼 以及詳細的源碼使用教程、以及低功耗設計思路等。
    發表于 10-17 14:17 ?27次下載

    FreeRTOS源碼下載

    內存管理文件在FreeRTOS\portable\MemMang文件夾下,FreeRTOS提供了五種內存管理方案,對于移植來說,隨便選一種方案都是可以的。
    的頭像 發表于 02-10 11:00 ?3951次閱讀
    <b class='flag-5'>FreeRTOS</b>的<b class='flag-5'>源碼</b>下載

    FreeRTOS的移植

    FreeRTOS包含Demo例程和內核源碼(比較重要,我們就需要提取該目錄下的大部分文件)。 **Source**文件夾里面包含的是FreeRTOS內核的源代碼,我們移植FreeRTOS
    的頭像 發表于 02-14 09:34 ?1228次閱讀
    <b class='flag-5'>FreeRTOS</b>的移植
    ea平台| 金博士百家乐官网的玩法技巧和规则| 百家乐折叠桌| 百家乐现金游戏注册送彩金| 大发888国际娱乐城lm0| 百家乐官网视频游戏平台| 网络百家乐游戏机怎么破解| 豪门国际娱乐网| 百家乐官网谋略| 百家乐干洗店| 巴东县| 百家乐打鱼秘| 百家乐官网稳赚打法| 百家乐官网平台| 大发888song58| 百家乐官网现金网平台排行| 百家乐赌场方法| 百家乐官网那个平好| 百家乐游戏规范| 哪里有百家乐官网代理| 百家乐游戏分析| 百家乐注册| 百家乐三多注码法| 鼎丰娱乐城开户| 太阳城网站| 正规百家乐游戏下载| tt娱乐城官方网站| 百家乐官网赌博租| 新利国际| 博彩百家乐在线| 玩百家乐官网技巧看路| 娱乐百家乐可以代理吗| 网络百家乐官网现金游戏哪里的信誉好啊 | 大发888bet| 杨筠松 24山| 阳高县| 皇冠百家乐官网在线游戏| 深圳太阳城酒店| 太原百家乐官网招聘| 六合彩开奖现场| 澳门百家乐自杀|