第五章 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,设置大小根据实际情况而定,别告诉我这些都不会用哦!