人妻蜜と1~4中文字幕月野定规 ,国产精品成人va在线播放,色优久久久久综合网鬼色,WWW插插插无码视频网站

【ARM】RTX5 內(nèi)存分配方式-2023

1、 文檔目標(biāo)

解決RTX5 內(nèi)存分配方式


2、 問題場景

使用 RTX5 進(jìn)行內(nèi)存分配方式選擇。


3、軟硬件環(huán)境

1 軟件版本:Keil MDK 5.38a

2 電腦環(huán)境:Window 10


4、RTX5 內(nèi)存分配的三種方式

RTX5為對象提供了三種不同的內(nèi)存分配方法


1 ?Global Memory Pool(全局內(nèi)存池)。全局內(nèi)存池分配內(nèi)存區(qū)域中的所有對象。這種內(nèi)存分配方法是RTX5的默認(rèn)配置。


圖 1


在System Configuration中設(shè)置Global Dynamic Memory size;(RTX_Config.h)


當(dāng)內(nèi)存池沒有提供足夠的內(nèi)存時(shí),對象的創(chuàng)建將失敗,相關(guān)的osObjectNew()函數(shù)將返回NULL。


2? Object-specific Memory Pools(特定對象的內(nèi)存池)


特定對象的內(nèi)存池通過為每個(gè)對象類型提供專用的固定大小內(nèi)存管理來避免內(nèi)存碎片。這種類型的內(nèi)存池是完全時(shí)間確定的,這意味著對象的創(chuàng)建和銷毀總是需要相同的固定時(shí)間。由于固定大小的內(nèi)存池是特定于對象類型的,因此可以簡化內(nèi)存不足情況的處理。


圖 2


為每種對象類型選擇性地啟用特定于對象的內(nèi)存池,例如:使用RTX配置文件的互斥對象或線程:

1)在線程配置中為線程對象啟用。

2)在計(jì)時(shí)器對象的計(jì)時(shí)器配置中啟用。

3)在事件對象的事件標(biāo)志配置中啟用。

4)在互斥對象的互斥配置中啟用。

5)在信號(hào)量的信號(hào)量配置中啟用。

6)已在內(nèi)存池的內(nèi)存池配置中啟用。

7)在消息隊(duì)列配置中為消息對象啟用。


當(dāng)內(nèi)存池沒有提供足夠的內(nèi)存時(shí),對象的創(chuàng)建將失敗,相關(guān)的osObjectNew()函數(shù)將返回NULL。


3? Static Object Memory(靜態(tài)對象內(nèi)存)


與動(dòng)態(tài)內(nèi)存分配相反,靜態(tài)內(nèi)存分配需要在對象編譯時(shí)分配內(nèi)存。


圖 3


靜態(tài)內(nèi)存分配可以通過在創(chuàng)建對象時(shí)使用屬性提供用戶定義的內(nèi)存來實(shí)現(xiàn)。