你好,CH573 MESH例程留给用户使用的内存非常小,可以优化没?
编译self_provisioner_vendor工程后,编译结果如下:
Memory region Used Size Region Size %age Used
FLASH: 138220 B 448 KB 30.13%
RAM: 14452 B 18 KB 78.41%
text data bss dec hexfilename
137176 1044 8524 146744 23d38self_provisioner_vendor.elf
========================================
RAM内存使用了14452 B,我分析了下程序
分配给动态内存的堆占用4096B(即: __attribute__((aligned(4))) u32 MEM_BUF[BLE_MEMHEAP_SIZE/4]; ),BLE_MEMHEAP_SIZE值为4096
MESH_MEM占用2228B(即: static u8_t MESH_MEM[1024*2+30*CONFIG_MESH_PROV_NODE_COUNT_DEF]={0}; )
以上两项占用比较大的占用了6324B,零碎的变量先忽略,那工作怎么占用了14452 B这么多内存?
碰到的问题是留给自己用的内存太少不够用,除了减少BLE_MEMHEAP_SIZE的分配外,还有没有什么方法可以优化???