在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

詳解FreeRTOS與SAFERTOS的區別

麥克泰技術 ? 來源:麥克泰技術 ? 2025-06-04 16:58 ? 次閱讀

開源免費的FreeRTOS由Richard Barry在WHIS工作時創建,WHIS基于FreeRTOS的功能模型,通過完整的HAZOP分析,確定了功能模型和API中的所有的弱點,減輕所有薄弱環節,并采用IEC 61508 SIL 3的開發生命周期,重新設計實現了SAFERTOS。

SAFERTOS及其配套的設計保證包(DAP)為安全應用提供卓越的性能和安全關鍵的可靠性,同時消耗最少的資源。

由于FreeRTOS內核和SAFERTOS共享相同的功能模型,升級很容易。許多開發者基于FreeRTOS內核實現產品原型,并在正式開發階段升級為SAFERTOS。

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

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

? 函數中執行更多的錯誤檢查

? 大多數API調用返回狀態碼

? 要求應用提供所有堆棧、任務控制塊和隊列緩沖區存儲空間

? 使用靜態分配,不提供heap函數

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

? 重新設計,滿足安全關鍵軟件的需求

因此,當將一個FreeRTOS項目遷移到SAFERTOS時,需要做一些工作來啟動和運行內核。

FreeRTOS內部隱藏了內存管理實現,如任務創建時動態分配堆棧,在內核啟動時為內核數據分配緩沖區等。在FreeRTOS中也可以配置使用靜態分配機制,由應用程序提供相應的內存,但大多數用戶更傾向于由FreeRTOS實現分配功能。

FreeRTOS還提供了許多編譯時選項,允許應用程序設計人員通過Hook函數機制在內核中插入額外的功能代碼,在任務切換時運行,如任務創建或刪除時,調用Hook函數。

API區別

FreeRTOS和SAFERTOS中API函數名稱基本一致,參數不同,如任務創建函數,

FreeRTOS中實現:

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

SAFERTOS中實現:

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

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

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

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

靜態分配和MPU

SAFERTOS要求應用程序提供管理任務和內核對象所需的內存空間。

例如,FreeRTOS和SAFERTOS都創建了運行在最低優先級的空閑任務,來確保系統中永遠有可調度的就緒任務。空閑任務不能阻塞,可以將空閑任務用于“后臺”應用程序功能,實現節能或其他特定的應用需求。顯然,空閑任務需要一個任務堆棧及任務控制塊。FreeRTOS從堆中分配這些空間(除非配置使用靜態分配機制),而SAFERTOS要求應用提供這些緩沖區空間。部分原因是在安全關鍵系統中,靜態分配通常是首選,因為它更容易保證所有運行時環境都有足夠的內存,但另一個需要考慮的事實是,絕大多數情況下,SAFERTOS接口層假定使用MPU。

使用MPU意味著應用設計人員需要監督所有內存結構在地址中的確切位置,內核任務和隊列緩沖區顯然是其中重要的一部分。此外,MPU機制通常對保護區域的對齊和大小有限制,分配的空間需滿足MPU要求,避免資源浪費。

在FreeRTOS中,在調用xTaskCreate之前需確保heap中有足夠的空閑空間,使用SAFERTOS時,需要靜態地為堆棧和任務TCB預分配并顯式定位一個相應大小和對齊的緩沖區,然后將指向這些結構的指針傳遞給xTaskCreate任務參數。

任務特權和內核函數封裝層

每個SAFERTOS任務被分配一個操作權限:特權或非特權模式。特權任務與內核代碼具有相同的權限。許多CPU支持特權和非特權模式,限制非特權模式下使用的CPU指令,用戶可以通過軟件陷阱、異?;蛑袛嘣诓煌貦嗄J街苯忧袚Q。

通常,將盡可能多的應用程序運行在非特權模式,每個任務都提供一組MPU參數,這些參數通常任務切換時配置相應的MPU域。

SAFERTOS任務創建時,為每個任務添加了一個額外的MPU區域,用于訪問用戶任務堆棧,應用程序須確保任務的堆棧符合MPU關于對齊和尺寸的限制。

非特權任務還需要具有對內核API函數的執行訪問權。內核API工作在特權模式, SAFERTOS的每個API函數都有一個特權升級封裝,通常使用系統調用異常機制實現。API封裝層將在需要時臨時提升任務權限,允許非特權任務執行內核API,執行完成后返回任務原先的權限。因為實際的API函數與調用時的名稱不同,調試不方便。

盡管FreeRTOS可以使用類似的權限升級機制來支持MPU,但僅提供了有限的MPU移植層支持。在SAFERTOS中,我們假定應用程序任務運行在非特權模式。在FreeRTOS的MPU移植中,任務默認以特權模式運行,但是任務可以選擇創建為restricted,即非特權模式。

