FreeRTOS

FreeRTOS是一個熱門的嵌入式裝置用即時作業系統核心，它于2003年由Richard Barry设计，并已被經成功移植到35種不同的微控制器上。FreeRTOS採用MIT许可证授權。 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 & RM42） Xilinx MicroBlaze（英语：MicroBlaze） Zynq-7000 SafeRTOS的功能和FreeRTOS類似，但是是為實現安全關鍵系統所設計。FreeRTOS的機能模型經過完全的HAZOP，其機能模型及API因為使用者誤用或是硬體失效造成的弱點都已經識別且修正。最後的需求經過完整IEC 61508 SIL 3開發生命週期來實現，也是只有軟體的元件可以達到的最高等級。 SafeRTOS是由WITTENSTEIN high integrity systems開發，原開發者 Real Time Engineers Ltd 為其合作夥伴。SafeRTOS和FreeRTOS有相同的排程演算法，相似的API，其他方面也相當類似，不過是因為不同的目標而設計的。SafeRTOS只用C語言進行開發，以符合IEC61508的認證需求。 在作業系統中，SafeRTOS有其獨特的地方，是只需要放在微處理器中的唯讀記憶體（ROM）即可，因此可以進行IEC61508或是其他安全或是可靠度相關的完整軟體及硬體預認證。若是放在唯讀記憶體中，SafeRTOS代碼只能依照原始的組態來執行，因此用這套作業系統的設備的認證測試，不需在安全認證中重新測試其開發的程式。 德州儀器會針對其TI Stellaris系列的部份MCU的ROM裡加上SafeRTOS，因此客戶可以將SafeRTOS用在商業應用中，而不用採購其原代碼。在這種使用方式下，會提供一個簡單的C語言標頭檔將SafeRTOS的API函式對映於其在ROM中對應位置內。這種將SafeRTOS放在唯讀記憶體的作法相當理想，因為其中的程式不會被修改，去除了使用者的錯誤，也確保在專案開發過程中，SafeRTOS部份的程式都和認證時的相同。 OpenRTOS也是和FreeRTOS有關的專案，其代碼和FreeRTOS完全相同，但是其授權及收費方式不同。OpenRTOS是由WITTENSTEIN Aerospace and Simulation Ltd提供的軟體，其授權要求移除了所有參考GNU通用公共许可证的內容。OpenRTOS是商業軟體，需購買後才能使用，也沒有上述的授權要求，購買OpenRTOS的客戶也可以獲得完整的技術支援。 自由软件主题 嵌入式操作系统 FreeRTOSv202212.01 Latest. 2023年3月4日 [2023年8月8日].  202210.01-LTS (November 2022). 2022年11月18日 [2023年8月19日].  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）.  维基共享资源上的相关多媒体资源：FreeRTOS Official website（页面存档备份，存于互联网档案馆） OPENRTOS SAFERTOS（页面存档备份，存于互联网档案馆） FreeRTOS+Trace（页面存档备份，存于互联网档案馆） FreeRTOS ecosystem products（页面存档备份，存于互联网档案馆） 成功大學 FreeRTOS（页面存档备份，存于互联网档案馆）