代码之家  ›  专栏  ›  技术社区  ›  Miguel Tomás

如何列出Flash SPI ESP32微控制器上可用的所有分区

  •  0
  • Miguel Tomás  · 技术社区  · 3 年前

    我有一个ESP32 pcb电子设备,我需要列出板载SPI闪存的所有分区。

    我在谷歌上搜索过,但到目前为止还没有找到。

    1 回复  |  直到 3 年前
        1
  •  0
  •   sideshowbarker    3 年前

    要列出闪存SPI IC中设置的所有分区,可以使用以下功能:

        void partition_info(){
            Serial.println("Partition list:");
            partloop(ESP_PARTITION_TYPE_APP);
            partloop(ESP_PARTITION_TYPE_DATA);
        }
        
        void partloop(esp_partition_type_t part_type) {
          esp_partition_iterator_t iterator = NULL;
          const esp_partition_t *next_partition = NULL;
          iterator = esp_partition_find(part_type, ESP_PARTITION_SUBTYPE_ANY, NULL);
          while (iterator) {
             next_partition = esp_partition_get(iterator);
             if (next_partition != NULL) {
                Serial.printf("partition addr: 0x%06x; size: 0x%06x; label: %s\n", next_partition->address, next_partition->size, next_partition->label);  
             iterator = esp_partition_next(iterator);
            }
          }
    
    }