一、簡(jiǎn)述
其實(shí)在51單片機(jī)中也可以使用動(dòng)態(tài)內(nèi)存,動(dòng)態(tài)內(nèi)存其實(shí)就是劃出一塊內(nèi)存區(qū)域,將這塊內(nèi)存進(jìn)行管理,稱為內(nèi)存管理。51單片機(jī)可以使用c語(yǔ)言自帶的標(biāo)準(zhǔn)內(nèi)存管理API:malloc、calloc、realloc、free。他們的頭文件在中,所以使用內(nèi)存管理必須包含該頭文件。
二、使用方法
51單片機(jī)需要使用內(nèi)存管理API必須要手動(dòng)調(diào)用初始化堆內(nèi)存管理函數(shù):init_mempool
ARM32單片機(jī)在MDK5開(kāi)發(fā)環(huán)境中,由“__main”函數(shù)進(jìn)行堆內(nèi)存管理初始化,__main函數(shù)執(zhí)行完之后才會(huì)執(zhí)行main函數(shù)(這里不細(xì)講),所以開(kāi)發(fā)32單片機(jī)可直接使用內(nèi)存管理API進(jìn)行內(nèi)存申請(qǐng)和釋放。
init_mempool函數(shù)說(shuō)明在keil安裝目錄下的“C51\Hlp\c51.chm”,在索引“Library Reference/Library Files/Source Code”下,如下圖:
- 函數(shù)原型講解
- p:表示用來(lái)做動(dòng)態(tài)內(nèi)存區(qū)域的首地址
- size:表示動(dòng)態(tài)內(nèi)存區(qū)域的大小,單位byte
- 函數(shù)使用
- 建議51單片機(jī)動(dòng)態(tài)內(nèi)存區(qū)域的范圍使用xdata區(qū)域,因?yàn)槠瑑?nèi)RAM只有256字節(jié)可用,所以chm手冊(cè)給的示例代碼也是使用的xdata區(qū)域。
- init_mempool函數(shù)建議在main函數(shù)開(kāi)始進(jìn)行初始化。
-
API
+關(guān)注
關(guān)注
2文章
1620瀏覽量
64059 -
51單片機(jī)
+關(guān)注
關(guān)注
277文章
5711瀏覽量
127406 -
動(dòng)態(tài)內(nèi)存
+關(guān)注
關(guān)注
1文章
25瀏覽量
8118
發(fā)布評(píng)論請(qǐng)先 登錄
動(dòng)態(tài)內(nèi)存管理模塊的設(shè)計(jì)原理與實(shí)現(xiàn)

C語(yǔ)言知識(shí)總結(jié):動(dòng)態(tài)內(nèi)存分配
詳解單片機(jī)的內(nèi)存分配
C語(yǔ)言程序設(shè)計(jì)中動(dòng)態(tài)內(nèi)存分配如何實(shí)現(xiàn)
內(nèi)存的動(dòng)態(tài)內(nèi)存分配實(shí)現(xiàn)
如何在單片機(jī)上也可正常使用動(dòng)態(tài)內(nèi)存分配
請(qǐng)問(wèn)使用動(dòng)態(tài)內(nèi)存分配安全嗎?
使用動(dòng)態(tài)內(nèi)存分配安全嗎
動(dòng)態(tài)內(nèi)存分配是什么意思
RTThread的動(dòng)態(tài)內(nèi)存空間該如何去分配呢
51單片機(jī)能實(shí)現(xiàn)動(dòng)態(tài)的內(nèi)存管理嗎?
單片機(jī)系統(tǒng)進(jìn)行動(dòng)態(tài)內(nèi)存分配和任務(wù)調(diào)度思想的資料和代碼實(shí)例說(shuō)明

51單片機(jī)如何使用動(dòng)態(tài)內(nèi)存

51單片機(jī)內(nèi)存動(dòng)態(tài)分配

關(guān)于stm32 MCU申請(qǐng)動(dòng)態(tài)內(nèi)存malloc的認(rèn)識(shí)

評(píng)論