程序内存使用溢出atmel

时间:2017-09-15 10:13:31

标签: atmelstudio

除了基础知识之外,我没有太多的编程经验,但我正在编程一系列灯光,以便在达到一定时间时打开和关闭。但是我不断地让程序内存使用率溢出:

程序内存使用:2066字节100.9%已满(内存溢出)                 数据存储器使用:1个字节0.8%完整

任何人都可以指出我的方向是正确的,以及如何处理它?<​​/ p>

2 个答案:

答案 0 :(得分:0)

您可以在项目选项中更改代码的优化级别,并针对大小进行优化。

在Atmel Studio中选择Project - &gt; YourProjectName属性... - &gt;工具链 - &gt;优化 - &gt;优化级别:优化大小(-Os)。

这应该减少你的代码占用空间,但是它可能会对时序产生负面影响,但我认为在你的应用程序中微秒并不重要。

我还没有看到你的代码,但我建议你应该考虑你的应用程序的设计。对于这么简单的任务,可用的程序存储器应该足够,特别是当使用的RAM少于1%时。

答案 1 :(得分:0)

你必须使用PROGMEM

#include "avr/pgmspace.h"

const char s[] PROGMEM = { 0,0,0,0,0,0,0,0,0,0,0,0,0};

并阅读大量文件

a=pgm_read_byte(s+1(or 2,0,1,3,4,5...) );