女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

RTOS中的本地存儲指針使用

麥克泰技術(shù) ? 來源:麥克泰技術(shù) ? 作者:麥克泰技術(shù) ? 2025-02-28 16:33 ? 次閱讀

本地存儲指針是RTOS中的一個重要特性,增強(qiáng)了任務(wù)管理和數(shù)據(jù)處理能力。在RTOS上下文中,本地存儲是指存儲在本地的特定任務(wù)或?qū)ο蟮臄?shù)據(jù)。通常與任務(wù)本地存儲(Task Local Storage,TLS)有關(guān),其中數(shù)據(jù)存儲在任務(wù)控制塊(TCB)中,允許每個任務(wù)具有私有的、特定于任務(wù)的變量。

本地存儲指針

全局變量通常用于函數(shù)間的數(shù)據(jù)傳遞。這可能會導(dǎo)致不同的任務(wù)修改同一變量,從而導(dǎo)致沖突。為了解決這個問題,通過TLS將全局變量作為任務(wù)私有變量使用,確保任務(wù)可以獨立地存儲和檢索自己的數(shù)據(jù)。通過將特定于任務(wù)的數(shù)據(jù)與系統(tǒng)范圍的變量分開來提高代碼的可重用性,從而使其更易于管理和維護(hù)。

示例

考慮一個有多個PI控制器來控制幾個過程的系統(tǒng),每個PI控制器包含一個積分器值,該值必須保存以供下一個控制器步驟計算。圖1顯示了通過全局變量實現(xiàn)的方法,該方法需要特定的引用來確保每個任務(wù)訪問正確的數(shù)據(jù),從而使實現(xiàn)更加復(fù)雜。

44397e78-f581-11ef-9310-92fbcf53809c.png

圖1 使用全局變量

圖2顯示了使用了TLS的相同系統(tǒng)實現(xiàn)。使用TLS,每個任務(wù)都可以使用自己的本地存儲來引用積分器值。該方式簡化了代碼,每個任務(wù)直接管理自己的數(shù)據(jù),使其更容易擴(kuò)展和維護(hù)。

4457072c-f581-11ef-9310-92fbcf53809c.png

圖2 使用TLS

SAFERTOS中的本地存儲指針

為了允許應(yīng)用設(shè)計人員靈活使用的本地存儲接口,SAFERTOS將其實現(xiàn)為一個void類型指針,稱為本地存儲指針。每個任務(wù)(定時器)都可以在任務(wù)或定時器控制塊中存儲自己唯一的數(shù)據(jù)對象。

SAFERTOS中的void指針允許應(yīng)用程序設(shè)計人員根據(jù)任務(wù)的需要存儲任何類型的數(shù)據(jù),無論是簡單的數(shù)組還是更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。

數(shù)據(jù)的存儲方式取決于數(shù)據(jù)長度和應(yīng)用程序設(shè)計。void指針的長度取決于體系結(jié)構(gòu),在32位體系結(jié)構(gòu)中,void指針的長度為32位或者4個字節(jié)。這意味著如果TLS中存儲的數(shù)據(jù)長度為4字節(jié)或以下,可以直接保存在存儲指針中。如果超過4字節(jié)數(shù),通過指針引用預(yù)分配的內(nèi)存塊(SAFERTOS不允許動態(tài)內(nèi)存分配)。

本地存儲指針在任務(wù)或定時器創(chuàng)建時設(shè)置,可以使用特定的API函數(shù)(pvTaskTLSObjectGet(), pvTimerTLSObjectGet())訪問數(shù)據(jù)。

本地存儲指針為SAFERTOS中提供了一種高度靈活的方式來管理特定于任務(wù)的數(shù)據(jù),從而生成更干凈、易于維護(hù)的代碼。通過TLS,任務(wù)可以管理自己的數(shù)據(jù),而不必?fù)?dān)心全局狀態(tài),從而減少沖突的風(fēng)險,提高應(yīng)用程序的整體效率。

麥克泰技術(shù)是安全預(yù)認(rèn)證操作系統(tǒng)SAFERTOS在中國的代理商,具有超過20年嵌入式實時操作系統(tǒng)和功能安全軟件服務(wù)的市場、服務(wù)和培訓(xùn)經(jīng)驗,聯(lián)系[email protected]

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

    關(guān)注

    114

    文章

    16959

    瀏覽量

    182839
  • 嵌入式
    +關(guān)注

    關(guān)注

    5138

    文章

    19524

    瀏覽量

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

    關(guān)注

    3

    文章

    4367

    瀏覽量

    64141
  • 指針
    +關(guān)注

    關(guān)注

    1

    文章

    484

    瀏覽量

    70990
  • RTOS
    +關(guān)注

    關(guān)注

    24

    文章

    840

    瀏覽量

    120737

原文標(biāo)題:RTOS中的本地存儲指針使用

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

