<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=FreeRTOS</id>
	<title>FreeRTOS - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=FreeRTOS"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=FreeRTOS&amp;action=history"/>
	<updated>2026-07-01T18:11:30Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=FreeRTOS&amp;diff=2746717&amp;oldid=prev</id>
		<title>imported&gt;Taeas：​维护清理</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=FreeRTOS&amp;diff=2746717&amp;oldid=prev"/>
		<updated>2024-03-21T08:49:43Z</updated>

		<summary type="html">&lt;p&gt;维护清理&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{NoteTA&lt;br /&gt;
|G1=IT&lt;br /&gt;
|G2=FL&lt;br /&gt;
}}&lt;br /&gt;
{{primarysources|time=2016-12-30T10:25:36+00:00}}&lt;br /&gt;
{{Infobox OS&lt;br /&gt;
| name = FreeRTOS&lt;br /&gt;
| logo = Logo freeRTOS.png&lt;br /&gt;
| screenshot = &lt;br /&gt;
| caption = &lt;br /&gt;
| developer = Real Time Engineers Ltd.&lt;br /&gt;
| family = [[实时操作系统]]&lt;br /&gt;
| working state = 活躍&lt;br /&gt;
| source model = 可取得原代碼&amp;lt;!-- The benchmarking prohibition puts it outside of the common &amp;quot;open source&amp;quot; definitions. --&amp;gt;&lt;br /&gt;
| kernel type = [[微內核]]&lt;br /&gt;
| supported platforms = [[ARM架構|ARM]] (ARM7, ARM9, [[ARM Cortex-M#Cortex-M3|Cortex-M3]], [[ARM Cortex-M#Cortex-M4|ARM Cortex-M4]], [[ARM Cortex-A8|Cortex-A]]), [[Atmel AVR]], {{le|AVR32|AVR32}}, {{le|HCS12|HCS12}}, {{le|MicroBlaze|MicroBlaze}}, {{le|Cortus|Cortus}} (APS1, APS3, APS3R, APS5, FPF3, FPS6, FPS8), [[MSP430]], [[PIC微控制器|PIC]], [[Renesas]] [[H8系列|H8/S]], [[SuperH]], RX, [[x86]], [[英特爾8051#8052|8052]], {{le|Coldfire|Freescale ColdFire}}, {{le|V850|V850}}, 78K0R, Fujitsu MB91460 series, Fujitsu MB96340 series, [[Nios II]], Cortex-R4, TMS570, RM4x&lt;br /&gt;
| ui = &lt;br /&gt;
| marketing target = [[嵌入式系統|嵌入式設備]]&lt;br /&gt;
| programmed in = &lt;br /&gt;
| prog_language = &lt;br /&gt;
| language = &lt;br /&gt;
| updatemodel = &lt;br /&gt;
| package manager = &lt;br /&gt;
| license = [[MIT许可证]]&lt;br /&gt;
| website = {{URL|https://www.freertos.org/}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;FreeRTOS&amp;#039;&amp;#039;&amp;#039;是一個熱門的&amp;lt;ref name=&amp;quot;EETimes2012&amp;quot;&amp;gt;{{cite web|url=http://www.eetimes.com/electrical-engineers/education-training/webinars/4214387/2011-Embedded-Market-Study|title=2011 Embedded Market Study|publisher=EE Times|archiveurl=https://web.archive.org/web/20120402223224/http://www.eetimes.com/electrical-engineers/education-training/webinars/4214387/2011-Embedded-Market-Study|archivedate=2012-04-02|accessdate=2016-08-12|dead-url=no}}&amp;lt;/ref&amp;gt;[[嵌入式裝置]]用[[即時作業系統]]核心&amp;lt;ref&amp;gt;{{cite web|url=http://www.embedded.com/design/operating-systems/4425751/Comparing-microcontroller-real-time-operating-systems|title=Comparing microcontroller real-time operating systems|date=2013-12-08|quote=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.|last1=Kolesnki|first1=Sergey|accessdate=2016-08-12|archive-date=2016-08-20|archive-url=https://web.archive.org/web/20160820034701/http://www.embedded.com/design/operating-systems/4425751/Comparing-microcontroller-real-time-operating-systems|dead-url=no}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.freertos.org/about-RTOS.html|title=Why RTOS and What Is RTOS?|accessdate=29 August 2014|quote=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. …|archive-date=2016-08-07|archive-url=https://web.archive.org/web/20160807172124/http://www.freertos.org/about-RTOS.html|dead-url=no}}&amp;lt;/ref&amp;gt;，它于2003年由Richard Barry设计，并已被經成功移植到35種不同的[[微控制器]]上&amp;lt;ref name=&amp;quot;Official Website&amp;quot;&amp;gt;{{cite web|url=http://www.freertos.org|title=Official Website|accessdate=2016-08-12|archive-date=2016-08-15|archive-url=https://web.archive.org/web/20160815221433/http://www.freertos.org/|dead-url=no}}&amp;lt;/ref&amp;gt;。FreeRTOS採用[[MIT许可证]]授權。&lt;br /&gt;
&lt;br /&gt;
== 實作 ==&lt;br /&gt;
FreeRTOS的設計小巧且簡易，整個核心程式碼只有3到4個C檔案，為了讓程式碼容易閱讀、移植和維護，大部分的程式碼都是以[[C語言]]編寫，只有一些函式（多數是架構特定排班副程式）採用[[組合語言]]編寫。&lt;br /&gt;
&lt;br /&gt;
FreeRTOS提供許多方法以實現多[[线程]]（threads）、多[[作業 (電腦)|作業]]（task）、[[互斥鎖]]（mutex）、[[信號標|號誌]]（semaphore）和[[軟體計時器]]（software timer），有個為低耗電應用程式提供的[[无嘀嗒内核|无嘀嗒]]（tick-less）模式，執行緒的優先權管理也有支援，此外，FreeRTOS提供了四種記憶體配置的模式：&lt;br /&gt;
* 僅配置（allocate only）&lt;br /&gt;
* 以非常簡易但快速的演算法進行配置與釋放&lt;br /&gt;
* 搭配{{le|記憶體合併|Coalescing (computer science)}}，以較複雜但快速的演算法進行配置與釋放&lt;br /&gt;
* 搭配互斥保護，以 C 函式庫配置進行配置與釋放&lt;br /&gt;
FreeRTOS中沒有一些像[[Linux]]、[[Microsoft Windows]]等典型作業系統具有的先進特徵，例如{{le|裝置驅動程式|device drivers}}、先進[[記憶體管理]]機制、使用者管理和網路管理，FreeRTOS著重在執行的簡潔與速度，FreeRTOS有時會被視為是一個『執行緒函式庫』而非『作業系統』，儘管可以找到[[命令列介面]]和類似[[POSIX]] I/O 介面的插件。&lt;br /&gt;
&lt;br /&gt;
FreeRTOS實作了多執行緒，主程式會在規律的短時間區間內呼叫一個執行緒時計方法，這個方法會以[[循環制]]依照任務的優先順序進行任務切換，一般來說，這個短時間區間介於 1/1000 秒與 1/100 秒之間，透過一個硬體時計中斷來計時，但這個區間經常隨著特定的應用而改變。&lt;br /&gt;
&lt;br /&gt;
從FreeRTOS官網（[http://www.freertos.org/ FreeRTOS.org]{{Wayback|url=http://www.freertos.org/ |date=20160815221433 }}）所下載到的程式碼包含準備用來移植或編譯的設定檔和演示程式碼，讓使用者可以快速地進行應用程式設計。&lt;br /&gt;
&lt;br /&gt;
== 主要特色 ==&lt;br /&gt;
* 記憶體足跡非常小，低{{le|負擔 (計算)|Overhead (computing)|負擔}}（overhead）且執行非常快速&lt;br /&gt;
* 提供低電耗應用程式無計時選項&lt;br /&gt;
* 對作業系統新手而言，很適合作為入門教材，對於專業開發者來說則適合用於商業產品開發&lt;br /&gt;
* [[排程器]]可以設定成[[抢占式多任务处理|可搶先]]（preemptive）或{{le|协作式多任务处理|Cooperative multitasking|共同運作}}（cooperative operation）&lt;br /&gt;
* 提供[[协程|共用副程式]]（coroutine），在FreeRTOS中，共用副程式是一個記憶體[[呼叫堆疊|堆疊]]用量非常有限但非常簡易輕巧的[[作業_(電腦)|任務]]&lt;br /&gt;
* 支援使用（generic [http://www.freertos.org/index.html?http://www.freertos.org/rtos-trace-macros.html trace macros]{{Wayback|url=http://www.freertos.org/index.html?http%3A%2F%2Fwww.freertos.org%2Frtos-trace-macros.html |date=20200802115843 }}. ）&lt;br /&gt;
&lt;br /&gt;
== 支援平台 ==&lt;br /&gt;
{{Div col||15em}}&lt;br /&gt;
*[[Altera]] [[Nios II]]&lt;br /&gt;
*[[ARM architecture]]&lt;br /&gt;
**[[ARM7]]&lt;br /&gt;
**[[ARM9]]&lt;br /&gt;
**[[ARM Cortex-M]]&lt;br /&gt;
** [[ARM Cortex-A8|ARM Cortex-A]]&lt;br /&gt;
*[[Atmel]]&lt;br /&gt;
**[[Atmel AVR]]&lt;br /&gt;
**{{le|AVR32|AVR32}}&lt;br /&gt;
**SAM3&lt;br /&gt;
**SAM4&lt;br /&gt;
**SAM7&lt;br /&gt;
**SAM9&lt;br /&gt;
**SAM D20&lt;br /&gt;
**SAM L21&lt;br /&gt;
*{{le|Cortus|Cortus}}&lt;br /&gt;
**APS1&lt;br /&gt;
**APS3&lt;br /&gt;
**APS3R&lt;br /&gt;
**APS5&lt;br /&gt;
**FPS6&lt;br /&gt;
**FPS8&lt;br /&gt;
*{{le|Cypress半導體|Cypress Semiconductor|Cypress}}&lt;br /&gt;
** [[PSoC]]&lt;br /&gt;
*{{le|Energy micro|Energy Micro}}&lt;br /&gt;
** {{le|EFM32|EFM32}}&lt;br /&gt;
*[[Fujitsu]]&lt;br /&gt;
**FM3 series&lt;br /&gt;
**MB91460 series&lt;br /&gt;
**MB96340&lt;br /&gt;
*[[Freescale]]&lt;br /&gt;
**{{le|Coldfire|Freescale ColdFire}} V1&lt;br /&gt;
**Coldfire V2&lt;br /&gt;
**{{le|HCS12|Freescale 68HC12}}&lt;br /&gt;
**Kinetis&lt;br /&gt;
*[[IBM]]&lt;br /&gt;
** {{le|PowerPC_400|PowerPC 400|PPC405}},PPC404&lt;br /&gt;
*[[Infineon]]&lt;br /&gt;
** {{le|TriCore|Infineon TriCore}}&lt;br /&gt;
** {{le|Infineon XMC|Infineon XMC|Infineon XMC4000}}&lt;br /&gt;
*[[Intel]]&lt;br /&gt;
**[[x86]]&lt;br /&gt;
**[[英特爾8051#8052|8052]]&lt;br /&gt;
*[[PIC微控制器]]&lt;br /&gt;
**PIC18&lt;br /&gt;
**PIC24&lt;br /&gt;
**dsPIC&lt;br /&gt;
**PIC32&lt;br /&gt;
*{{le|Microsemi|Microsemi}}&lt;br /&gt;
** {{le|SmartFusion|Actel SmartFusion}}&lt;br /&gt;
*{{le|Multiclet|Multiclet}}&lt;br /&gt;
** Multiclet P1&lt;br /&gt;
*[[NXP]]（{{le|NXP LPC|NXP LPC}}）&lt;br /&gt;
** LPC1000&lt;br /&gt;
** LPC2000&lt;br /&gt;
** LPC4300&lt;br /&gt;
*[[Renesas]]&lt;br /&gt;
**78K0R&lt;br /&gt;
**RL78&lt;br /&gt;
**[[H8系列|H8/S]]&lt;br /&gt;
**RX600&lt;br /&gt;
**RX200&lt;br /&gt;
**[[SuperH]]&lt;br /&gt;
**{{le|V850|V850}}&lt;br /&gt;
* [[STMicroelectronics]]&lt;br /&gt;
** [[STM32]]&lt;br /&gt;
** STR7&lt;br /&gt;
*[[德州儀器|Texas Instruments]]&lt;br /&gt;
** [[MSP430]]&lt;br /&gt;
** Stellaris&lt;br /&gt;
** {{le|Hercules處理器|Hercules (processors)|Hercules}}（TMS570LS04 &amp;amp; RM42）&lt;br /&gt;
*[[Xilinx]]&lt;br /&gt;
**{{le|MicroBlaze|MicroBlaze}}&lt;br /&gt;
**[[Xilinx#Zynq|Zynq-7000]]&lt;br /&gt;
{{Div col end}}&lt;br /&gt;
&lt;br /&gt;
==相關系統==&lt;br /&gt;
===SafeRTOS===&lt;br /&gt;
SafeRTOS的功能和FreeRTOS類似，但是是為實現[[安全關鍵系統]]所設計。FreeRTOS的機能模型經過完全的[[危害與可操作性分析|HAZOP]]，其機能模型及API因為使用者誤用或是硬體失效造成的弱點都已經識別且修正。最後的需求經過完整[[IEC 61508]] SIL 3開發生命週期來實現，也是只有軟體的元件可以達到的最高等級。&lt;br /&gt;
&lt;br /&gt;
SafeRTOS是由WITTENSTEIN high integrity systems開發，原開發者 Real Time Engineers Ltd&lt;br /&gt;
為其合作夥伴&amp;lt;ref name=FreeRTOS &amp;gt;{{cite web |url= http://www.freertos.org/ |title= FreeRTOS |accessdate= 8 Aug 2012 |archive-date= 2016-08-15 |archive-url= https://web.archive.org/web/20160815221433/http://www.freertos.org/ |dead-url= no }}&amp;lt;/ref&amp;gt;。SafeRTOS和FreeRTOS有相同的排程演算法，相似的[[API]]，其他方面也相當類似&amp;lt;ref name=SmartBotPaper&amp;gt;{{cite web |url=http://www.ece.stevens-tech.edu/~ymeng/publications/IROS08_SMARbot_meng.pdf |title=SmartBotPaper |accessdate=8 Aug 2012 |deadurl=yes |archiveurl=https://web.archive.org/web/20120704013911/http://www.ece.stevens-tech.edu/~ymeng/publications/IROS08_SMARbot_meng.pdf |archivedate=2012-07-04 }}&amp;lt;/ref&amp;gt;，不過是因為不同的目標而設計的&amp;lt;ref name=&amp;quot;freertos_a&amp;quot;&amp;gt;{{Cite web |url=http://www.freertos.org/FreeRTOS-Plus/Safety_Critical_Certified/SafeRTOS.shtml |title=Relationship between FreeRTOS and SAFE&amp;#039;&amp;#039;&amp;#039;RTOS&amp;#039;&amp;#039;&amp;#039; |accessdate=2016-08-12 |archive-date=2016-08-19 |archive-url=https://web.archive.org/web/20160819163807/http://www.freertos.org/FreeRTOS-Plus/Safety_Critical_Certified/SafeRTOS.shtml |dead-url=no }}&amp;lt;/ref&amp;gt;。SafeRTOS只用C語言進行開發，以符合IEC61508的認證需求&amp;lt;ref name=EETimesSafetyCritical &amp;gt;{{cite web |url= http://www.eetimes.com/design/embedded/4007228/How-to-verify-your-compiler-for-use-in-IEC-61508-safety-critical-applications |title= EETimesSafetyCritical |accessdate= 8 Aug 2012 |archive-date= 2011-04-30 |archive-url= https://web.archive.org/web/20110430114841/http://www.eetimes.com/design/embedded/4007228/How-to-verify-your-compiler-for-use-in-IEC-61508-safety-critical-applications |dead-url= no }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
在作業系統中，SafeRTOS有其獨特的地方，是只需要放在微處理器中的[[唯讀記憶體]]（ROM）即可，因此可以進行IEC61508或是其他安全或是可靠度相關的完整軟體及硬體預認證&amp;lt;ref name= EmbeddedSystemsDesign &amp;gt;{{cite web  |url= http://www.nxtbook.com/nxtbooks/cmp/esd-europe0607/index.php?startpage=32  |title= Embedded Systems Design Europe  |accessdate= 2012-08-10  |archive-date= 2012-10-23  |archive-url= https://web.archive.org/web/20121023125706/http://www.nxtbook.com/nxtbooks/cmp/esd-europe0607/index.php?startpage=32  |dead-url= no  }}&amp;lt;/ref&amp;gt;。若是放在唯讀記憶體中，SafeRTOS代碼只能依照原始的組態來執行，因此用這套作業系統的設備的認證測試，不需在安全認證中重新測試其開發的程式&amp;lt;ref name= TexasInstruments &amp;gt;{{cite web&lt;br /&gt;
|url= http://www.ti.com/lit/wp/spry180/spry180.pdf&lt;br /&gt;
|title= Texas Instruments&lt;br /&gt;
|accessdate= 2012-09-10&lt;br /&gt;
|archive-url= https://web.archive.org/web/20130704175730/http://www.ti.com/lit/wp/spry180/spry180.pdf&lt;br /&gt;
|archive-date= 2013-07-04&lt;br /&gt;
|dead-url= yes&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
德州儀器會針對其TI Stellaris系列的部份MCU的ROM裡加上SafeRTOS&amp;lt;ref name=&amp;quot;TI Stellaris Product range&amp;quot;&amp;gt;{{Cite web |url=http://www.ti.com/lsds/ti/microcontroller/arm_stellaris/overview.page |title=TI Stellaris Product range |accessdate=2016-12-30 |archive-date=2013-01-04 |archive-url=https://web.archive.org/web/20130104015346/http://www.ti.com/lsds/ti/microcontroller/arm_stellaris/overview.page |dead-url=no }}&amp;lt;/ref&amp;gt;，因此客戶可以將SafeRTOS用在商業應用中，而不用採購其原代碼。在這種使用方式下，會提供一個簡單的C語言標頭檔將SafeRTOS的API函式對映於其在ROM中對應位置內。這種將SafeRTOS放在唯讀記憶體的作法相當理想，因為其中的程式不會被修改，去除了使用者的錯誤，也確保在專案開發過程中，SafeRTOS部份的程式都和認證時的相同。&amp;lt;!--It will not need re-testing as the application code grows and evolves around it. The burden of complex kernel testing is removed as the already certified and approved certification evidence, including the test plan, code and results, can be purchased &amp;quot;off the shelf&amp;quot;.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenRTOS ===&lt;br /&gt;
OpenRTOS也是和FreeRTOS有關的專案，其代碼和FreeRTOS完全相同，但是其授權及收費方式不同。OpenRTOS是由WITTENSTEIN Aerospace and Simulation Ltd提供的軟體，其授權要求移除了所有參考[[GNU通用公共许可证]]的內容&amp;lt;!--For example: one of the conditions of using FreeRTOS in a commercial product is that the user is made aware of the use of FreeRTOS and the source code of FreeRTOS, but not the commercial product&amp;#039;s application code, must be provided upon request.--&amp;gt;。OpenRTOS是商業軟體，需購買後才能使用，也沒有上述的授權要求，購買OpenRTOS的客戶也可以獲得完整的技術支援&amp;lt;ref&amp;gt;{{Cite web |url=http://www.openrtos.com/openrtos/ |title=OpenRTOS |accessdate=2016-08-12 |archive-date=2014-10-28 |archive-url=https://web.archive.org/web/20141028062044/http://www.openrtos.com/openrtos/ |dead-url=yes }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== 参见 ==&lt;br /&gt;
{{Portal|Free software}}&lt;br /&gt;
* [[嵌入式操作系统]]&lt;br /&gt;
&lt;br /&gt;
== 参考资料 ==&lt;br /&gt;
{{Reflist|25em}}&lt;br /&gt;
&lt;br /&gt;
== 外部链接 ==&lt;br /&gt;
{{commons category}}&lt;br /&gt;
* [http://www.freertos.org/ Official website]{{Wayback|url=http://www.freertos.org/ |date=20160815221433 }}&lt;br /&gt;
*[https://web.archive.org/web/20141028062044/http://www.openrtos.com/openrtos/ OPENRTOS]&lt;br /&gt;
*[http://www.freertos.org/FreeRTOS-Plus/Safety_Critical_Certified/SafeRTOS.shtml SAFERTOS]{{Wayback|url=http://www.freertos.org/FreeRTOS-Plus/Safety_Critical_Certified/SafeRTOS.shtml |date=20160819163807 }}&lt;br /&gt;
*[http://www.percepio.se FreeRTOS+Trace]{{Wayback|url=http://www.percepio.se/ |date=20120505135524 }}&lt;br /&gt;
*[http://www.FreeRTOS.org/FreeRTOS-Plus FreeRTOS ecosystem products]{{Wayback|url=http://www.freertos.org/FreeRTOS-Plus |date=20160819155601 }}&lt;br /&gt;
* [http://wiki.csie.ncku.edu.tw/embedded/freertos 成功大學 FreeRTOS]{{Wayback|url=http://wiki.csie.ncku.edu.tw/embedded/freertos |date=20160814133350 }}&lt;br /&gt;
&lt;br /&gt;
{{实时操作系统}}&lt;br /&gt;
&lt;br /&gt;
[[Category:ARM操作系统]]&lt;br /&gt;
[[Category:嵌入式操作系统]]&lt;br /&gt;
[[Category:自由作業系統]]&lt;br /&gt;
[[Category:微內核]]&lt;br /&gt;
[[Category:实时操作系统]]&lt;br /&gt;
[[Category:Amazon Web Services]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Taeas</name></author>
	</entry>
</feed>