|
例程下载:https://forum.anfulai.cn/forum.php?mod=viewthread&tid=86087
适合用于MP3解码,JPEG解码,cJSON,矢量字库等需要随意申请动态内存大小的场合。

空间分配:
/* AXI SRAM, D1域名, 128KB */
mem_head_t *AXISRAMUsed;
uint64_t AppMallocAXISRAM[128*1024/8];
/* SRAM1, D2域, 128KB */
mem_head_t *SRAM1Used;
uint64_t AppMallocSRAM1[128*1024/8]__attribute__((at(0x30000000)));
/* SRAM2, D2域, 128KB */
mem_head_t *SRAM2Used;
uint64_t AppMallocSRAM2[128*1024/8]__attribute__((at(0x30020000)));
/* DTCM, 128KB */
mem_head_t *DTCMUsed;
uint64_t AppMallocDTCM[128*1024/8]__attribute__((at(0x20000000)));
初始化:
/* 初始化动态内存空间 */
osRtxMemoryInit(AppMallocAXISRAM, 128*1024);
osRtxMemoryInit(AppMallocSRAM1, 128*1024);
osRtxMemoryInit(AppMallocSRAM2, 128*1024);
osRtxMemoryInit(AppMallocDTCM, 128*1024);
AXI SRAM(申请三次,释放三次,释放完毕后会固定占用16字节):
SRAM1(同上)
SRAM2(同上)
DTCM(同上)

移植仅需要rtx_lib.h和rtx_memory.c文件,可用于任何其它CM内核。
|
|