nRF 内存管理相关

老子叫甜甜 提交于 2020-01-15 20:59:34

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!