不同系列的 ESP 产品对应的软件 CHIP ID 信息请参考 esp-idf/components/bootloader_support/include/esp_app_format.h
如下:
typedef enum {
ESP_CHIP_ID_ESP32 = 0x0000, /*!< chip ID: ESP32 */
ESP_CHIP_ID_ESP32S2 = 0x0002, /*!< chip ID: ESP32-S2 */
ESP_CHIP_ID_ESP32C3 = 0x0005, /*!< chip ID: ESP32-C3 */
ESP_CHIP_ID_ESP32S3 = 0x0009, /*!< chip ID: ESP32-S3 */
ESP_CHIP_ID_ESP32C2 = 0x000C, /*!< chip ID: ESP32-C2 */
ESP_CHIP_ID_ESP32C6 = 0x000D, /*!< chip ID: ESP32-C6 */
ESP_CHIP_ID_ESP32H2 = 0x0010, /*!< chip ID: ESP32-H2 */
ESP_CHIP_ID_ESP32P4 = 0x0012, /*!< chip ID: ESP32-P4 */
ESP_CHIP_ID_ESP32C5 = 0x0013, /*!< chip ID: ESP32-C5 */
ESP_CHIP_ID_INVALID = 0xFFFF /*!< Invalid chip ID (we defined it to make sure the esp_chip_id_t is 2 bytes size) */
} __attribute__((packed)) esp_chip_id_t;
当应用固件与芯片型号不匹配时,通常会报告如下错误:
// For example : The Chip is ESP32, the firmware is ESP32-C3
E (7515) esp_https_ota: Mismatch chip id, expected 0, found 5
注意:这里的 expected 0, found 5
都是十进制打印,因此需要将 CHIP ID Number
由两字节的十六进制
转换为十进制
,即:
芯片型号 | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-S2 | ESP32-S3 | ESP32-H2 | ESP32-P4 |
---|---|---|---|---|---|---|---|---|---|
CHIP ID | 0x0 | 0xC | 0x5 | 0x13 | 0xD | 0x2 | 0x9 | 0x10 | 0x12 |
打印结果 | 0 | 12 | 5 | 19 | 13 | 2 | 9 | 16 | 18 |