打印
[开发工具]

让我们一起在MDK下STM32内存分配一起来总结。。。。。。

[复制链接]
1330|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xlsbz|  楼主 | 2014-10-23 09:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xlsbz 于 2014-10-23 09:43 编辑

(1)发现定义__IO uint16_t hellobaby[5] = {0};
竟然比定义__IO uint16_t hellobaby[4] = {0};占的内存要少!!!!!
真够智能啊!
当运行了如hellobaby[0] = 0X1234;后,那么   前者占内存比后者多了。

(2)局部变量(中断服务除外)加上static分配内存,不加则不分配。不加的话 注意别搞太多,小心startup里面定义的不够用
(3)中断区域,太忙 没试。

学习内存最好的方法,自己试验+加上看别人的总结。
所以大家一起来总结吧


沙发
aozima| | 2014-10-23 10:42 | 只看该作者
全局变量,栈,堆。
分清理解就好。

使用特权

评论回复
板凳
xlsbz|  楼主 | 2014-10-23 11:05 | 只看该作者
aozima 发表于 2014-10-23 10:42
全局变量,栈,堆。
分清理解就好。

记得51时  定义个变量 就能猜出怎么分配的 分配在哪里  这个MDK  好像不大容易猜透 得下功夫啊。

使用特权

评论回复
地板
aozima| | 2014-10-23 11:16 | 只看该作者
xlsbz 发表于 2014-10-23 11:05
记得51时  定义个变量 就能猜出怎么分配的 分配在哪里  这个MDK  好像不大容易猜透 得下功夫啊。
...

编译并链接好了全生成一个map文件,对比看这个会有收获。

其它贴子参考:https://bbs.21ic.com/icview-817670-1-1.html

使用特权

评论回复
5
拿起书本| | 2014-10-27 15:14 | 只看该作者
标记一下,或许以后可以用得到。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

190

主题

1614

帖子

4

粉丝