fbpx
维基百科

FreeRTOS

FreeRTOS是一個熱門的[2]嵌入式裝置即時作業系統核心[3][4],它于2003年由Richard Barry设计,并已被經成功移植到35種不同的微控制器[5]。FreeRTOS採用MIT许可证授權。

FreeRTOS
开发者Real Time Engineers Ltd.
作業系統家族实时操作系统
運作狀態活躍
源码模式可取得原代碼
目前版本
  • 202210.00-LTS (2022年10月14日)[1]
市場取向嵌入式設備
支援平台ARM (ARM7, ARM9, Cortex-M3, ARM Cortex-M4, Cortex-A), Atmel AVR, AVR32英语AVR32, HCS12英语HCS12, MicroBlaze英语MicroBlaze, Cortus英语Cortus (APS1, APS3, APS3R, APS5, FPF3, FPS6, FPS8), MSP430, PIC, Renesas H8/S, SuperH, RX, x86, 8052, Coldfire英语Freescale ColdFire, V850英语V850, 78K0R, Fujitsu MB91460 series, Fujitsu MB96340 series, Nios II, Cortex-R4, TMS570, RM4x
内核类别微內核
许可证MIT许可证
官方網站www.freertos.org
仓库
  • github.com/FreeRTOS/FreeRTOS

實作

FreeRTOS的設計小巧且簡易,整個核心程式碼只有3到4個C檔案,為了讓程式碼容易閱讀、移植和維護,大部分的程式碼都是以C語言編寫,只有一些函式(多數是架構特定排班副程式)採用組合語言編寫。

FreeRTOS提供許多方法以實現多线程(threads)、多作業(task)、互斥鎖(mutex)、號誌(semaphore)和軟體計時器(software timer),有個為低耗電應用程式提供的无嘀嗒(tick-less)模式,執行緒的優先權管理也有支援,此外,FreeRTOS提供了四種記憶體配置的模式:

  • 僅配置(allocate only)
  • 以非常簡易但快速的演算法進行配置與釋放
  • 搭配記憶體合併英语Coalescing (computer science),以較複雜但快速的演算法進行配置與釋放
  • 搭配互斥保護,以 C 函式庫配置進行配置與釋放

FreeRTOS中沒有一些像LinuxMicrosoft Windows等典型作業系統具有的先進特徵,例如裝置驅動程式英语device drivers、先進記憶體管理機制、使用者管理和網路管理,FreeRTOS著重在執行的簡潔與速度,FreeRTOS有時會被視為是一個『執行緒函式庫』而非『作業系統』,儘管可以找到命令列介面和類似POSIX I/O 介面的插件。

FreeRTOS實作了多執行緒,主程式會在規律的短時間區間內呼叫一個執行緒時計方法,這個方法會以循環制依照任務的優先順序進行任務切換,一般來說,這個短時間區間介於 1/1000 秒與 1/100 秒之間,透過一個硬體時計中斷來計時,但這個區間經常隨著特定的應用而改變。

從FreeRTOS官網(FreeRTOS.org(页面存档备份,存于互联网档案馆))所下載到的程式碼包含準備用來移植或編譯的設定檔和演示程式碼,讓使用者可以快速地進行應用程式設計。

主要特色

  • 記憶體足跡非常小,低負擔英语Overhead (computing)(overhead)且執行非常快速
  • 提供低電耗應用程式無計時選項
  • 對作業系統新手而言,很適合作為入門教材,對於專業開發者來說則適合用於商業產品開發
  • 排程器可以設定成可搶先(preemptive)或共同運作英语Cooperative multitasking(cooperative operation)
  • 提供共用副程式(coroutine),在FreeRTOS中,共用副程式是一個記憶體堆疊用量非常有限但非常簡易輕巧的任務
  • 支援使用(generic trace macros(页面存档备份,存于互联网档案馆). )

