不同系列的 ESP 产品对应的软件 CHIP ID 信息请参考 esp-idf/components/bootloader_support/include/esp_app_format.h
如下:
c
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;
当应用固件与芯片型号不匹配时,通常会报告如下错误:
c
// 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 |