nRF 内存管理相关

勾选 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的倍数)

你可能感兴趣的:(nRF 内存管理相关)