keil 编写翻译后 flash 和 ram 占用景况

Program Size: Code=8896 RO-data=1300 RW-data=92 ZI-data=11132 

威尼斯娱乐手机版网站,以mega2560
为例,Flash有256k仓库储存程序一类的,但是SRAM独有8k,私下认可的变量常亮是挤占SRAM的,所以只要要存款和储蓄异常的大的数码的时候就须求部分例外的操作

澳门威尼斯人官方网站,删掉文件夹下与工程同名的.uvopt文件,里面积存的是开拓情形与工程的相干陈设,将其除去,重新编写翻译就可以解决。

 

澳门威尼斯人官方网站 1

澳门威尼斯人官方网站 2

Code — 代码

额,其实官方网址都有表达了http://playground.arduino.cc/Main/PROGMEM
率先是援引文件

删除.uvopt.png

RO-data — 常量

#include <avr/pgmspace.h>

OdysseyW-data — 可读写变量,已初步化

然后注脚的时候使用类似的格式,这里相比较不普遍的是多维数组第二个维度是不可能声称的,而背后的是都要申明的。

ZI-data — 可读写变量,未初始化

const PROGMEM  uint16_t charSet[][6][16][6] 

 

下一场就是使用的时候使用类似的言辞

以上flash和ram占用意况:

pgm_read_byte(&(charSet[0][1][0][0]));
pgm_read_word(&(charSet[0][1][0][0]));

flash = Code + RO-data + RW-data = 8896 + 1300 + 92 = 10288 bytes

这里因为大家评释的实用类型是uint16,所以应当利用pgm_read_word();

ram = RW-data + ZI-data = 92 + 11132 = 11224 bytes

Size: Code=8896 RO-data=1300 牧马人W-data=92
ZI-data=11132 Code — 代码 RO-data — 常量 LANDW-data —
可读写变量,已起先化 ZI-data — 可读写变量,未最早化 以…

相关文章