勾选 sdk_config.h --> nRF_Libraries --> MEM_MANAGER,然后在其中设置XXS到XXL的块大小及块数量,注:若设置块大小为40个字节 块数量为10块,即便只申请32个字节的大小,也只能申请到10块。
添加 mem_manager.c 文件,main.c中调用 UNUSED_VARIABLE(nrf_mem_init()); 进行初始化,使用 nrf_malloc 申请内存,注意申请的大小!!!
例如:
typedef struct slv_msg_lsg
{
struct slv_msg_lsg *next;
slv_msg_t data;
// int32_t upload_time;
// bool update_flag; // June6 int32_t to bool
} slv_msg_lst_t;
slv_msg_lst_t *node = NULL;
node = (slv_msg_lst_t *)nrf_malloc(sizeof(slv_msg_lst_t));
特别注意:内存块大小要遵循内存字节对齐规则(4个字节,即内存块大小要是4的倍数)