色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

uC/OS-II內存管理方法詳解

冬至子 ? 來源:硬件工程師技術干貨 ? 作者:硬件工程師技術干 ? 2023-09-11 15:32 ? 次閱讀

ucos內存管理方法十分小巧,實時性好,非常值得借鑒。大致原理如下:

ucos把內存初始化成相同大小的內存塊,使用單向鏈表的方式連接起來,使用時從鏈表摘下,釋放時重新插入鏈表。

當然可以存在多條鏈表,根據用戶需求配置,同一個鏈表內內存塊是相同大小的。比如,以100或200字節為內存塊的內存鏈表。

每條內存鏈表使用一個結構體(OS_MEM)控制,這個結構體描述了這一條鏈表中的內存屬性,比如內存塊大小,剩余內存塊的數量,內存塊總數量等等。

1、

此函數由系統內部調用,用戶不必理會,主要是一些初始化動作,前面說了每條鏈表都有一個結構體OS_MEM控制。

ucos建立了一個OS_MEM結構體數組,這個函數就是把這個結構體數組成員使用單向鏈表連接起來,并且對結構體進行初始化。

ucos使用一個全局指針指向表頭,方便結構體取用。每一個結構體都可以控制一個內存鏈表。結構體數量用戶可以通過宏定義配置。

2、

此函數初始化并創建內存塊鏈表。主要過程是從結構體鏈表中取下一個空閑結構體。根據參數提供的內存起始地址和內存塊大小,把整個內存分為大小一致的內存塊,使用單向鏈表連接起來。

再把內存塊鏈表的屬性信息填寫到結構體中。此函數返回一個結構體指針。找到這個結構體就找到了這條鏈表。

3、

根據OS_MEM類型指針找到對應的鏈表結構體,如果空閑的內存塊數量大于0,那么從鏈表中摘下一個內存塊,然后修改OS_MEM結構體信息,返回內存首地址。

4、

這個簡單,獲得內存塊鏈表的名稱。

5、

這個簡單,設置內存塊鏈表的名稱。

6、

釋放內存,把用完的內存塊,插入pmem對應的鏈表中,然后修改pmem結構體信息。

7、

查詢指定的內存鏈表中的內存使用情況,查詢結果放在OS_MEM_DATA 結構體中。

優點:

仔細閱讀源碼就會發現,每次取出內存塊的時間是一樣的,速度非常快,放入內存塊消耗的時間也是一樣,運行時間可控,實時性非常好,代碼量很小。

缺點:

每條鏈表中的內存塊都是一樣大小,使用時會有些浪費。

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

    關注

    112

    文章

    16397

    瀏覽量

    178514
  • 內存管理
    +關注

    關注

    0

    文章

    168

    瀏覽量

    14159
  • ucos-ii
    +關注

    關注

    1

    文章

    11

    瀏覽量

    3593
