ESP32
| |
uwrtey | Дата: Пятница, 11.07.2025, 01:24 | Сообщение # 16 |
 Генерал-майор
Группа: Администраторы
Сообщений: 3383
Статус: Offline
| https://arduino-technology.ru/article....9149328
Таблица разделов в ESP32 определяет структуру и размер различных логических разделов флэш-памяти. Это позволяет системе хранить и организовать необходимые данные и программные модули. Правильная настройка таблицы разделов позволяет оптимально использовать флэш-объем.
Назначение каждого раздела таблицы:
nvs Энергонезависимое хранение (Non-Volatile Storage) — используется для хранения данных, которые должны сохраняться между перезагрузками устройства. Например, настройки Wi-Fi.
otadata: Хранение данных Over-The-Air Firmware Update — этот раздел используется для хранения состояния процесса обновления прошивки 'по воздуху'.
app0 Основной раздел для размещения пользовательского приложения. Именно в этом и аналогичных разделах вызывается программный код.
spiffs Используется для хранения файлов в формате SPIFFS (SPI Flash File System) — удобно для работы с файловой системой внутри устройства.
coredump Раздел для извлечения данных после сбоя системы — хранит дампы памяти, которые могут быть использованы для анализа ошибок и отладки.
---------------------------------------------------------
Для того, чтобы изменить разметку по умолчанию, нужно найти на компьютере папку
<LOCATION_OF_ARDUINO_ESP32>/tools/partitions и создать в ней новый файл, например с именем max.csv. Далее копируем туда следующее содержимое:
я настроил первый раз вот так:
Код # Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x5000, otadata, data, ota, 0xe000, 0x2000, app0, app, ota_0, 0x10000, 0x640000, app1, app, ota_1, 0x650000,0x640000, spiffs, data, spiffs, 0xc90000,0x360000, coredump, data, coredump,0xFF0000,0x10000,
Нашел примеры https://github.com/espress....titions
default_16MB.csv
Код nvs, data, nvs, 0x9000, 0x5000, otadata, data, ota, 0xe000, 0x2000, app0, app, ota_0, 0x10000, 0x640000, app1, app, ota_1, 0x650000, 0x640000, spiffs, data, spiffs, 0xc90000, 0x360000, coredump, data, coredump, 0xFF0000, 0x10000,
----------------------- default ( ?? 4 MB ?? )
Код nvs data nvs 0x9000 0x5000 otadata data ota 0xe000 0x2000 app0 app ota_0 0x10000 0x140000 app1 app ota_1 0x150000 0x140000 spiffs data spiffs 0x290000 0x160000 coredump data coredump 0x3F0000 0x10000
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Пятница, 11.07.2025, 02:16 | Сообщение # 17 |
 Генерал-майор
Группа: Администраторы
Сообщений: 3383
Статус: Offline
| Цитата JackSmith () В NVS регионе на старой флешке должны храниться настройки радиочасти. Без них WIFI не заведется. https://radiokot.ru/forum....4730767
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Пятница, 11.07.2025, 03:36 | Сообщение # 18 |
 Генерал-майор
