2016年3月17日木曜日

ESP8266のFlash容量

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

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

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

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

$ esptool.py flash_id
Connecting...
Manufacturer: a1
Device: 4015

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

flash_id_dict.py:

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:

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

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