嵌入式技术论坛
直播中

王树林

8年用户 1751经验值
私信 关注
[问答]

kawaii_mqtt申请内存崩溃不清楚是否是因为64K内存不够用导致的?

使用的是STM32F103ZET6 , 然后esp8266 能正常运行,使能kawaii_matt 的mqtt test,设置按默认的来,在static int mqtt_init(mqtt_client_t* c)下的

c->mqtt_read_buf = (uint8_t*) platform_memory_alloc(c->mqtt_write_buf_size);
c->mqtt_write_buf = (uint8_t*) platform_memory_alloc(c->mqtt_write_buf_size);

mqtt_read_buf 申请内存正常,但运行到下一个内存的时候,程序崩溃。
不清楚是否是因为64K内存不够用导致的,这里还未排查。

回帖(2)

王树林

2023-3-7 14:13:58
将mqtt buf 长度从1024改成512,这里能运行通过,但在mqtt通讯时报内存失败。
关闭mqtt test初始化,esp8266运行完毕后,用free查询内存,发现最大才16K,已使用14K多,也就是说64K的内存,仅有16K可以用来进行动态内存分配么? 是F103 内存太小了么
举报

贾飞世

2023-3-7 14:14:07
64k减去全局变量,stack,heap区后,才是可以动态分配的容量吧。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分