5460|5

144

帖子

2

TA的资源

一粒金砂(高级)

楼主
 

MSp430G2553的RAM不够 [复制链接]

在程序里定义了一个全局变量的数组,数组大小为2000,但编译器提示,RAM不够,网上很多人也遇到过这种问题,通过加const可以解决。但在这里定义的数组是为了缓存传感器采集的数据,是实时变化的数据,用const显然

是不可以的。
既然RAM不够,那我可以把数组存在Flash当中,但是怎么存到g2553的flash中呢?

最新回复

明显是选型问题,选型只是要对RAM和ROM有个最保守的评估。 你干嘛要存这么多数啊,采集完数之后及时处理掉不就玩啦。  详情 回复 发表于 2014-12-21 10:13
 
点赞 关注

回复
举报

1310

帖子

3

TA的资源

一粒金砂(高级)

沙发
 
本帖最后由 54chenjq 于 2014-12-19 23:54 编辑

在定义这个数组的时候,可以采用以下的方式:
const [数据类型]  变量名  @  地址
比如
const char Array[3] @ 0xFA00 = {0, 1, 2};

然后片内FLASH操作,试试看吧

点评

您好!用const修饰之后,数组里的各元素的值就不能被修改了。但该数组是用来暂存传感器实时采集的数据,也就是说,该数组中各元素的值是不断变化的,用const应该是不可以的。  详情 回复 发表于 2014-12-20 10:51
 
个人签名

RTEMS

 

回复

6040

帖子

195

TA的资源

版主

板凳
 
这明显是选型的问题,选个大ram的型号不就解决了吗
flash都是有寿命的,你擦来擦去的是不行的。

点评

g2553的RAM只有512个字节,flash有16k。RAM实在是小。但现在来不及换大的RAM的单片机了,所以想试试把采集到的数据放到flash中,然后需要的时候再从flash中取出来  详情 回复 发表于 2014-12-20 10:55
 
 
 

回复

144

帖子

2

TA的资源

一粒金砂(高级)

4
 
您好!用const修饰之后,数组里的各元素的值就不能被修改了。但该数组是用来暂存传感器实时采集的数据,也就是说,该数组中各元素的值是不断变化的,用const应该是不可以的。
54chenjq 发表于 2014-12-19 23:47
在定义这个数组的时候,可以采用以下的方式:const [数据类型]  变量名  @  地址比如const char Array[3] @ 0xFA00 = {0, 1, 2};
然后片内FLASH操作,试试看吧

 
 
 

回复

144

帖子

2

TA的资源

一粒金砂(高级)

5
 
g2553的RAM只有512个字节,flash有16k。RAM实在是小。但现在来不及换大的RAM的单片机了,所以想试试把采集到的数据放到flash中,然后需要的时候再从flash中取出来
lcofjp 发表于 2014-12-20 06:32
这明显是选型的问题,选个大ram的型号不就解决了吗
flash都是有寿命的,你擦来擦去的是不行的。

 
 
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

6
 
明显是选型问题,选型只是要对RAM和ROM有个最保守的评估。
你干嘛要存这么多数啊,采集完数之后及时处理掉不就玩啦。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表