MSP432 malloc分配不了内存

MSP432 malloc分配不了内存

此问题已被解答
All Replies
  • 秀才134分

    小白,接触的单片机嵌入式还比较少。项目大概是用MSP432通过UA2串口输出数据,想输出几M的图片,我用的DMA串口发送。我看现在一般是一次最大1024字节,所以想的分多包发送。先想试一试,一次发300个字节,发个10次,

    PS:第一个图是RAM堆地址,第一包和第二包动态分配的首地址大概就在我划红线的地方;第二个图是栈的地址,当时也没有满;第三个图就是malloc返回失败的地方,给buffer申请的地址,前两次申请成功的时候就是第一个图我标红的附近,但是第三次突然就返回0了。我看后面还有那么大片RAM,不像是内存不够和内存碎片啊,难道还要用个内存池?

  • 秀才591分

    1. malloc动态分配内存是利用heap堆空间,不是整个RAM区,heap和stack只是堆栈内一小部分。

    2. 建议在每次allocate之后,内存不再使用时需要free释放操作,合理分配所需的堆栈空间。

    如果您认为此问题已被解答,请在“这是否解答您的问题” 后,点击“”按钮。 感谢您对TI的大力支持!

  • 秀才134分

    感谢感谢,原来是这么回事~