kawaii_mqtt 申请内存崩溃

发布于 2020-08-11 22:08:45

使用的是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内存不够用导致的,这里还未排查。

查看更多

关注者
1
被浏览
128
3 个回答
freedom195
freedom195 2020-08-11

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

yywxh
yywxh 2020-08-11

64k减去全局变量,stack,heap区后,才是可以动态分配的容量吧。

fhqmcu
fhqmcu 认证专家 2020-08-13

下载使用最新版本的协议栈,或者去我的https://github.com/longtengmcu/kawaii-mqtt仓库下载,原来老版本的程序在断网多次重连的情况下存在内存耗尽的问题

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友