支援平台

  • Altera Nios II
  • ARM architecture
  • Atmel
    • Atmel AVR
    • AVR32英语AVR32
    • SAM3
    • SAM4
    • SAM7
    • SAM9
    • SAM D20
    • SAM L21
  • Cortus英语Cortus
    • APS1
    • APS3
    • APS3R
    • APS5
    • FPS6
    • FPS8
  • Cypress英语Cypress Semiconductor
  • Energy micro英语Energy Micro
    • EFM32英语EFM32
  • Fujitsu
    • FM3 series
    • MB91460 series
    • MB96340
  • Freescale
    • Coldfire英语Freescale ColdFire V1
    • Coldfire V2
    • HCS12英语Freescale 68HC12
    • Kinetis
  • IBM
    • PPC405英语PowerPC 400,PPC404
  • Infineon
    • TriCore英语Infineon TriCore
    • Infineon XMC4000英语Infineon XMC
  • Intel
  • PIC微控制器
    • PIC18
    • PIC24
    • dsPIC
    • PIC32
  • Microsemi英语Microsemi
    • SmartFusion英语Actel SmartFusion
  • Multiclet英语Multiclet
    • Multiclet P1
  • NXPNXP LPC英语NXP LPC
    • LPC1000
    • LPC2000
    • LPC4300
  • Renesas
    • 78K0R
    • RL78
    • H8/S
    • RX600
    • RX200
    • SuperH
    • V850英语V850
  • STMicroelectronics
  • Texas Instruments
    • MSP430
    • Stellaris
    • Hercules英语Hercules (processors)(TMS570LS04 & RM42)
  • Xilinx
    • MicroBlaze英语MicroBlaze
    • Zynq-7000

相關系統

SafeRTOS

SafeRTOS的功能和FreeRTOS類似,但是是為實現安全關鍵系統所設計。FreeRTOS的機能模型經過完全的HAZOP,其機能模型及API因為使用者誤用或是硬體失效造成的弱點都已經識別且修正。最後的需求經過完整IEC 61508 SIL 3開發生命週期來實現,也是只有軟體的元件可以達到的最高等級。

SafeRTOS是由WITTENSTEIN high integrity systems開發,原開發者 Real Time Engineers Ltd 為其合作夥伴[6]。SafeRTOS和FreeRTOS有相同的排程演算法,相似的API,其他方面也相當類似[7],不過是因為不同的目標而設計的[8]。SafeRTOS只用C語言進行開發,以符合IEC61508的認證需求[9]

在作業系統中,SafeRTOS有其獨特的地方,是只需要放在微處理器中的唯讀記憶體(ROM)即可,因此可以進行IEC61508或是其他安全或是可靠度相關的完整軟體及硬體預認證[10]。若是放在唯讀記憶體中,SafeRTOS代碼只能依照原始的組態來執行,因此用這套作業系統的設備的認證測試,不需在安全認證中重新測試其開發的程式[11]

德州儀器會針對其TI Stellaris系列的部份MCU的ROM裡加上SafeRTOS[12],因此客戶可以將SafeRTOS用在商業應用中,而不用採購其原代碼。在這種使用方式下,會提供一個簡單的C語言標頭檔將SafeRTOS的API函式對映於其在ROM中對應位置內。這種將SafeRTOS放在唯讀記憶體的作法相當理想,因為其中的程式不會被修改,去除了使用者的錯誤,也確保在專案開發過程中,SafeRTOS部份的程式都和認證時的相同。

OpenRTOS

OpenRTOS也是和FreeRTOS有關的專案,其代碼和FreeRTOS完全相同,但是其授權及收費方式不同。OpenRTOS是由WITTENSTEIN Aerospace and Simulation Ltd提供的軟體,其授權要求移除了所有參考GNU通用公共许可证的內容。OpenRTOS是商業軟體,需購買後才能使用,也沒有上述的授權要求,購買OpenRTOS的客戶也可以獲得完整的技術支援[13]

参见