收藏 人收藏

    評論

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

    RTOS信號量、隊列通信原理

    有深入理解RTOS原理,或閱讀過RTOS源碼的同學(xué)應(yīng)該知道:RTOS實現(xiàn)任務(wù)間通信通常是由一系列指針進(jìn)行操作實現(xiàn)的。
    發(fā)表于 08-16 10:07 ?1876次閱讀

    RTOS的定時功能

    RTOS
    橙群微電子
    發(fā)布于 :2023年02月27日 09:42:16

    RTOS存儲器選擇

    當(dāng)系統(tǒng)運(yùn)行了一個嵌入式實時操作系統(tǒng)時(RTOS),操作系統(tǒng)通常都是使用非易失的存儲器來運(yùn)行軟件以及采集數(shù)據(jù)。存儲器的選擇面很廣闊,其中包括電池供電的SRAM(靜態(tài)隨機(jī)訪問儲存器),各種各樣的閃存以及串口EEPROM(電可擦的,可
    發(fā)表于 06-28 08:29

    k8s volume本地存儲和網(wǎng)絡(luò)存儲

    八 、 k8s volume 本地存儲和網(wǎng)絡(luò)存儲
    發(fā)表于 03-25 08:44

    C編程指針:什么是指針,它做什么?

    了所有指針,那么其他工程師將更容易理解您的代碼。指針做什么?它指出。更具體地說,它指向另一個變量的數(shù)據(jù),或者指向存儲在內(nèi)存但未與變量關(guān)聯(lián)的數(shù)據(jù)。我們通常認(rèn)為變量是
    發(fā)表于 09-08 23:30

    指數(shù)指針的相關(guān)知識

    雖然數(shù)組與指針數(shù)組存儲的都是數(shù)據(jù),但還是有細(xì)微的差別。數(shù)組存儲的是相同類型的字符或數(shù)值,而指針數(shù)組存儲的是相同類型的
    的頭像 發(fā)表于 09-14 13:59 ?3617次閱讀
    指數(shù)<b class='flag-5'>指針</b>的相關(guān)知識

    為什么使用指針?C++的“指針

    為什么使用指針?因為在操作大型數(shù)據(jù)和類時,指針可以通過內(nèi)存地址直接訪問數(shù)據(jù),可避免在程序復(fù)制大量的代碼,因此指針的效率最高。一般來說,指針
    的頭像 發(fā)表于 10-04 10:33 ?5355次閱讀

    本地存儲與云存儲的區(qū)別介紹

    盡管云存儲已經(jīng)成熟,但企業(yè)IT部門仍然需要權(quán)衡本地存儲和云存儲的風(fēng)險和好處,特別是在涉及到組織最關(guān)鍵的數(shù)據(jù)時。在許多企業(yè)看來,云存儲是有利有
    的頭像 發(fā)表于 03-02 11:25 ?6929次閱讀

    本地對象存儲可以做什么用

    其實本地對象存儲不僅適用于輔助存儲,很多存儲管理人員仍主要從輔助存儲角度看待它
    發(fā)表于 03-22 17:08 ?4909次閱讀

    C語言固件中指針的使用方法

    有兩個與指針關(guān)聯(lián)的值。第一個是存儲指針本身存儲地址,第二個是存儲在該
    的頭像 發(fā)表于 09-26 11:38 ?1734次閱讀
    C語言固件中<b class='flag-5'>指針</b>的使用方法

    一文知道32位指針內(nèi)部區(qū)域?qū)ぶ?/a>

    32位指針用于I、Q、M、L數(shù)據(jù)塊等存儲的位、字節(jié)、字、雙字的尋址,32指針尋址,指針需要使用一個雙字的
    的頭像 發(fā)表于 11-20 17:33 ?4118次閱讀

    二級指針和多級指針的定義形式

    指針變量作為一個變量也有自己的存儲地址,而指向指針變量的存儲地址就被稱為指針指針,即二級
    的頭像 發(fā)表于 10-18 16:38 ?2140次閱讀

    如何使用函數(shù)指針

    在程序定義一個函數(shù),則編譯時系統(tǒng)就會為這段代碼分配一段存儲空間,這段存儲空間的首地址稱為函數(shù)的地址,且函數(shù)名代表的就是這個地址。既然是地址就可以使用一個指針變量來
    的頭像 發(fā)表于 03-30 15:09 ?1034次閱讀

    指針是什么

    ,口語說的指針通常指的是指針變量。 1.2 內(nèi)存 內(nèi)存是電腦上特別重要的存儲器,計算機(jī)中程序的運(yùn)行都是在內(nèi)存中進(jìn)行的。所以為了有效的使用內(nèi)存,就把內(nèi)存劃分成一個個小的內(nèi)存單元,每個內(nèi)
    的頭像 發(fā)表于 11-24 15:50 ?2688次閱讀
    <b class='flag-5'>指針</b>是什么

    基于RTOS的應(yīng)用進(jìn)程的典型線程

    RTOS的關(guān)鍵因素是最小的中斷延遲和最小的線程切換延遲。RTOS的價值在于它的響應(yīng)速度或可預(yù)測性,而不是它在給定時間段內(nèi)可以執(zhí)行的工作量。
    發(fā)表于 03-05 09:32 ?945次閱讀
    基于<b class='flag-5'>RTOS</b>的應(yīng)用進(jìn)程<b class='flag-5'>中</b>的典型線程