我 发表了评论
再次分析,不是由于内存堆的效率造成的慢,而是因为动态创建线程时,如果设定的stack太大,内存分配时会被分配到片外的SRAM上,片外的SARM速度慢,所以变慢,改为静态创建线程,指定stacd地址到片
我 对问题发布了答案
找到原因了,应该是内存堆的效率太差,产生了太多的内存碎片,lvgl在刷界面时申请内存花费太多时间造成界面刷新慢。
这个线程是最高优先级的
rt-thread 版本是V3.1.14,线程是用来运行lvgl,原来stack是10K,后面界面增加,stack越界死机,增加stack到50K系统运行正常,就是界面刷新慢了很多。系统的内存还够
我 发布了问题
应该是这样理解
因为 pool size != max used size + available size
多谢,好像是这么一会事。
回到 顶部
发布 问题
投诉 建议
我 发表了评论
增加线程的stack会使线程运行变慢