收藏 人收藏

    評論

    相關推薦

    uC/OS-II簡介

    知名的CPU 上。嚴格地說uC/OS-II只是一個實時操作系統內核,它僅僅包含了任務調度,任務管理,時間管理內存
    發表于 10-08 09:11

    uC/OS-II簡介

    知名的CPU 上。嚴格地說uC/OS-II只是一個實時操作系統內核,它僅僅包含了任務調度,任務管理,時間管理內存
    發表于 10-11 09:26

    uC/OS-II簡介

    知名的CPU 上。嚴格地說uC/OS-II只是一個實時操作系統內核,它僅僅包含了任務調度,任務管理,時間管理內存
    發表于 10-15 11:03

    uC/OS-II簡介

    知名的CPU 上。嚴格地說uC/OS-II只是一個實時操作系統內核,它僅僅包含了任務調度,任務管理,時間管理內存
    發表于 10-20 09:35

    uC/OS-II簡介

    知名的CPU 上。嚴格地說uC/OS-II只是一個實時操作系統內核,它僅僅包含了任務調度,任務管理,時間管理內存
    發表于 10-25 09:59

    uC/OS-II簡介

    知名的CPU 上。嚴格地說uC/OS-II只是一個實時操作系統內核,它僅僅包含了任務調度,任務管理,時間管理內存
    發表于 10-27 09:29

    如何去解決uC/OS-II中優先級翻轉問題?

    uC/OS-II的運行機制是什么?uC/OS-II中的優先級翻轉問題有哪些?如何去解決uC/OS-II
    發表于 04-25 07:07

    uC/OS-II源碼包的下載

    ? STM32F107——uC/OS-II 源碼包的下載一、微內核 uC/OS-II 的構成實時微內核 uC/
    發表于 08-05 08:09

    uC/OS-II移植過程記錄

    怎么去移植uC/OS-II系統呢?移植uC/OS-II系統的過程是怎樣的?
    發表于 11-01 07:38

    為什么想學uc/OS-II

    請大家先想一下,為什么想學uc/OS-II?在通過例程學習單片機的時候有沒有這樣的疑問,為什么例程是一個個孤立的呢,能否整合在一起?RTOS就是這樣一個多線程運行的好工具,我選取UCOS來實現
    發表于 02-18 07:16

    不受uc/os-ii管理的中斷和受管理的中斷是否具有相同的響應方式?

    不受 uc/os-ii 管理的中斷和受管理的中斷是否具有相同的響應方式,即不受管理的中斷在中斷 uc
    發表于 02-27 15:03

    The uC/OS-II port for Keil C V

    The uC/OS-II port for Keil C V6.20, V6.21 or higher
    發表于 03-25 14:18 ?57次下載

    基于uc/os-ii 的嵌入式GUI研究與應用

    目前,uc/os-ii 在嵌入式系統中得到了廣泛的應用,但適用于uc/os-ii 的圖形界面卻很少。本文介紹了一種適用于uc/
    發表于 08-24 08:17 ?21次下載

    uC/OS-II—郵箱介紹

    uC/OS-II中郵箱是線程(任務)通訊的一種,使用郵箱能夠發送一個指針,當然也可以發送指針大小的數據。
    的頭像 發表于 09-11 15:35 ?1129次閱讀

    優化MSP430上用于uC/OS-II內存

    電子發燒友網站提供《優化MSP430上用于uC/OS-II內存.pdf》資料免費下載
    發表于 10-18 10:16 ?0次下載
    優化MSP430上用于<b class='flag-5'>uC</b>/<b class='flag-5'>OS-II</b>的<b class='flag-5'>內存</b>
    主站蜘蛛池模板: 欧美6O老妪与小伙交| yellow在线中文| 老妇xxxxbbbb| 丰满老熟好大bbbxxx| 一本道色播| 熟女强奷系列中文字幕| 麻豆一区二区免费播放网站| 国产欧美日韩中文视频在线| 99久久99久久精品| 一本色道久久综合一区| 特黄特黄aaaa级毛片免费看| 欧美精品乱码99久久蜜桃| 久久精品天天爽夜夜爽| 国产精品高清在线观看93 | 最近2019中文字幕MV免费看 | 玩弄朋友娇妻呻吟交换电影| 欧美人禽Zozo动人物杂交| 久久精品观看| 含羞草在线| 国产呦精品一区二区三区网站| 港台三级大全| 成在线人免费视频| TUBE8最新日本护士| 2022年国产精品久久久久| 一品道门免费高清视频| 亚洲男人天堂2018av| 性吧 校园春色| 少妇伦子伦精品无码| 日韩精品亚洲专区在线影院| 欧美色图天堂网| 免费A级毛片无码鲁大师| 伦理片在线线249| 久久久久久久久久综合情日本| 精品久久综合1区2区3区激情| 果冻传媒2021一二三区| 国产亚洲精品久久无亚洲| 国产情侣真实露脸在线| 国产午夜福利片| 国产永久免费高清在线观看| 国语对白老女人8av| 护士12p|