ESP8266のFlash容量

Posted on
esp8266

ESP8266のFlashの容量は外見から分からず複数種類あるので、確認する方法を整理。

相変わらずいろんなのがあちこちで売られておるな

Espressif純正のFlash Download Toolのソースがあったのでこちらをゲット。

そして手持ちのESP8266のフラッシュを確認。

1
2
3
4
$ esptool.py flash_id
Connecting...
Manufacturer: a1
Device: 4015

では、ソースの中から関連しそうなところを抜粋。

flash_id_dict.py:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
SPI_FLASH_VENDOR_DICT = {
    0xA1 : "FM",
    0xC8 : "GD",
    0x9D : "ISSI",
    0xC2 : "KH",
    0xEF : "WB",
}

SPI_FLASH_MODE_DICT = {
    0x40: "QUAD",
    0x30: "DUAL",
}

SPI_FLASH_SIZE_DICT = {
    0x09 : "256Kbit",
    0x10 : "512Kbit",
    0x11 : "1Mbit",
    0x12 : "2Mbit",
    0x13 : "4Mbit",
    0x14 : "8Mbit",
    0x15 : "16Mbit",
    0x16 : "32Mbit",
}

download_panel_info.py:

1
vendor = SPI_FLASH_VENDOR_DICT[self.flash_manufacturer_id & 0xff]
1
mode = SPI_FLASH_MODE_DICT[(self.flash_device_id>>8)&0xf0]
1
size = SPI_FLASH_SIZE_DICT[self.flash_device_id & 0xff]

これで、もうおわかりですね。Flashのベンダーはa1なのでFM。モードは0x40なのでQUAD。容量は0x15なので16Mbit