一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

詳解FreeRTOS與SAFERTOS的區(qū)別

麥克泰技術(shù) ? 來源:麥克泰技術(shù) ? 2025-06-04 16:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

開源免費(fèi)的FreeRTOS由Richard Barry在WHIS工作時(shí)創(chuàng)建,WHIS基于FreeRTOS的功能模型,通過完整的HAZOP分析,確定了功能模型和API中的所有的弱點(diǎn),減輕所有薄弱環(huán)節(jié),并采用IEC 61508 SIL 3的開發(fā)生命周期,重新設(shè)計(jì)實(shí)現(xiàn)了SAFERTOS。

SAFERTOS及其配套的設(shè)計(jì)保證包(DAP)為安全應(yīng)用提供卓越的性能和安全關(guān)鍵的可靠性,同時(shí)消耗最少的資源。

由于FreeRTOS內(nèi)核和SAFERTOS共享相同的功能模型,升級(jí)很容易。許多開發(fā)者基于FreeRTOS內(nèi)核實(shí)現(xiàn)產(chǎn)品原型,并在正式開發(fā)階段升級(jí)為SAFERTOS。

SAFERTOS和FreeRTOS共享一個(gè)功能模型,使用起來非常相似。然而與FreeRTOS相比,SAFERTOS:

? 具有較少的應(yīng)用程序編程接口(API)

? 函數(shù)中執(zhí)行更多的錯(cuò)誤檢查

? 大多數(shù)API調(diào)用返回狀態(tài)碼

? 要求應(yīng)用提供所有堆棧、任務(wù)控制塊和隊(duì)列緩沖區(qū)存儲(chǔ)空間

? 使用靜態(tài)分配,不提供heap函數(shù)

? 默認(rèn)使用處理器的MPU(Memory Protection Unit)功能

? 重新設(shè)計(jì),滿足安全關(guān)鍵軟件的需求

因此,當(dāng)將一個(gè)FreeRTOS項(xiàng)目遷移到SAFERTOS時(shí),需要做一些工作來啟動(dòng)和運(yùn)行內(nèi)核。

FreeRTOS內(nèi)部隱藏了內(nèi)存管理實(shí)現(xiàn),如任務(wù)創(chuàng)建時(shí)動(dòng)態(tài)分配堆棧,在內(nèi)核啟動(dòng)時(shí)為內(nèi)核數(shù)據(jù)分配緩沖區(qū)等。在FreeRTOS中也可以配置使用靜態(tài)分配機(jī)制,由應(yīng)用程序提供相應(yīng)的內(nèi)存,但大多數(shù)用戶更傾向于由FreeRTOS實(shí)現(xiàn)分配功能。

FreeRTOS還提供了許多編譯時(shí)選項(xiàng),允許應(yīng)用程序設(shè)計(jì)人員通過Hook函數(shù)機(jī)制在內(nèi)核中插入額外的功能代碼,在任務(wù)切換時(shí)運(yùn)行,如任務(wù)創(chuàng)建或刪除時(shí),調(diào)用Hook函數(shù)。

API區(qū)別

FreeRTOS和SAFERTOS中API函數(shù)名稱基本一致,參數(shù)不同,如任務(wù)創(chuàng)建函數(shù),

FreeRTOS中實(shí)現(xiàn):

77a1b66c-3d03-11f0-b715-92fbcf53809c.png

SAFERTOS中實(shí)現(xiàn):

77be281a-3d03-11f0-b715-92fbcf53809c.png

WHIS提供了如何從FreeRTOS升級(jí)到SAFERTOS的說明文檔,詳細(xì)介紹了FreeRTOS和SAFERTOS API差異。

升級(jí)文檔及簡(jiǎn)單的SAFERTOS用戶手冊(cè),可以訪問https://www.highintegritysystems.com/down-loads/manuals-datasheets/safertos-datasheet-downloads/注冊(cè)下載。

