OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2390|回复: 2

请教,代码中内存管理的原因和作用 malloc.c

[复制链接]

12

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
131
金钱
131
注册时间
2012-1-13
在线时间
29 小时
发表于 2017-8-23 12:08:00 | 显示全部楼层 |阅读模式
看别人的STM32例程,很少有碰到操作内存的情况,我自己写的代码里,也从来没有涉及到内存管理的内容,也没有碰到过问题。但是正点原子的代码里,malloc.c这个专门的内存管理,是有什么用?在什么时候需要用?STM32的内存不是编译器自己管理的吗?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2017-8-23 14:13:30 | 显示全部楼层
编译器来管理 内存 是可以的.但是有点浪费.尤其是有线程的情况下.malloc 可以临时分配内存,不用了,再还回去.但是.也多出来了一个的细节问题.碎片问题.
回复 支持 反对

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2017-8-2
在线时间
16 小时
发表于 2017-8-23 15:39:19 | 显示全部楼层
有了这个文件就会很方便,一般来说定义的临时变量都是在SRAM里面,如果的板子有外部SRAM,用这个可以给一些变量申请内存到外部SRAM,如果你有一个数组比较大,你可以把它放在外部SRAM,避免出现局部变量大于定义的栈大小而导致的HardFault.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 19:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表