Max
ㅤ
Max
Тогда будут вопросы "я спросил - а оно не работает"
ㅤ
Vladimir
Vlad
надо сделать бот тележкин, который при передаче ему поста юзера - чтобы давал сцылку на дикпик ответ Дипсика
Игорь ЛПВ
ESP32 C3
Из PlatformIO прошиваю без проблем.
Если шью готовым файлом через download tool то получаю вот такое
load:0x3c0b0020,len:0x2ac10
load:0x3fc8d200,len:0x3aac
load:0x40380000,len:0x192c
load:0x42000020,len:0xaec40
load:0x4038192c,len:0xb79c
SHA-256 comparison failed:
PlatformIO заливает по четырём адресам. Download tool по одному адресу и одним файлом.
Подскажите куда смотреть?
Max
А что такое download tool?
Игорь ЛПВ
flash_download_tool_3.9.8_w1
Игорь ЛПВ
задача: прошить ESP из командной строки
Anton
Anton
ну или
esptool.py --port /dev/ttyUSB0 write-flash --flash-mode qio --flash-size 32m 0x0 bootloader.bin 0x1000 my_app.bin
ok-home
Vlad
задача: прошить ESP из командной строки
D:\Programs\Arduino\Arduino15\packages\esp32\tools\esptool_py\4.9.dev3\esptool.exe --chip auto --baud 921600 write_flash 0x0 ..\Objects\bin\src.ino.merged.bin
например, так
Игорь ЛПВ
Что-то не понимаю куда смотреть.
До этого без проблем прошивал ESP8266 как из PlatformIO так и из командной строки через ESPTOOL
C:\0>esptool -p COM4 -b 115200 --after hard_reset write_flash --flash_size 4MB --flash_mode dio 0x00000 firmware.bin --erase-all
Перешёл на ESP32. Через PlatformIO прошиваю. Всё норм. Через ESPTOOL прошиваю, но ничего не работает. Видимо у меня недопонимание какие файлы, в какой последовательности, должны прошиваться.
Vlad
Vlad
deepseek("как устроена память контроллера ESP32 ? что такое partition scheme ? как правильно компилировать прошивку, чтобы контроллер корректно прошивался ? ")
Vlad
Vlad
Игорь ЛПВ
Прошивалка под PlatformIO работает корректно. Мне нужно прошить из командной строки тем, что скомпилировано в PlatformIO
Игорь ЛПВ
А не вариант скомпилировать проект под использование OTA?
Игорь ЛПВ
qio ?
Это было под ESP8266. До миграции проекта на ESP32
Vlad
esptool.py -p COM4 -b 460800 --after hard_reset write_flash --flash_mode dio --flash_size 4MB --flash_freq 40m 0x1000 bootloader.bin 0x8000 partitions.bin 0x10000 firmware.bin
Игорь ЛПВ
Сейчас буду пробовать
Игорь ЛПВ
Залил...
Теперь в терминале вот такое:
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0xd (SPI_FAST_FLASH_BOOT)
Saved PC:0x40047ed2
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fcd5810,len:0x438
load:0x403cc710,len:0x90c
load:0x403ce710,len:0x2624
Checksum failure. Calculated 0x3e stored 0x00
ets_main.c 333
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
Anton
плюсом таракашек получаю индивидуальный шим на каждый сегмент. который мне не нужен
Игорь ЛПВ
Когда происходит "правильная прошивка" из под PlatformIO то видно что присутствует четыре строки
Flash will be erased from 0x00000000 to 0x00003fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x000fafff...
Игорь ЛПВ
Что есть третья?
ok-home
Anton
я же не ёлочную гирлянду делаю.
Anton
я не понимаю что в твоём варианте конструкции визуально получится. чем это будет хорошо?
Anton
Vlad
ok-home
Vlad
Vlad
вот так пробовал, максимально автоматически ? без всяких стираний, с единственным COM-портом автоопределяемым, остальное по-дефолту
esptool -b 460800 --chip auto write_flash 0x1000 bootloader.bin 0x8000 partitions.bin 0x10000 firmware.bin
ㅤ
Max
Выше было
Vlad
Откуда берётся ets_main.c 333?
Это ошибка в ROM-загрузчике ESP32-C3, означающая, что прошивка не прошла проверку контрольной суммы. Обычно решается правильной перепрошивкой.
Если ничего не помогло — попробуйте другой модуль (возможно, аппаратная проблема).
Игорь ЛПВ
Другой модуль: проблема осталась...
Vladimir
А blink заливается?
Игорь ЛПВ
Блинк сейчас проверю и доложу
Игорь ЛПВ
Но меня смущает что PlatformIO стирает четыре сектора и пишет четыре файла, а ESPTOOL только три сектора трёт и три пишет.
Игорь ЛПВ
Changing baud rate to 960400
Changed.
Configuring flash size...
Flash will be erased from 0x00000000 to 0x00003fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x000fafff...
Игорь ЛПВ
Выше PlatformIO
Vlad
Vlad
Игорь ЛПВ
Пробовал
Игорь ЛПВ
Serial port COM33
Connecting...
Detecting chip type... ESP32-C3
Chip is ESP32-C3 (QFN32) (revision v0.4)
Features: WiFi, BLE, Embedded Flash 4MB (XMC)
Crystal is 40MHz
MAC: 64:e8:33:b6:15:ac
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00001000 to 0x00004fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x00010000 to 0x000fafff...
Compressed 13248 bytes to 9562...
Wrote 13248 bytes (9562 compressed) at 0x00001000 in 0.2 seconds (effective 527.6 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 146...
Wrote 3072 bytes (146 compressed) at 0x00008000 in 0.0 seconds (effective 516.6 kbit/s)...
Hash of data verified.
Compressed 959536 bytes to 588192...
Wrote 959536 bytes (588192 compressed) at 0x00010000 in 6.9 seconds (effective 1113.6 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
Игорь ЛПВ
Вот такое в терминале
Игорь ЛПВ
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0xf (SPI_FAST_FLASH_BOOT)
Saved PC:0x40047ed2
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fcd5810,len:0x438
load:0x403cc710,len:0x90c
load:0x403ce710,len:0x2624
Checksum failure. Calculated 0x3e stored 0x00
ets_main.c 333
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0xf (SPI_FAST_FLASH_BOOT)
Saved PC:0x40047ed2
SPIWP:0xee
Vlad
какого размера бинарники ? схема разделов какая выбрана ?
Vlad
Max
Энтузиаст представил проект Retro-Ruler — устройство в виде линейки, на котором можно запускать ретро-игры
Французский студент-инженер Рафаэль Тексье представил проект Retro-Ruler — это устройство в виде обычной линейки, на котором можно запускать игры с ретро-консолей. В основе работы Retro-Ruler лежит прошивка Retro-GO. С проектом Тексье можно ознакомиться на GitHub, также автор запустил кампанию по сбору средств на Kickstarter.
Читать далее
https://habr.com/ru/news/912938/?utm_source=habrahabr&utm_medium=rss&utm_campaign=912938
Vladimir
ini файл покажи
Игорь ЛПВ
platform = espressif32
board = lolin_c3_mini
framework = arduino
upload_speed = 960400
monitor_speed = 115200
upload_port = COM197
monitor_port = COM197
lib_deps =
Vlad
Vladimir
Upload_speed строку удали
Vladimir
И порты
Vlad
может попробовать
board_build.partitions = huge_app.csv
?
Vlad
и почему DIO тут, а не QIO ?
Игорь ЛПВ
Господа, с этим INI файлом всё работает. PLatformIO компилирует и заливает. После чего всё нормально работает. Я не могу правильно залить всё что накомпиллировал PlatformIO через командную строку 8((
Vlad
Vlad
пипец
Игорь ЛПВ
Менял. Скорость upload до 115200 ронял..
Vlad
да уже не актуально, раз ты говоришь из IDE все полностью шьется и работает ОК
Vlad
а бинарников скоко сгенерировано ? три ?
Vlad
Если PlatformIO генерирует несколько файлов
(часто в ESP-IDF или при кастомных настройках)
Нужно прошивать 3 файла по отдельности:
esptool.py write_flash \
0x1000 .pio/build/<env>/bootloader.bin \ # Bootloader
0x8000 .pio/build/<env>/partitions.bin \ # Таблица разделов
0x10000 .pio/build/<env>/firmware.bin # Основная прошивка (app)
👉 Это стандартные адреса для ESP32-C3 (аналогично ESP32).
Vlad
Если PlatformIO генерирует один файл firmware.bin
(обычно для Arduino-проектов или простых приложений)
✅ Правильный адрес: 0x0
esptool.py write_flash 0x0 .pio/build/<env>/firmware.bin
Vlad
Игорь ЛПВ
Игорь ЛПВ
PlatformIO пишет три
Compressed 13248 bytes to 9562...
Writing at 0x00000000... (100 %)
Wrote 13248 bytes (9562 compressed) at 0x00000000 in 0.2 seconds (effective 492.9 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 146...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (146 compressed) at 0x00008000 in 0.0 seconds (effective 507.2 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 673.6 kbit/s)...
Hash of data verified.
Compressed 959536 bytes to 588192...
Writing at 0x00010000... (2 %)
Writing at 0x00015332... (5 %)
Writing at 0x0001a2f8... (8 %)
Writing at 0x00025