在使用stm32f407时候,rt_malloc返回的是NULL。怀疑是Heap堆的空间大小不足,是否可以修改Heap大小?如何修改?
查看更多
你 malloc 的内存多大,可以使用 free 命令查看一下剩余的内存空间
malloc
free
初略算一下,如果明显还有很多空闲内存,可以看一下board.h中的‘HEAP_END’这个宏是否配置异常
请问一下是什么问题。怎么解决的。现在我也遇到了同样的问题
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
首先,感谢你的帮助。
总共128k,使用不到一半。就是不清楚如何扩展Heap Size.
再次感谢帮助,生活愉快。
free
@maosoft
Heap Size 的=大小可以使用外部的 RAM 进行扩展然后使用 memheap 进行多内存区的管理。
你申请的大小是多少就返回了 NULL,可以跟踪一下代码看一下是哪一步返回 NULL 了。
@crystal266
是需要外挂RAM设备还是类似片内 片外RAM?
能否提供些关键词,我方便谷歌以下。
十分感谢!
@maosoft
外挂片外的 RAM 设备,比如 sdram,psram,具体的需要看你的芯片支持哪种片外 ram
@crystal266
芯片的内存空间还很充足,Heap空间为什么不足呢?是否是程序问题?
我理解的Heap空间大小是可调节的,是动态申请的,只要内存足够大。
是不是我的理解有问题?
十分感谢!
@maosoft
可以把你写的代码粘贴上来分析一下
@crystal266](https://oss-club.rt-thread.org/uploads/20230221/da39a3ee5e6b4b0d3255bfef95601890afd80709.png
这里malloc返回的是NULL,申请的长度是18
@crystal266
十分感谢!
问题解决了,代码问题。
@maosoft
👍 👍