嵌入式系統不斷擴大的互聯性導致了復雜的操作環境和越來越多的攻擊媒介,增加了安全需求。SAFERTOS基于FreeRTOS功能模型,用戶可以快速從FreeRTOS升級到功能安全的SAFERTOS。更多視頻、文檔及示例工程,可以訪問WHIS官網下載。

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

    關注

    3

    文章

    1410

    瀏覽量

    41137
  • 開源
    +關注

    關注

    3

    文章

    3622

    瀏覽量

    43515
  • 函數
    +關注

    關注

    3

    文章

    4371

    瀏覽量

    64275
  • FreeRTOS
    +關注

    關注

    12

    文章

    491

    瀏覽量

    63816

原文標題:FreeRTOS與SAFERTOS的差異

文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    轉:學習FreeRTOS前的準備工作

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

    轉:第4章 FreeRTOS操作系統介紹

    本章節介紹一下FreeRTOS操作系統,讓大家對FreeRTOS有一個整體的了解。FreeRTOS,OpenRTOS和SafeRTOS之間的區別
    發表于 08-21 15:31

    9b96的safertos在線仿真運行故障中斷

    我把safertos_demo例程的.bin文件燒到自己做的板子里 ,因為里面的其中之一任務閃燈任務就是閃網口上的燈(ROM_GPIOPinWrite(GPIO_PORTF_BASE
    發表于 08-30 10:29

    求《FreeRTOS源碼詳解與應用開發——基于STM32》書本配套的ppt分享?

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

    如何實現FreeRTOS應用到安全SAFERTOS的遷移

    FreeRTOS相同的功能模型,為安全而構建。安全產品中,項目原型可以使用FreeRTOS內核實現,在正式開發階段再轉為SAFERTOS。本文通過一個簡單的示例項目說明如何將一個FreeRT
    發表于 12-24 14:26

    請問STM32CubeMX是否支持SafeRTOS

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

    FreeRtos和ucos的區別

    FreeRtos和ucos的區別?先從那個入手好?
    發表于 10-18 08:15

    FreeRTOS基礎知識詳解pdf下載

    FreeRTOS基礎知識詳解
    發表于 03-29 14:36 ?45次下載

    亞馬遜發布新版本FreeRTOS 1.3.2,修復了FreeRTOS中的漏洞

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

    FreeRTOS中相對延時與絕對延時的區別

    FreeRTOS中相對延時和絕對延時的區別
    的頭像 發表于 03-12 10:32 ?9015次閱讀
    <b class='flag-5'>FreeRTOS</b>中相對延時與絕對延時的<b class='flag-5'>區別</b>

    FreeRTOS的任務詳解

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

    FreeRtos入門手冊中文版

    全中文FreeRtos詳解,學習入門精通。
    發表于 06-02 11:13 ?0次下載

    SAFERTOS在醫療設備中的應用

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

    針對TI汽車處理器新的SAFERTOS庫評估包

    體驗SAFERTOS針對TI 汽車處理器TDA4x/DRA8x的免費SAFERTOS二進制評估包。在高性能C66x DSP、強大的C7x DSP和ARM Cortex R5F處理器內核上探索SAFERTOS的強大功能,加速從AD
    的頭像 發表于 10-09 15:50 ?715次閱讀
    針對TI汽車處理器新的<b class='flag-5'>SAFERTOS</b>庫評估包

    基于TC499的SAFERTOS免費評估包

    2025年2月,WHIS發布了基于TC499微控制器的SAFERTOS評估包,幫助開發人員在Infineon高性能微控制器上探索SAFERTOS的先進功能。
    的頭像 發表于 02-21 16:26 ?384次閱讀
    基于TC499的<b class='flag-5'>SAFERTOS</b>免費評估包
    主站蜘蛛池模板: 日韩在线天堂免费观看 | 天天爱天天操天天射 | 99综合色| 亚洲视频一二 | 午夜湿| 欧美精品一区视频 | 最好看最新的中文字幕1 | 天堂网中文在线最新版 | 国产男人午夜视频在线观看 | 欧美亚洲综合另类成人 | 午夜小视频男女在线观看 | 一级做a爱片特黄在线观看 一级做a爱片特黄在线观看免费看 | 黄色888| 加勒比视频一区 | 激情五月综合婷婷 | 手机在线免费视频 | 韩国三级理在线视频观看 | 妇女交性大片 | 亚洲国产成+人+综合 | 亚洲小说区图片区另类春色 | 日产精品卡二卡三卡四卡乱码视频 | 激情五月五月婷婷 | 日本一区视频在线观看 | 色综合久久综精品 | 最新丁香六月 | 1024你懂的在线观看 | 欧洲乱码专区一区二区三区四区 | 黄视频网站免费看 | 日韩城人视频 | 午夜影院在线观看 | 免费看h网站 | 天天久久综合网站 | 最新版天堂资源8网 | 天天视频免费入口 | 国产亚洲美女精品久久久2020 | 精品成人网 | 欧美最猛黑人xxxx黑人猛交黄 | 久久久婷婷亚洲5月97色 | 久久久一本 | 美女扒开尿口让男人30视频 | 日韩午夜大片 |