精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

空間隔離操作系統μC/OS-MPU中段的定位

麥克泰技術 ? 來源:麥克泰技術 ? 2023-01-04 14:07 ? 次閱讀

介紹

本應用筆記描述了使用 GCC 環境時,數據段的定位實現。

μC/OS-MPU介紹

μC/OS-MPU基于 μC/OS-II,增加了內存保護擴展,這種保護稱為“空間保護”,隔離 μC/OS-II 內核與任務。基于μC/OS-MPU,為任務提供了一個受保護的運行環境,其他任務不會干擾或損壞任務的內存,避免非法訪問。

· 空間保護

空間保護旨在保護應用程序的內存不被其他任務破壞。下圖展示了一個包含三個進程的系統,以說明空間保護的實現。

b3713fc2-8bf4-11ed-bfe3-dac502259ad0.jpg

通常,μC/OS-II 內部變量和線程(任務)放到進程#0。進程#1包含 2個線程。進程#2包含 3個線程,線程可以訪問共享內存區域(shared memory)。進程#3是2個線程的集合,并且有權訪問共享內存區域。

段的組織

在基于μC/OS-MPU的應用中,進程中的所有全局數據位于同一個段。下圖展示了單個段的數據組織:

b3844a0e-8bf4-11ed-bfe3-dac502259ad0.png

在啟動階段,運行環境的啟動函數將初始化數據(initialized data)從 ROM 復制到 RAM ,并清零未初始化數據(uninitialized data)。事實上,每個進程都有自己的段,在項目中,該組織結構可能存在多次。

· 未初始化數據

使用宏SP_MEM()放置變量,基于GCC鏈接器命令文件,將變量放置到段”.sec.bss”中。

示例:全局變量 Task1Stk[] 和 SyncSem 放置到段”sec01”中未初始化數據域。

b38efdaa-8bf4-11ed-bfe3-dac502259ad0.png

將已有代碼集成到μC/OS-MPU系統時,可以基于文件放置數據,僅需調整鏈接命令文件。

示例:基于提供的GCC鏈接命令文件模板,紅色部分的行表示將文件 myfile.c中未初始化數據放置到段”secA0”中的未初始化數據域。

b3a48cf6-8bf4-11ed-bfe3-dac502259ad0.png

在啟動階段,我們需要清零段中未初始化數據域。為了簡化實現,系統提供了一些有用的宏SP_INIT_)。

示例:在調用函數 MyInitData()時,段” sec01”和”secA0”中未初始化數據域清零。注意:函數”_zero_init”可能是啟動環境外部提供的:

b3ab8056-8bf4-11ed-bfe3-dac502259ad0.png

· 初始化數據

使用SP_MEM()將變量放置在段”.sec.data”中。

示例:全局變量”MyNumber”和”MyValue”放到段” sec01”中的初始化數據域。此外,數據的值被放置在ROM中的數據區域。

b3b3cc20-8bf4-11ed-bfe3-dac502259ad0.png

將已有代碼集成到μC/OS-MPU系統時,也可以基于文件放置數據,僅需調整鏈接器命令文件。

示例:根據提供的GCC鏈接命令文件模板,紅色顯示的行表示將文件 myfile.c中的初始化數據放置到段” secA0”中的初始化數據域。

b3c0e694-8bf4-11ed-bfe3-dac502259ad0.png

在啟動階段,我們需要復制段中的初始化數據域。為了簡化實現,系統提供一些有用的宏SP_INIT_)。

示例:調用函數 MyInitData()時,段” sec01”和” secA0”中的初始化數據域,將從 ROM 復制到 RAM。

注意:函數"_data_init"可能不是啟動環境提供的:

b3c998ac-8bf4-11ed-bfe3-dac502259ad0.png

審核編輯 :李倩

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

    關注

    37

    文章

    6747

    瀏覽量

    123201
  • GCC
    GCC
    +關注

    關注

    0

    文章

    105

    瀏覽量

    24822
  • 線程
    +關注

    關注

    0

    文章

    504

    瀏覽量

    19653

原文標題:空間隔離操作系統μC/OS-MPU中段的定位

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