RTOS定義的抽象類型名稱及# include文件也不相同。在FreeRTOS中,一個(gè)應(yīng)用程序文件需要包含所使用的API(任務(wù)、隊(duì)列、信號(hào)量等)相應(yīng)的頭文件,而使用的SAFERTOS應(yīng)用只需要包含SafeRTOS_API.h頭文件。

靜態(tài)分配和MPU

SAFERTOS要求應(yīng)用程序提供管理任務(wù)和內(nèi)核對(duì)象所需的內(nèi)存空間。

例如,F(xiàn)reeRTOS和SAFERTOS都創(chuàng)建了運(yùn)行在最低優(yōu)先級(jí)的空閑任務(wù),來確保系統(tǒng)中永遠(yuǎn)有可調(diào)度的就緒任務(wù)??臻e任務(wù)不能阻塞,可以將空閑任務(wù)用于“后臺(tái)”應(yīng)用程序功能,實(shí)現(xiàn)節(jié)能或其他特定的應(yīng)用需求。顯然,空閑任務(wù)需要一個(gè)任務(wù)堆棧及任務(wù)控制塊。FreeRTOS從堆中分配這些空間(除非配置使用靜態(tài)分配機(jī)制),而SAFERTOS要求應(yīng)用提供這些緩沖區(qū)空間。部分原因是在安全關(guān)鍵系統(tǒng)中,靜態(tài)分配通常是首選,因?yàn)樗菀妆WC所有運(yùn)行時(shí)環(huán)境都有足夠的內(nèi)存,但另一個(gè)需要考慮的事實(shí)是,絕大多數(shù)情況下,SAFERTOS接口層假定使用MPU。

使用MPU意味著應(yīng)用設(shè)計(jì)人員需要監(jiān)督所有內(nèi)存結(jié)構(gòu)在地址中的確切位置,內(nèi)核任務(wù)和隊(duì)列緩沖區(qū)顯然是其中重要的一部分。此外,MPU機(jī)制通常對(duì)保護(hù)區(qū)域的對(duì)齊和大小有限制,分配的空間需滿足MPU要求,避免資源浪費(fèi)。

在FreeRTOS中,在調(diào)用xTaskCreate之前需確保heap中有足夠的空閑空間,使用SAFERTOS時(shí),需要靜態(tài)地為堆棧和任務(wù)TCB預(yù)分配并顯式定位一個(gè)相應(yīng)大小和對(duì)齊的緩沖區(qū),然后將指向這些結(jié)構(gòu)的指針傳遞給xTaskCreate任務(wù)參數(shù)。

任務(wù)特權(quán)和內(nèi)核函數(shù)封裝層

每個(gè)SAFERTOS任務(wù)被分配一個(gè)操作權(quán)限:特權(quán)或非特權(quán)模式。特權(quán)任務(wù)與內(nèi)核代碼具有相同的權(quán)限。許多CPU支持特權(quán)和非特權(quán)模式,限制非特權(quán)模式下使用的CPU指令,用戶可以通過軟件陷阱、異?;蛑袛嘣诓煌貦?quán)模式直接切換。

通常,將盡可能多的應(yīng)用程序運(yùn)行在非特權(quán)模式,每個(gè)任務(wù)都提供一組MPU參數(shù),這些參數(shù)通常任務(wù)切換時(shí)配置相應(yīng)的MPU域。

SAFERTOS任務(wù)創(chuàng)建時(shí),為每個(gè)任務(wù)添加了一個(gè)額外的MPU區(qū)域,用于訪問用戶任務(wù)堆棧,應(yīng)用程序須確保任務(wù)的堆棧符合MPU關(guān)于對(duì)齊和尺寸的限制。

