完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在使用 ESP8266 并想计算所有可用内存的校验和或哈希值。我试图自己解决这个问题,但没有成功。因此,我希望我能在这里得到一些帮助或提示。在下文中,我尝试描述到目前为止我尝试过的内容。
首先,我试图了解使用 ESP8266 可以使用哪些内存。当我做对时,有可用的 RAM 和闪存。它们之间的区别在于,Flash 存储器不是易失性的。所以我尝试访问和读取闪存,最后得到以下草图: 代码:全选#include #include #define EEPROM_SIZE 512 void setup() { Serial.begin(9600); EEPROM.begin(EEPROM_SIZE); } int i = 0; void loop() { Serial.print(i); Serial.print(": "); Serial.println(EEPROM.read(i),DEC); i++; if(i>511){i=0;} } 该草图在我的 ESP8266 上运行,应该遍历完整的闪存(?)。但奇怪的是,它总是为每个地址打印 255。这让我感到惊讶,为什么闪存应该只包含 1s。因此我认为,某处一定有错误…… 其次,我尝试访问和读取 RAM,但找不到这样做的方法。 我希望我使用正确的主题发布了我的问题并正确描述了我的尝试。 我也希望我能在这里得到一些帮助,并提前感谢大家阅读我的问题。 |
|
相关推荐
1个回答
|
|
在使用 ESP8266 计算所有可用内存的校验和或哈希值时,您需要注意以下几点:
1. 内存访问:ESP8266 有三种类型的内存可供使用:RAM、闪存和RTC RAM。为了计算所有可用内存的校验和或哈希值,您需要访问并读取这些内存。 2. 计算方式:计算所有可用内存的校验和或哈希值的方式有很多种,您可以选择 CRC、SHA-1 或 MD5 等算法。每种算法都有不同的实现方式,您需要选择最适合您的需求的算法。 3. 代码实现:要实现这个功能,您需要写一个函数,该函数访问和读取所有可用内存,并使用您选择的算法计算校验和或哈希值。以下是一个计算所有可用内存校验和的示例代码: ``` #include uint32_t calculateChecksum() { uint32_t sum = 0; // Calculate checksum of RAM uint32_t ram_start = 0x3FFE8000; uint32_t ram_size = 0x18000; sum += CRC32::calculate((uint8_t*)ram_start, ram_size); // Calculate checksum of flash uint32_t flash_start = 0x40200000; uint32_t flash_size = ESP.getFlashChipSize(); sum += CRC32::calculate((uint8_t*)flash_start, flash_size); // Calculate checksum of RTC RAM uint32_t rtc_start = 0x60001100; uint32_t rtc_size = 0x1000; sum += CRC32::calculate((uint8_t*)rtc_start, rtc_size); return sum; } void setup() { Serial.begin(9600); // Calculate and print checksum uint32_t checksum = calculateChecksum(); Serial.printf("Checksum: 0x%08Xn", checksum); } void loop() { // Do nothing } ``` 该代码使用 CRC32 算法计算 RAM、flash 和 RTC RAM 的校验和,并将结果打印到串行监视器中。 希望这个提示可以帮助您计算 ESP8266 上的所有可用内存的校验和或哈希值。 |
|
|
|
只有小组成员才能发言,加入小组>>
968 浏览 1 评论
553浏览 6评论
462浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
447浏览 5评论
448浏览 4评论
418浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 04:46 , Processed in 0.742615 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号