收藏 人收藏

    評論

    相關推薦

    linux是實時系統還是分時操作系統

    大家平時玩單片機基本上對于μC/OS、FreeRTOS、ThreadX這些操作系統非常熟悉了,他們都屬于實時操作系統(RTOS),在工業領域比較廣泛;然而對于linux這樣的基于時間片
    的頭像 發表于 11-11 11:43 ?325次閱讀

    新手學操作系統(第一周)

    1.介紹計算機、OS與應用程序之間的關系,計算機的硬件是底層的基礎,操作系統在其之上管理硬件資源,應用程序則通過操作系統來實現其功能;2.推薦參考學習書籍;3.實踐環境的介紹
    的頭像 發表于 10-08 11:33 ?202次閱讀
    新手學<b class='flag-5'>操作系統</b>(第一周)

    為了學習內核開發,大佬手搓了一個輕量級操作系統YiYiYa OS

    管理器 接口層(C標準庫) 接口層為操作系統內核向外核提供的基本功能。通過libc和libmusl可選,實現基本的標準庫,方便開發者直接移植代碼或者適配應用app。 內核層 內核層則為核心領域業務。每
    發表于 08-30 14:57

    為了學習內核開發,大佬手搓了一個輕量級操作系統YiYiYa OS

    、gpio、i2c、spi驅動等 系統移植教程 作者本人及團隊自制的開源掌機FunKey所采用的操作系統就是基于Linux內核和YiYiYa OS,YiYiYa
    發表于 08-27 10:08

    嵌入式實時操作系統:Intewell操作系統與VxWorks操作系統有啥區別

    Intewell操作系統和VxWorks操作系統都是工業領域常用的操作系統,它們各有特點和優勢。以下是它們之間的一些主要區別:
    的頭像 發表于 07-08 14:16 ?382次閱讀
    嵌入式實時<b class='flag-5'>操作系統</b>:Intewell<b class='flag-5'>操作系統</b>與VxWorks<b class='flag-5'>操作系統</b>有啥區別

    中科創達全球首發面向中央計算的AI原生整車操作系統—滴水OS

    2024年4月26日,作為全球領先的智能操作系統及端側智能產品和技術提供商,中科創達在北京國際車展上全球首發面向中央計算的AI原生整車操作系統——滴水OS,旨在賦能汽車產業擁抱AI大模型,加速推動汽車廠商的國際化戰略落地。
    的頭像 發表于 04-28 09:58 ?872次閱讀

    Facebook Meta Horizon OS開放給第三方VR/AR開發者?

    據 IT 之家了解,Meta Horizon OS 是專為 Quest 系列頭顯研發的混合現實操作系統,具備眼球追蹤、面部識別、手勢識別、全身追蹤以及空間定位、場景理解等多項功能。
    的頭像 發表于 04-23 14:12 ?424次閱讀

    瑞薩CTSU程序在向嵌入式OS操作系統移植時的注意事項

    瑞薩CTSU程序在向嵌入式OS操作系統移植時的注意事項
    的頭像 發表于 03-29 08:05 ?319次閱讀
    瑞薩CTSU程序在向嵌入式<b class='flag-5'>OS</b><b class='flag-5'>操作系統</b>移植時的注意事項

    在Flexible Safety RTOS安全應用中集成X-CUBE-STL的步驟

    安全操作系統Flexible Safety RTOS提供了空間隔離保護,簡化安全產品的設計,其安全插件可幫助用戶安全團隊提高微控制器診斷覆蓋率。
    的頭像 發表于 03-15 12:16 ?1333次閱讀
    在Flexible Safety RTOS安全應用中集成X-CUBE-STL的步驟

    龍蜥操作系統/Anolis OS榮登“2023生態開源項目”獎項榜單

    在2023開放原子開發者大會上,開放原子開源基金會公布了“2023生態開源項目”榜單,龍蜥操作系統/Anolis OS憑借過硬的產品能力、優秀的安全治理以及較強的社區活躍度等多方面的突出表現成功入選。
    的頭像 發表于 02-28 11:04 ?532次閱讀

    聯想今年將發布AI OS操作系統

    聯想正式宣布,將把AI PC和個人Agent作為2024年的核心業務推進重點,并計劃在今年內推出全新的“AI OS操作系統”以及一系列搭載此系統的“AI PC”。這一創新舉措標志著聯想在人工智能領域的深度布局和前沿探索。
    的頭像 發表于 02-18 11:10 ?998次閱讀

    深度解析全球操作系統格局

    操作系統是負責協調、管理和控制計算機硬件與軟件資源的程序,是整個計算機的核心系統軟件。 按照操作系統面向的設備類型,通用操作系統主要包括桌面操作系統
    的頭像 發表于 01-18 15:00 ?1071次閱讀
    深度解析全球<b class='flag-5'>操作系統</b>格局

    榮耀推出自研操作系統MagicOS 8.0

    榮耀正式推出了自主研發的全新操作系統——MagicOS 8.0(中文名:魔法OS 8.0)。這款操作系統憑借其獨創的平臺級AI使能的意圖識別人機交互,引領了智能終端交互的新潮流。
    的頭像 發表于 01-12 15:11 ?2173次閱讀

    航天宏圖推出新一代衛星操作系統PIESAT-OS 1.0版

    和滿足衛星任務快速開發和資源優化需求的必要途徑。然而,研發新一代衛星操作系統的過程極具挑戰性。面對這些高標準需求,航天宏圖公司憑借卓越的技術實力和前瞻性的創新思維,重磅推出了新一代衛星操作系統——PIESAT-OS 1.0版。
    的頭像 發表于 01-03 10:57 ?1013次閱讀
    航天宏圖推出新一代衛星<b class='flag-5'>操作系統</b>PIESAT-<b class='flag-5'>OS</b> 1.0版

    詳解實時操作系統和非實時操作系統

    實時操作系統,當外界事件和數據產生時,系統能以足夠快的速度予以處理,其處理結果能在規定的時間內控制生產結果或對系統做出響應,并控制所有實時任務協調一致運行的操作系統
    的頭像 發表于 12-26 09:54 ?4542次閱讀
    詳解實時<b class='flag-5'>操作系統</b>和非實時<b class='flag-5'>操作系統</b>