nRF52840错误NRF_ERROR_NO_MEM No Memory for operation的解决方法

DZXX123RF/无线 2024-01-26 09:56:16 4310阅读 举报


在nRF52840程序下载运行时报错,查看错误码#define NRF_ERROR_NO_MEM (NRF_ERROR_BASE_NUM + 4) ///< No Memory for operation


原因是协议栈内存不足,需要修改

选择project-Options for Target...

点击"Target"标签


在IRAM1里面进行修改,那修改的值是多少呢?

在如图处设置断点,报错时候会卡在这里,然后读app_ram_base变量的值;


这个就是你可以使用的RAM区域的最小起始地址;


RAM的大小就是用片上RAM总大小减去这个值;


举个例子:假如RAM 区域的起始地址是0x20000000,SoftDevice用了0x1ff8字节,就是0x20000000~0x20001ff7,那你用户RAM就得从0x20001ff8开始,比如nRF51822QFAA的RAM大小16K,就是0x4000-0x1FF8=0x2008;


就是说RAM区域从起始地址0x20000000开始,是给SD和用户ram用的,SD放在前面,剩下的就是用户内存的~~;




标签: #NRF52840#

版权声明:
作者:DZXX123
链接:https://www.dianziwang.net/p/136ff226a8b96d.html
来源:RF/无线
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以点击 “举报”


登录 后发表评论
0条评论
还没有人评论过~