Группа: Администраторы
Сообщений: 3383
Статус: Offline
| в среде Ардуино создал точку доступа - работает нормально!!! Проблема была не в памяти!!! https://voltiq.ru/access-....4114017
Код
// Load Wi-Fi library #include <WiFi.h>
// Replace with your network credentials const char* ssid = "ESP32-Access-Point"; const char* password = "123456789";
// Set web server port number to 80 WiFiServer server(80);
// Variable to store the HTTP request String header;
// Auxiliar variables to store the current output state String output26State = "off"; String output27State = "off";
// Assign output variables to GPIO pins const int output26 = 26; const int output27 = 27;
void setup() { Serial.begin(115200); // Initialize the output variables as outputs pinMode(output26, OUTPUT); pinMode(output27, OUTPUT); // Set outputs to LOW digitalWrite(output26, LOW); digitalWrite(output27, LOW);
// Connect to Wi-Fi network with SSID and password Serial.print("Setting AP (Access Point)…"); // Remove the password parameter, if you want the AP (Access Point) to be open WiFi.softAP(ssid, password);
IPAddress IP = WiFi.softAPIP(); Serial.print("AP IP address: "); Serial.println(IP); server.begin(); }
void loop(){ WiFiClient client = server.available(); // Listen for incoming clients
if (client) { // If a new client connects, Serial.println("New Client."); // print a message out in the serial port String currentLine = ""; // make a String to hold incoming data from the client while (client.connected()) { // loop while the client's connected if (client.available()) { // if there's bytes to read from the client, char c = client.read(); // read a byte, then Serial.write(c); // print it out the serial monitor header += c; if (c == '\n') { // if the byte is a newline character // if the current line is blank, you got two newline characters in a row. // that's the end of the client HTTP request, so send a response: if (currentLine.length() == 0) { // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK) // and a content-type so the client knows what's coming, then a blank line: client.println("HTTP/1.1 200 OK"); client.println("Content-type:text/html"); client.println("Connection: close"); client.println(); // turns the GPIOs on and off if (header.indexOf("GET /26/on") >= 0) { Serial.println("GPIO 26 on"); output26State = "on"; digitalWrite(output26, HIGH); } else if (header.indexOf("GET /26/off") >= 0) { Serial.println("GPIO 26 off"); output26State = "off"; digitalWrite(output26, LOW); } else if (header.indexOf("GET /27/on") >= 0) { Serial.println("GPIO 27 on"); output27State = "on"; digitalWrite(output27, HIGH); } else if (header.indexOf("GET /27/off") >= 0) { Serial.println("GPIO 27 off"); output27State = "off"; digitalWrite(output27, LOW); } // Display the HTML web page client.println("<!DOCTYPE html><html>"); client.println("<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">"); client.println("<link rel=\"icon\" href=\"data:,\">"); // CSS to style the on/off buttons // Feel free to change the background-color and font-size attributes to fit your preferences client.println("<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}"); client.println(".button { background-color: #4CAF50; border: none; color: white; padding: 16px 40px;"); client.println("text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}"); client.println(".button2 {background-color: #555555;}</style></head>"); // Web Page Heading client.println("<body><h1>ESP32 Web Server</h1>"); // Display current state, and ON/OFF buttons for GPIO 26 client.println("<p>GPIO 26 - State " + output26State + "</p>"); // If the output26State is off, it displays the ON button if (output26State=="off") { client.println("<p><a href=\"/26/on\"><button class=\"button\">ON</button></a></p>"); } else { client.println("<p><a href=\"/26/off\"><button class=\"button button2\">OFF</button></a></p>"); } // Display current state, and ON/OFF buttons for GPIO 27 client.println("<p>GPIO 27 - State " + output27State + "</p>"); // If the output27State is off, it displays the ON button if (output27State=="off") { client.println("<p><a href=\"/27/on\"><button class=\"button\">ON</button></a></p>"); } else { client.println("<p><a href=\"/27/off\"><button class=\"button button2\">OFF</button></a></p>"); } client.println("</body></html>"); // The HTTP response ends with another blank line client.println(); // Break out of the while loop break; } else { // if you got a newline, then clear currentLine currentLine = ""; } } else if (c != '\r') { // if you got anything else but a carriage return character, currentLine += c; // add it to the end of the currentLine } } } // Clear the header variable header = ""; // Close the connection client.stop(); Serial.println("Client disconnected."); Serial.println(""); } }
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Суббота, 12.07.2025, 00:37 | Сообщение # 19 |
 Генерал-майор
Группа: Администраторы
Сообщений: 3383
Статус: Offline
| flash_download_tool_3.9.6 и 3.9.9 не могут прошить flash_download_tools_v3.6.5 - шьет нормально ESPrtk ссылается на режим developer
ошибка такая
Код secure boot v1 enable. Not allow write flash ESP32 BurnEfuseKeyError esp_write_flash
среда ардуино тоже шьет без проблем
****
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Суббота, 12.07.2025, 04:21 | Сообщение # 20 |
 Генерал-майор
Группа: Администраторы
Сообщений: 3383
Статус: Offline
| загрузик ( bootloader ) https://docs.espressif.com/project....er.html
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Понедельник, 14.07.2025, 00:23 | Сообщение # 21 |
 Генерал-майор
Группа: Администраторы
Сообщений: 3383
Статус: Offline
| куда грузить бинарники полученные в ардуино
bootloader_qio_80m.bin тут: C:\Users\name\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-489d7a2b-v1\esp32\bin
boot_app0.bin тут: C:\Users\name\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.3\tools\partitions
Цитата Помогло. Нужно загрузить все 4 .bin-файла: /esp32/tools/partitions/boot_app0.bin по адресу 0xe000 /esp32/tools/sdk/bin/bootloader_qio_80m.bin по адресу 0x1000 sketch.ino.bin по адресу 0x10000 sketch_dec.ino.partitions.bin по адресу 0x8000 https://github.com/espress....6190309
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Вторник, 15.07.2025, 00:41 | Сообщение # 22 |
 Генерал-майор
Группа: Администраторы
Сообщений: 3383
Статус: Offline
| esp32-ntrip-DUO ( на основе xbee ) https://github.com/incarvr6/esp32-ntrip-DUO загрузился без проблем
xbee - нифига не запускается https://github.com/nebkat/esp32-xbee?ysclid=md3mmibgtv517309415
заказал новый модуль - все заработало без проблем. интересно в чем проблема..
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Вторник, 15.07.2025, 00:44 | Сообщение # 23 |
 Генерал-майор
Группа: Администраторы
Сообщений: 3383
Статус: Offline
| ESP32 WROVER содержит чип ESP32-D0WDQ6 ESP32 WROOM-32 содержит чип ESP32 D0WD V3 (версия v3.1)
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Вторник, 15.07.2025, 03:59 | Сообщение # 24 |
 Генерал-майор
Группа: Администраторы
Сообщений: 3383
Статус: Offline
| запаял на место старую флешку на 4МБ прошить с помощью flash_download_tool_3.9.9 не удалось ( ESP32 xbee ) но flash_download_tools_v3.6.5 справился
не успеваю за своими мыслями......
|
|
| |
|