Serial Bootload - Chip Detection - Documentation
Posted: Thu Mar 10, 2022 9:12 am
I'm playing around a bit with serial communication with the bootloader and I'm wondering whether I'm missing a crucial bit of documentation, specifically where the CHIP_DETECT register is described ...
After connecting to the bootloader, esptool (and others) read register 0x40001000 (named CHIP_DETECT_MAGIC_REG_ADDR in esptool.py) to determine which chip they've connected to.
Each chip contains a different identifier:
I'm having some difficulty finding where these values are documented? So far the most definitive documentation I've found is the esptool.py source: CHIP_DETECT_MAGIC_REG_ADDR and CHIP_DETECT_MAGIC_VALUE
I've search through the ESP32 and 8266 Technical Reference and Datasheets and have come up empty (or more likely overlooked something) Since I've been able to scrounge together most of the other register locations, fuses, etc. I'm hoping that I've missed some magical document that would make my live easy
Or am I correct that the CHIP DETECT register and MAGIC values are not documented outside of source code?
After connecting to the bootloader, esptool (and others) read register 0x40001000 (named CHIP_DETECT_MAGIC_REG_ADDR in esptool.py) to determine which chip they've connected to.
Each chip contains a different identifier:
Code: Select all
8266 : 0xfff0c101
ESP32: 0x00f01d83
S2 : 0x000007c6
S3 : 0x9
C3 : 0x6921506f, 0x1b31506f
C2 : 0x6f51306f
I've search through the ESP32 and 8266 Technical Reference and Datasheets and have come up empty (or more likely overlooked something) Since I've been able to scrounge together most of the other register locations, fuses, etc. I'm hoping that I've missed some magical document that would make my live easy
Or am I correct that the CHIP DETECT register and MAGIC values are not documented outside of source code?