非特權(quán)任務(wù)還需要具有對(duì)內(nèi)核API函數(shù)的執(zhí)行訪問權(quán)。內(nèi)核API工作在特權(quán)模式, SAFERTOS的每個(gè)API函數(shù)都有一個(gè)特權(quán)升級(jí)封裝,通常使用系統(tǒng)調(diào)用異常機(jī)制實(shí)現(xiàn)。API封裝層將在需要時(shí)臨時(shí)提升任務(wù)權(quán)限,允許非特權(quán)任務(wù)執(zhí)行內(nèi)核API,執(zhí)行完成后返回任務(wù)原先的權(quán)限。因?yàn)閷?shí)際的API函數(shù)與調(diào)用時(shí)的名稱不同,調(diào)試不方便。

盡管FreeRTOS可以使用類似的權(quán)限升級(jí)機(jī)制來支持MPU,但僅提供了有限的MPU移植層支持。在SAFERTOS中,我們假定應(yīng)用程序任務(wù)運(yùn)行在非特權(quán)模式。在FreeRTOS的MPU移植中,任務(wù)默認(rèn)以特權(quán)模式運(yùn)行,但是任務(wù)可以選擇創(chuàng)建為restricted,即非特權(quán)模式。

嵌入式系統(tǒng)不斷擴(kuò)大的互聯(lián)性導(dǎo)致了復(fù)雜的操作環(huán)境和越來越多的攻擊媒介,增加了安全需求。SAFERTOS基于FreeRTOS功能模型,用戶可以快速從FreeRTOS升級(jí)到功能安全的SAFERTOS。更多視頻、文檔及示例工程,可以訪問WHIS官網(wǎng)下載。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1414

    瀏覽量

    41236
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3642

    瀏覽量

    43659
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4376

    瀏覽量

    64530
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    492

    瀏覽量

    64019

原文標(biāo)題:FreeRTOS與SAFERTOS的差異