参考资料

  1. ^ New FreeRTOS Long Term Support version released. 2022年10月14日 [2022年11月16日]. 
  2. ^ 2011 Embedded Market Study. EE Times. [2016-08-12]. (原始内容于2012-04-02). 
  3. ^ Kolesnki, Sergey. Comparing microcontroller real-time operating systems. 2013-12-08 [2016-08-12]. (原始内容于2016-08-20). A kernel is not an RTOS, but this can be a confusing issue because of the inappropriate naming chosen for some popular kernels, ‘freeRTOS’ for example. 
  4. ^ Why RTOS and What Is RTOS?. [29 August 2014]. (原始内容于2016-08-07). What is FreeRTOS? … The size constraints, and dedicated end application nature, rarely warrant the use of a full RTOS implementation - or indeed make the use of a full RTOS implementation possible. FreeRTOS therefore provides the core real time scheduling functionality, inter-task communication, timing and synchronisation primitives only. This means it is more accurately described as a real time kernel, or real time executive. … 
  5. ^ Official Website. [2016-08-12]. (原始内容于2016-08-15). 
  6. ^ FreeRTOS. [8 Aug 2012]. (原始内容于2016-08-15). 
  7. ^ (PDF). [8 Aug 2012]. (原始内容 (PDF)存档于2012-07-04). 
  8. ^ Relationship between FreeRTOS and SAFERTOS. [2016-08-12]. (原始内容于2016-08-19). 
  9. ^ EETimesSafetyCritical. [8 Aug 2012]. (原始内容于2011-04-30). 
  10. ^ Embedded Systems Design Europe. [2012-08-10]. (原始内容于2012-10-23). 
  11. ^ (PDF). [2012-09-10]. (原始内容 (PDF)存档于2013-07-04). 
  12. ^ TI Stellaris Product range. [2016-12-30]. (原始内容于2013-01-04). 
  13. ^ . [2016-08-12]. (原始内容存档于2014-10-28). 

外部链接

