[其他ST产品] [已解决]DMA开辟缓存,怎么使用动态内存?

[复制链接]
844|10
 楼主| 两只袜子 发表于 2024-3-31 17:00 | 显示全部楼层 |阅读模式
开辟20kb左右的缓存空间,如果直接用全局变量数组,在不需要用到DMA时,那这20k的内存就一直不能释放,好浪费。若使用malloc来开辟动态内存,应该是放在堆区吧?堆区不是默认只有512字节?还要修改启动文件的堆大小?
未说出口的像你 发表于 2024-4-18 11:36 | 显示全部楼层
正常来说,你开辟20K内存的时候,就是已经被占用了
在曼谷的春 发表于 2024-4-18 14:00 | 显示全部楼层
我觉得你要是动态内存操作的话,估计会比较好吧
月亮一键变蓝 发表于 2024-4-18 16:00 | 显示全部楼层
对于大内存需求,可以使用malloc函数在堆区动态分配内存
一只眠羊 发表于 2024-4-18 18:00 | 显示全部楼层
默认情况下,堆区的大小可能会受到限制,需要根据具体的系统和编译器设置进行调整
将爱藏于深海 发表于 2024-4-18 20:00 | 显示全部楼层
在一些嵌入式系统中,确实需要修改启动文件或者编译器设置来扩大堆区的大小,以满足大内存需求
温室雏菊 发表于 2024-4-18 23:00 | 显示全部楼层
使用动态内存分配时需要注意内存泄漏和内存碎片等问题,确保及时释放不再需要的内存,以免造成资源浪费
她已醉 发表于 2024-4-19 02:00 | 显示全部楼层
现在MCU的资源很丰富了,其实20K也不算是很浪费
故意相遇 发表于 2024-4-19 06:00 | 显示全部楼层
这种全局变量可以用结构体的方式,会共用的话,还好
风凉 发表于 2024-4-19 11:00 | 显示全部楼层
不会玩啊,我觉得应该可以使用堆区吧
捧一束彼岸花 发表于 2024-4-19 15:00 | 显示全部楼层
你估计要修改堆栈大小,我猜测哈,毕竟我没用过amlloc,哈哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2122

主题

8121

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部