第五章 NL6621 RAM使用情况
NL6621的RAM都是代码空间与数据空间分开的,只是单独使用sta或sfotAp模式的SDK,代码空间剩余大概有100Kbyte,数据空间剩余至少150Kbyte。代码储存在code sram里,剩余代码空间=192k-size(nft_sd_uapsta.bin)
DataSRAM内存空间(NL6621_SDK_V1.12):
PrjSdkOsIpRom剩余内存空间28.6X3 = 85.9KB:
DATASRAM: 28.6kb
SRAM1:28.6kb
SRAM2:28.6kb
PrjSdkRam剩余内存空间30.2X3 = 90.6KB:
DATASRAM: 30.2kb
SRAM1:30.2kb
SRAM2:30.2kb
注:如果需要大缓冲区,最大限制70KB, 动态分配内存修改如下:
修改1 os_dmem.c:
#pragma arm section zidata="only_dynamic_memory" /* 仅动态内存访问*/
static INT32U sysemPool[OS_DMEM_POOL_SIZE/4]; // maybe need relocated
#pragma arm section
修改2 app_cfg.h:
#define OS_DMEM_POOL_SIZE 1024*70 //修改大小
修改3 (分散加载文件):
; BUF-160K-28000
PING_BUF_SRAM0 0x20000000 0x18000 ; BUF_SRAM0
{
mac_mng_main.o(ping_mem_pool)
os_dmem.o(only_dynamic_memory) ;新添加,动态内存使用,最大70KB
.ANY (+RW +ZI)
}
要申请内存使用,用OSMMalloc、OSMFree,设置大小根据实际情况而定,别告诉我这些都不会用哦!