Як працює розбиття Flash-пам’яті в ESP32
Організація Flash-памʼяті в ESP32 дуже нагадує мені те, як це було з жорсткими дисками на ПК за часів MBR. Там так само є завантажувач, таблиця розділів і, власне, розділи з даними. І яким би не був розмір флешу, правила розбиття не змінюються. Зазвичай таблиця розділів починається за адресою 0x8000 і займає 4 КБ. Але в деяких випадках може знадобитись більший розмір завантажувача, і доводится здвигати таблицю розділів далі. Cтруктура одного запису в таблиці розділів виглядає так: struct PartitionEntry { uint8_t magic ; // Магічне число для валідації запису uint8_t type ; // Тип розділу uint8_t subtype ; // Підтип розділу uint8_t reserved ; // Зарезервовано uint32_t offset ; // Зсув розділу у флеш-пам'яті uint32_t size ; // Розмір розділу char name [ 16 ]; // Ім'я розділу uint32_t flags ; // Прапори розділу }; Проте не варто жорстко на неї спиратися, у різн...