本文介绍了在Arduino IDE的平台下如何使用PROGMEM来节省ESP8266EX的RAM空间。PROGMEM可以用来将不变的、只读的数据存入Flash中。
ESP8266EX芯片内置了存储控制器,包含ROM和SRAM。ESP8266EX 的RAM空间总共160KB,其中IRAM为64 KB,DRAM为96 KB。芯片内部无可编程存储器,用户程序必须由外部Rash存储。
ESP8266EX使用外置SPI Flash存储用户程序,最大可支持16 MB的存储。
AVR和其他类似的8-bit单片机上有多种存储空间可供使用,包括Flash、SRAM和EEPROM等。
PROGMEM关键字是一个变量修饰符,常见于使用AVR-GCC编译器进行构建的开发环境中,包括Arduino IDE。
通常数据会保存在SRAM中,但是使用PROGMEM可以实现将数据存诸在Alash而不是SRAM中。PROGMEM 应该仅与pgmspace.h中定义的数据类型-起使用。
PROGMEM不应该与const关键字混淆,const 关键字只是在程序执行过程中通知编译器const数据不会改变。const 关键字将数据标识为只读,但不指定数据的存储位置。将数据声明为const可能只会提高执行速度或识别对只读数据的意外写入。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !