OpenEdv-开源电子网

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

stm32f030的RAM去哪了?

[复制链接]

14

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2012-7-12
在线时间
13 小时
发表于 2017-1-1 23:20:10 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 yzk 于 2017-1-1 23:49 编辑

stm32f030的RAM去哪了?
STM32F030F4
应该为4Kram.
自己的代码用了不到1K,其中有一个double数组超过70左右就不行,70*8才几百个字节,加上其他变量也不过几十个字节,难道是库函数给用了3k多?还是别的原因?
同样代码,改成IAR就没事.不过IAR也怪,总共4096字节RAM,我把数组定义为800,这样这个数组就有6k,但编译器都没报错,改成900后报错.

最佳答案

查看完整内容[请看2#楼]

你忽略了单片机的栈空间和堆空间都会占据一部分RAM,打开链接脚本看看吧 如果是IAR那么链接脚本就是icf类型的文件,MDK的话就直接在启动文件里面修改就可以了 如果还有问题,那么直接打开编译后生产的map文件看看到底哪个地方占用了RAM 一般我都会把单片机的堆空间设为0,栈空间设为1~2kB
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

27

主题

711

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
12577
金钱
12577
注册时间
2015-11-5
在线时间
2151 小时
发表于 2017-1-1 23:20:11 | 显示全部楼层
本帖最后由 FreeRTOS 于 2017-1-2 14:50 编辑

你忽略了单片机的栈空间和堆空间都会占据一部分RAM,打开链接脚本看看吧
如果是IAR那么链接脚本就是icf类型的文件,MDK的话就直接在启动文件里面修改就可以了
如果还有问题,那么直接打开编译后生产的map文件看看到底哪个地方占用了RAM
一般我都会把单片机的堆空间设为0,栈空间设为1~2kB



回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-24 07:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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