0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

3天內不再提示

空間隔離操作系統(tǒng)μC/OS-MPU中段的定位

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

介紹

本應用筆記描述了使用 GCC 環(huán)境時,數(shù)據(jù)段的定位實現(xiàn)。

μC/OS-MPU介紹

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

· 空間保護

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

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

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

段的組織

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

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

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

· 未初始化數(shù)據(jù)

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

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

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

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

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

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

在啟動階段,我們需要清零段中未初始化數(shù)據(jù)域。為了簡化實現(xiàn),系統(tǒng)提供了一些有用的宏SP_INIT_)。

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

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

· 初始化數(shù)據(jù)

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

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

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

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

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

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

在啟動階段,我們需要復制段中的初始化數(shù)據(jù)域。為了簡化實現(xiàn),系統(tǒng)提供一些有用的宏SP_INIT_)。

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

注意:函數(shù)"_data_init"可能不是啟動環(huán)境提供的:

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

審核編輯 :李倩

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

    關注

    37

    文章

    7110

    瀏覽量

    125099
  • GCC
    GCC
    +關注

    關注

    0

    文章

    110

    瀏覽量

    25268
  • 線程
    +關注

    關注

    0

    文章

    507

    瀏覽量

    20109

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

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

收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    投入超十億!四周完成芯片適配!理想宣布開源自研汽車操作系統(tǒng)

    電子發(fā)燒友網(wǎng)報道(文/梁浩斌)在最近的2025中關村論壇年會上,理想汽車董事長兼CEO李想宣布,將自研汽車操作系統(tǒng)“理想星環(huán)OS”全面開源。過去車企自研操作系統(tǒng)其實也有一些案例,不過確實沒有開源
    的頭像 發(fā)表于 03-30 01:29 ?1981次閱讀
    投入超十億!四周完成芯片適配!理想宣布開源自研汽車<b class='flag-5'>操作系統(tǒng)</b>

    理想汽車智駕操作系統(tǒng)解讀

    [首發(fā)于智駕最前沿微信公眾號]在智能網(wǎng)聯(lián)與生成式AI技術深度融合的浪潮下,汽車操作系統(tǒng)已經從最初的簡單資源管理平臺,演化為承載感知決策、執(zhí)行控制與安全防護的智能化中樞。理想汽車自主研發(fā)的星環(huán)OS
    的頭像 發(fā)表于 05-13 10:54 ?232次閱讀
    理想汽車智駕<b class='flag-5'>操作系統(tǒng)</b>解讀

    光庭信息推出下一代整車操作系統(tǒng)A2OS

    ,正式推出面向中央計算架構、支持人機協(xié)同開發(fā)的下一代整車操作系統(tǒng)A2OS(AI × Automotive OS),賦能下一代域控軟件解決方案的快速研發(fā),顯著提升整車智能化水平。 A2OS
    的頭像 發(fā)表于 04-29 17:37 ?449次閱讀
    光庭信息推出下一代整車<b class='flag-5'>操作系統(tǒng)</b>A2<b class='flag-5'>OS</b>

    中國汽車報:睿賽德攜“程翧整車基礎軟件OS”亮相操作系統(tǒng)年會

    3月29日,開源操作系統(tǒng)年度技術會議(OS2ATC2025)在京召開。2013年至今,OS2ATC已成功舉辦12屆。聚焦本次技術盛會,圍繞“智能系統(tǒng)”主題,本次會議匯聚了國內一線
    的頭像 發(fā)表于 04-01 21:00 ?403次閱讀
    中國汽車報:睿賽德攜“程翧整車基礎軟件<b class='flag-5'>OS</b>”亮相<b class='flag-5'>操作系統(tǒng)</b>年會

    理想汽車開源操作系統(tǒng)的特點及優(yōu)勢

    前天,李想官宣了理想自研汽車操作系統(tǒng)「理想星環(huán)OS」開源。今天,在2025中國電動汽車百人會論壇上,李想進一步分享了「理想星環(huán)OS」的特點及優(yōu)勢。
    的頭像 發(fā)表于 04-01 16:12 ?373次閱讀

    如何在APM32F407開發(fā)板上應用uC/OS-III實時操作系統(tǒng)

    最近我開始學習 uC/OS-III 實時操作系統(tǒng),并著手將其移植到APM32F407 開發(fā)板上。在這個過程中,我遇到了許多有趣的挑戰(zhàn)和發(fā)現(xiàn),也感受到了操作系統(tǒng)帶來的強大功能和靈活性。
    的頭像 發(fā)表于 04-01 09:39 ?704次閱讀
    如何在APM32F407開發(fā)板上應用uC/<b class='flag-5'>OS</b>-III實時<b class='flag-5'>操作系統(tǒng)</b>

    SEGGER發(fā)布下一代安全實時操作系統(tǒng)embOS-Ultra-MPU

    2025年3月,SEGGER發(fā)布滿足周期定時分辨率要求的下一代安全實時操作系統(tǒng)embOS-Ultra-MPU,該系統(tǒng)基于成熟的embOS-Classic-MPU和embOS-Ultra
    的頭像 發(fā)表于 03-31 14:56 ?402次閱讀

    國產銀河麒麟操作系統(tǒng)V10和星光麒麟V1.0操作系統(tǒng)如何選擇?

    國產銀河麒麟操作系統(tǒng)和星光麒麟操作系統(tǒng)都是由中國電子旗下科技企業(yè)麒麟軟件有限公司(簡稱“麒麟軟件”)開發(fā)的國產自主可控的操作系統(tǒng)。麒麟軟件介紹:麒麟軟件以安全可信操作系統(tǒng)技術為核心,面
    的頭像 發(fā)表于 01-24 09:14 ?1932次閱讀
    國產銀河麒麟<b class='flag-5'>操作系統(tǒng)</b>V10和星光麒麟V1.0<b class='flag-5'>操作系統(tǒng)</b>如何選擇?

    linux是實時系統(tǒng)還是分時操作系統(tǒng)

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

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

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

    龍蜥社區(qū)引領開源操作系統(tǒng)新紀元:Anolis OS 23發(fā)布,裝機量破800萬

    在8月30日盛大舉行的第二屆龍蜥操作系統(tǒng)大會上,領先的開源操作系統(tǒng)根社區(qū)——龍蜥社區(qū)宣布了一項振奮人心的里程碑成就:其旗艦產品Anolis OS及其衍生版本在全球范圍內的裝機量已成功突破800萬套
    的頭像 發(fā)表于 08-30 15:09 ?750次閱讀

    為了學習內核開發(fā),大佬手搓了一個輕量級操作系統(tǒng)YiYiYa OS

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

    為了學習內核開發(fā),大佬手搓了一個輕量級操作系統(tǒng)YiYiYa OS

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

    操作系統(tǒng)的內存布局介紹

    32位操作系統(tǒng)的內存布局很經典,很多書籍都是以32位系統(tǒng)為例子去講解的。32位的系統(tǒng)可訪問的地址空間為4GB,用戶空間為1GB ~ 3GB,
    的頭像 發(fā)表于 08-07 15:47 ?816次閱讀
    <b class='flag-5'>操作系統(tǒng)</b>的內存布局介紹

    嵌入式實時操作系統(tǒng):Intewell操作系統(tǒng)與VxWorks操作系統(tǒng)有啥區(qū)別

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

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品