freertos, 此條目過於依赖第一手来源, 2016年12月30日, 请補充第二手及第三手來源, 以改善这篇条目, 是一個熱門的, 嵌入式裝置用即時作業系統核心, 它于2003年由richard, barry设计, 并已被經成功移植到35種不同的微控制器上, 採用mit许可证授權, 开发者real, time, engineers, 作業系統家族实时操作系统運作狀態活躍源码模式可取得原代碼目前版本202210, 2022年10月14日, 市場取向嵌入式設備支援平台arm, arm7, arm9, cortex,. 此條目過於依赖第一手来源 2016年12月30日 请補充第二手及第三手來源 以改善这篇条目 FreeRTOS是一個熱門的 2 嵌入式裝置用即時作業系統核心 3 4 它于2003年由Richard Barry设计 并已被經成功移植到35種不同的微控制器上 5 FreeRTOS採用MIT许可证授權 FreeRTOS开发者Real Time Engineers Ltd 作業系統家族实时操作系统運作狀態活躍源码模式可取得原代碼目前版本202210 00 LTS 2022年10月14日 1 市場取向嵌入式設備支援平台ARM ARM7 ARM9 Cortex M3 ARM Cortex M4 Cortex A Atmel AVR AVR32 英语 AVR32 HCS12 英语 HCS12 MicroBlaze 英语 MicroBlaze Cortus 英语 Cortus APS1 APS3 APS3R APS5 FPF3 FPS6 FPS8 MSP430 PIC Renesas H8 S SuperH RX x86 8052 Coldfire 英语 Freescale ColdFire V850 英语 V850 78K0R Fujitsu MB91460 series Fujitsu MB96340 series Nios II Cortex R4 TMS570 RM4x内核类别微內核许可证MIT许可证官方網站www wbr freertos wbr org仓库github wbr com wbr FreeRTOS wbr FreeRTOS 目录 1 實作 2 主要特色 3 支援平台 4 相關系統 4 1 SafeRTOS 4 2 OpenRTOS 5 参见 6 参考资料 7 外部链接實作 编辑FreeRTOS的設計小巧且簡易 整個核心程式碼只有3到4個C檔案 為了讓程式碼容易閱讀 移植和維護 大部分的程式碼都是以C語言編寫 只有一些函式 多數是架構特定排班副程式 採用組合語言編寫 FreeRTOS提供許多方法以實現多线程 threads 多作業 task 互斥鎖 mutex 號誌 semaphore 和軟體計時器 software timer 有個為低耗電應用程式提供的无嘀嗒 tick less 模式 執行緒的優先權管理也有支援 此外 FreeRTOS提供了四種記憶體配置的模式 僅配置 allocate only 以非常簡易但快速的演算法進行配置與釋放 搭配記憶體合併 英语 Coalescing computer science 以較複雜但快速的演算法進行配置與釋放 搭配互斥保護 以 C 函式庫配置進行配置與釋放FreeRTOS中沒有一些像Linux Microsoft Windows等典型作業系統具有的先進特徵 例如裝置驅動程式 英语 device drivers 先進記憶體管理機制 使用者管理和網路管理 FreeRTOS著重在執行的簡潔與速度 FreeRTOS有時會被視為是一個 執行緒函式庫 而非 作業系統 儘管可以找到命令列介面和類似POSIX I O 介面的插件 FreeRTOS實作了多執行緒 主程式會在規律的短時間區間內呼叫一個執行緒時計方法 這個方法會以循環制依照任務的優先順序進行任務切換 一般來說 這個短時間區間介於 1 1000 秒與 1 100 秒之間 透過一個硬體時計中斷來計時 但這個區間經常隨著特定的應用而改變 從FreeRTOS官網 FreeRTOS org 页面存档备份 存于互联网档案馆 所下載到的程式碼包含準備用來移植或編譯的設定檔和演示程式碼 讓使用者可以快速地進行應用程式設計 主要特色 编辑記憶體足跡非常小 低負擔 英语 Overhead computing overhead 且執行非常快速 提供低電耗應用程式無計時選項 對作業系統新手而言 很適合作為入門教材 對於專業開發者來說則適合用於商業產品開發 排程器可以設定成可搶先 preemptive 或共同運作 英语 Cooperative multitasking cooperative operation 提供共用副程式 coroutine 在FreeRTOS中 共用副程式是一個記憶體堆疊用量非常有限但非常簡易輕巧的任務 支援使用 generic trace macros 页面存档备份 存于互联网档案馆 支援平台 编辑Altera Nios II ARM architecture ARM7 ARM9 ARM Cortex M ARM Cortex A Atmel Atmel AVR AVR32 英语 AVR32 SAM3 SAM4 SAM7 SAM9 SAM D20 SAM L21 Cortus 英语 Cortus APS1 APS3 APS3R APS5 FPS6 FPS8 Cypress 英语 Cypress Semiconductor PSoC Energy micro 英语 Energy Micro EFM32 英语 EFM32 Fujitsu FM3 series MB91460 series MB96340 Freescale Coldfire 英语 Freescale ColdFire V1 Coldfire V2 HCS12 英语 Freescale 68HC12 Kinetis IBM PPC405 英语 PowerPC 400 PPC404 Infineon TriCore 英语 Infineon TriCore Infineon XMC4000 英语 Infineon XMC Intel x86 8052 PIC微控制器 PIC18 PIC24 dsPIC PIC32 Microsemi 英语 Microsemi SmartFusion 英语 Actel SmartFusion Multiclet 英语 Multiclet Multiclet P1 NXP NXP LPC 英语 NXP LPC LPC1000 LPC2000 LPC4300 Renesas 78K0R RL78 H8 S RX600 RX200 SuperH V850 英语 V850 STMicroelectronics STM32 STR7 Texas Instruments MSP430 Stellaris Hercules 英语 Hercules processors TMS570LS04 amp RM42 Xilinx MicroBlaze 英语 MicroBlaze Zynq 7000相關系統 编辑SafeRTOS 编辑 SafeRTOS的功能和FreeRTOS類似 但是是為實現安全關鍵系統所設計 FreeRTOS的機能模型經過完全的HAZOP 其機能模型及API因為使用者誤用或是硬體失效造成的弱點都已經識別且修正 最後的需求經過完整IEC 61508 SIL 3開發生命週期來實現 也是只有軟體的元件可以達到的最高等級 SafeRTOS是由WITTENSTEIN high integrity systems開發 原開發者 Real Time Engineers Ltd 為其合作夥伴 6 SafeRTOS和FreeRTOS有相同的排程演算法 相似的API 其他方面也相當類似 7 不過是因為不同的目標而設計的 8 SafeRTOS只用C語言進行開發 以符合IEC61508的認證需求 9 在作業系統中 SafeRTOS有其獨特的地方 是只需要放在微處理器中的唯讀記憶體 ROM 即可 因此可以進行IEC61508或是其他安全或是可靠度相關的完整軟體及硬體預認證 10 若是放在唯讀記憶體中 SafeRTOS代碼只能依照原始的組態來執行 因此用這套作業系統的設備的認證測試 不需在安全認證中重新測試其開發的程式 11 德州儀器會針對其TI Stellaris系列的部份MCU的ROM裡加上SafeRTOS 12 因此客戶可以將SafeRTOS用在商業應用中 而不用採購其原代碼 在這種使用方式下 會提供一個簡單的C語言標頭檔將SafeRTOS的API函式對映於其在ROM中對應位置內 這種將SafeRTOS放在唯讀記憶體的作法相當理想 因為其中的程式不會被修改 去除了使用者的錯誤 也確保在專案開發過程中 SafeRTOS部份的程式都和認證時的相同 OpenRTOS 编辑 OpenRTOS也是和FreeRTOS有關的專案 其代碼和FreeRTOS完全相同 但是其授權及收費方式不同 OpenRTOS是由WITTENSTEIN Aerospace and Simulation Ltd提供的軟體 其授權要求移除了所有參考GNU通用公共许可证的內容 OpenRTOS是商業軟體 需購買後才能使用 也沒有上述的授權要求 購買OpenRTOS的客戶也可以獲得完整的技術支援 13 参见 编辑 自由软件主题 嵌入式操作系统参考资料 编辑 New FreeRTOS Long Term Support version released 2022年10月14日 2022年11月16日 2011 Embedded Market Study EE Times 2016 08 12 原始内容存档于2012 04 02 Kolesnki Sergey Comparing microcontroller real time operating systems 2013 12 08 2016 08 12 原始内容存档于2016 08 20 A kernel is not an RTOS but this can be a confusing issue because of the inappropriate naming chosen for some popular kernels freeRTOS for example Why RTOS and What Is RTOS 29 August 2014 原始内容存档于2016 08 07 What is FreeRTOS The size constraints and dedicated end application nature rarely warrant the use of a full RTOS implementation or indeed make the use of a full RTOS implementation possible FreeRTOS therefore provides the core real time scheduling functionality inter task communication timing and synchronisation primitives only This means it is more accurately described as a real time kernel or real time executive Official Website 2016 08 12 原始内容存档于2016 08 15 FreeRTOS 8 Aug 2012 原始内容存档于2016 08 15 SmartBotPaper PDF 8 Aug 2012 原始内容 PDF 存档于2012 07 04 Relationship between FreeRTOS and SAFERTOS 2016 08 12 原始内容存档于2016 08 19 EETimesSafetyCritical 8 Aug 2012 原始内容存档于2011 04 30 Embedded Systems Design Europe 2012 08 10 原始内容存档于2012 10 23 Texas Instruments PDF 2012 09 10 原始内容 PDF 存档于2013 07 04 TI Stellaris Product range 2016 12 30 原始内容存档于2013 01 04 OpenRTOS 2016 08 12 原始内容存档于2014 10 28 外部链接 编辑维基共享资源中相关的多媒体资源 FreeRTOSOfficial website 页面存档备份 存于互联网档案馆 OPENRTOS SAFERTOS 页面存档备份 存于互联网档案馆 FreeRTOS Trace 页面存档备份 存于互联网档案馆 FreeRTOS ecosystem products 页面存档备份 存于互联网档案馆 成功大學 FreeRTOS 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title FreeRTOS amp oldid 67990734, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。