那曲檬骨新材料有限公司

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

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

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

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

麥克泰技術(shù) ? 來(lái)源:麥克泰技術(shù) ? 2023-01-04 14:07 ? 次閱讀

介紹

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

μC/OS-MPU介紹

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

· 空間保護(hù)

空間保護(hù)旨在保護(hù)應(yīng)用程序的內(nèi)存不被其他任務(wù)破壞。下圖展示了一個(gè)包含三個(gè)進(jìn)程的系統(tǒng),以說(shuō)明空間保護(hù)的實(shí)現(xiàn)。

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

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

段的組織

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

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

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

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

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

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

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

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

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

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

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

示例:在調(diào)用函數(shù) MyInitData()時(shí),段” sec01”和”secA0”中未初始化數(shù)據(jù)域清零。注意:函數(shù)”_zero_init”可能是啟動(dòng)環(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í),也可以基于文件放置數(shù)據(jù),僅需調(diào)整鏈接器命令文件。

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

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

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

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

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

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

審核編輯 :李倩

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

    關(guān)注

    37

    文章

    6896

    瀏覽量

    123756
  • GCC
    GCC
    +關(guān)注

    關(guān)注

    0

    文章

    108

    瀏覽量

    24890
  • 線程
    +關(guān)注

    關(guān)注

    0

    文章

    505

    瀏覽量

    19758

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

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

    為了學(xué)習(xí)內(nèi)核開(kāi)發(fā),大佬手搓了一個(gè)輕量級(jí)操作系統(tǒng)YiYiYa OS

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

    為了學(xué)習(xí)內(nèi)核開(kāi)發(fā),大佬手搓了一個(gè)輕量級(jí)操作系統(tǒng)YiYiYa OS

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

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

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

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

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

    中科創(chuàng)達(dá)全球首發(fā)面向中央計(jì)算的AI原生整車操作系統(tǒng)—滴水OS

    2024年4月26日,作為全球領(lǐng)先的智能操作系統(tǒng)及端側(cè)智能產(chǎn)品和技術(shù)提供商,中科創(chuàng)達(dá)在北京國(guó)際車展上全球首發(fā)面向中央計(jì)算的AI原生整車操作系統(tǒng)——滴水OS,旨在賦能汽車產(chǎn)業(yè)擁抱AI大模型,加速推動(dòng)汽車廠商的國(guó)際化戰(zhàn)略落地。
    的頭像 發(fā)表于 04-28 09:58 ?981次閱讀

    Facebook Meta Horizon OS開(kāi)放給第三方VR/AR開(kāi)發(fā)者?

    據(jù) IT 之家了解,Meta Horizon OS 是專為 Quest 系列頭顯研發(fā)的混合現(xiàn)實(shí)操作系統(tǒng),具備眼球追蹤、面部識(shí)別、手勢(shì)識(shí)別、全身追蹤以及空間定位、場(chǎng)景理解等多項(xiàng)功能。
    的頭像 發(fā)表于 04-23 14:12 ?542次閱讀

    RT-Thread斬獲“最具影響力IoT操作系統(tǒng)獎(jiǎng)”

    2024年3月30日,第十一屆開(kāi)源操作系統(tǒng)年度技術(shù)會(huì)議(OS2ATC)在西郊賓館舉辦!RT-Thread作為國(guó)內(nèi)領(lǐng)先的開(kāi)源操作系統(tǒng)斬獲了“最具影響力IoT操作系統(tǒng)獎(jiǎng)”。
    的頭像 發(fā)表于 04-10 09:51 ?646次閱讀

    瑞薩CTSU程序在向嵌入式OS操作系統(tǒng)移植時(shí)的注意事項(xiàng)

    瑞薩CTSU程序在向嵌入式OS操作系統(tǒng)移植時(shí)的注意事項(xiàng)
    的頭像 發(fā)表于 03-29 08:05 ?400次閱讀
    瑞薩CTSU程序在向嵌入式<b class='flag-5'>OS</b><b class='flag-5'>操作系統(tǒng)</b>移植時(shí)的注意事項(xiàng)

    在Flexible Safety RTOS安全應(yīng)用中集成X-CUBE-STL的步驟

    安全操作系統(tǒng)Flexible Safety RTOS提供了空間隔離保護(hù),簡(jiǎn)化安全產(chǎn)品的設(shè)計(jì),其安全插件可幫助用戶安全團(tuán)隊(duì)提高微控制器診斷覆蓋率。
    的頭像 發(fā)表于 03-15 12:16 ?1463次閱讀
    在Flexible Safety RTOS安全應(yīng)用中集成X-CUBE-STL的步驟

    龍蜥操作系統(tǒng)/Anolis OS榮登“2023生態(tài)開(kāi)源項(xiàng)目”獎(jiǎng)項(xiàng)榜單

    在2023開(kāi)放原子開(kāi)發(fā)者大會(huì)上,開(kāi)放原子開(kāi)源基金會(huì)公布了“2023生態(tài)開(kāi)源項(xiàng)目”榜單,龍蜥操作系統(tǒng)/Anolis OS憑借過(guò)硬的產(chǎn)品能力、優(yōu)秀的安全治理以及較強(qiáng)的社區(qū)活躍度等多方面的突出表現(xiàn)成功入選。
    的頭像 發(fā)表于 02-28 11:04 ?605次閱讀

    CYUSB3314-88LTXI CAN支持哪些操作系統(tǒng)系統(tǒng)

    CYUSB3314-88LTXI CAN支持哪些操作系統(tǒng)系統(tǒng)? 它是否也包括Raspberry Pi(HW / OS)/Apple/Linux,謝謝! 樹(shù)莓派 (HW)樹(shù)莓派 (OS
    發(fā)表于 02-26 06:57

    聯(lián)想今年將發(fā)布AI OS操作系統(tǒng)

    聯(lián)想正式宣布,將把AI PC和個(gè)人Agent作為2024年的核心業(yè)務(wù)推進(jìn)重點(diǎn),并計(jì)劃在今年內(nèi)推出全新的“AI OS操作系統(tǒng)”以及一系列搭載此系統(tǒng)的“AI PC”。這一創(chuàng)新舉措標(biāo)志著聯(lián)想在人工智能領(lǐng)域的深度布局和前沿探索。
    的頭像 發(fā)表于 02-18 11:10 ?1089次閱讀
    百家乐官网公开| 24山向吉凶详解视频| 北京百家乐官网网上投注| 百家乐官网网络公式| 法老王娱乐城| 日博娱乐| 棋牌室标语| 威尼斯人娱乐城官网lm0| 四方百家乐的玩法技巧和规则| 百家乐扑克多少张| 哪个百家乐玩法平台信誉好| 百家乐网址哪里有| 新濠百家乐现金网| 百家乐赚钱项目| 八卦24山| 阳宅24山流年吉凶方位| 百家乐官网的玩法技巧和规则| 百家乐官网斗地主下载| E世博百家乐官网娱乐城| 爱赢百家乐官网开户送现金| 大发888官网| 顶级赌场连环夺宝ios下载| 大发888在线体育官网| 澳门顶级赌场百家乐的玩法技巧和规则| 大发888网站| 大发888秘籍| 大发888的概述| 大发888在线| 娱乐城开户免存送现金| 京城国际娱乐城| 现金梭哈| 拉萨市| 龙江县| 百家乐官网庄和闲的赌法| 百家乐官网投注技巧| 百家乐官网破解版| 代理百家乐官网试玩| 恒利百家乐官网的玩法技巧和规则| 百家乐官网光纤冼牌机| 24山的丑方位| 塑料百家乐筹码|