文章出處:【微信號(hào):麥克泰技術(shù),微信公眾號(hào):麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    轉(zhuǎn):學(xué)習(xí)FreeRTOS前的準(zhǔn)備工作

    了解FreeRTOS之前,一定要搞清楚FreeRTOSSafeRTOS和OpenRTOS之間的關(guān)系1. 先說FreeRTOS和OpenRTOSFreeRTOS和OpenRTOS的共
    發(fā)表于 07-08 18:13

    轉(zhuǎn):第4章 FreeRTOS操作系統(tǒng)介紹

    本章節(jié)介紹一下FreeRTOS操作系統(tǒng),讓大家對(duì)FreeRTOS有一個(gè)整體的了解。FreeRTOS,OpenRTOS和SafeRTOS之間的區(qū)別
    發(fā)表于 08-21 15:31

    9b96的safertos在線仿真運(yùn)行故障中斷

    我把safertos_demo例程的.bin文件燒到自己做的板子里 ,因?yàn)槔锩娴钠渲兄蝗蝿?wù)閃燈任務(wù)就是閃網(wǎng)口上的燈(ROM_GPIOPinWrite(GPIO_PORTF_BASE
    發(fā)表于 08-30 10:29

    求《FreeRTOS源碼詳解與應(yīng)用開發(fā)——基于STM32》書本配套的ppt分享?

    如題,求與《FreeRTOS源碼詳解與應(yīng)用開發(fā)——基于STM32》書本配套的ppt。 萬分感謝!
    發(fā)表于 07-14 23:29

    如何實(shí)現(xiàn)FreeRTOS應(yīng)用到安全SAFERTOS的遷移

    FreeRTOS相同的功能模型,為安全而構(gòu)建。安全產(chǎn)品中,項(xiàng)目原型可以使用FreeRTOS內(nèi)核實(shí)現(xiàn),在正式開發(fā)階段再轉(zhuǎn)為SAFERTOS。本文通過一個(gè)簡(jiǎn)單的示例項(xiàng)目說明如何將一個(gè)FreeRT
    發(fā)表于 12-24 14:26

    請(qǐng)問STM32CubeMX是否支持SafeRTOS

    眾所周知,STM32Cube IDE 和 MX 都對(duì) FreeRTOS 提供了良好的支持,但我的問題有點(diǎn)不同并且與SafeRTOS相關(guān),我只是想知道 ST 是否也支持SafeRTOS?!我很清楚
    發(fā)表于 01-10 06:13

    FreeRtos和ucos的區(qū)別?

    FreeRtos和ucos的區(qū)別?先從那個(gè)入手好?
    發(fā)表于 10-18 08:15

    FreeRTOS基礎(chǔ)知識(shí)詳解pdf下載

    FreeRTOS基礎(chǔ)知識(shí)詳解
    發(fā)表于 03-29 14:36 ?45次下載

    亞馬遜發(fā)布新版本FreeRTOS 1.3.2,修復(fù)了FreeRTOS中的漏洞

    Zimperium zLabs的安全研究員們分析了FreeRTOS的TCP/IP協(xié)議棧,及亞馬遜云服務(wù)(AWS)安全連接模塊,發(fā)現(xiàn)其中存在的十余個(gè)漏洞也對(duì)OpenRTOS與SafeRTOS有影響。
    的頭像 發(fā)表于 10-22 11:10 ?4033次閱讀

    FreeRTOS中相對(duì)延時(shí)與絕對(duì)延時(shí)的區(qū)別

    FreeRTOS中相對(duì)延時(shí)和絕對(duì)延時(shí)的區(qū)別
    的頭像 發(fā)表于 03-12 10:32 ?9051次閱讀
    <b class='flag-5'>FreeRTOS</b>中相對(duì)延時(shí)與絕對(duì)延時(shí)的<b class='flag-5'>區(qū)別</b>

    FreeRTOS的任務(wù)詳解

    詳細(xì)講解freeRTOS的任務(wù)
    發(fā)表于 12-23 20:01 ?11次下載
    <b class='flag-5'>FreeRTOS</b>的任務(wù)<b class='flag-5'>詳解</b>

    FreeRtos入門手冊(cè)中文版

    全中文FreeRtos詳解,學(xué)習(xí)入門精通。
    發(fā)表于 06-02 11:13 ?0次下載

    SAFERTOS在醫(yī)療設(shè)備中的應(yīng)用

    SAFERTOS為開發(fā)人員提供響應(yīng)迅速、穩(wěn)健、確定性的嵌入式實(shí)時(shí)操作系統(tǒng) (RTOS)。它包含開發(fā)醫(yī)療設(shè)備所需的功能,并且提供設(shè)計(jì)歷史文件(DHF),為醫(yī)療設(shè)備集成SAFERTOS提供滿足認(rèn)證所需的文檔。
    的頭像 發(fā)表于 11-07 11:14 ?1228次閱讀

    針對(duì)TI汽車處理器新的SAFERTOS庫評(píng)估包

    體驗(yàn)SAFERTOS針對(duì)TI 汽車處理器TDA4x/DRA8x的免費(fèi)SAFERTOS二進(jìn)制評(píng)估包。在高性能C66x DSP、強(qiáng)大的C7x DSP和ARM Cortex R5F處理器內(nèi)核上探索SAFERTOS的強(qiáng)大功能,加速從AD
    的頭像 發(fā)表于 10-09 15:50 ?748次閱讀
    針對(duì)TI汽車處理器新的<b class='flag-5'>SAFERTOS</b>庫評(píng)估包

    基于TC499的SAFERTOS免費(fèi)評(píng)估包

    2025年2月,WHIS發(fā)布了基于TC499微控制器的SAFERTOS評(píng)估包,幫助開發(fā)人員在Infineon高性能微控制器上探索SAFERTOS的先進(jìn)功能。
    的頭像 發(fā)表于 02-21 16:26 ?421次閱讀
    基于TC499的<b class='flag-5'>SAFERTOS</b>免費(fèi)評(píng)估包