• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Делюсь опытом Новый, быстрый прошивальщик (512К за 5 сек)

rojer

Разработчик Smart.js
Команда форума
Прошивка, над которой я работаю (Smart.js) толстая и ждать по 15-20 секунд каждый раз надоело.
Заморочился и написал альтернативный тому что в ROM прошивальщик, который шьёт на 3-4 мбитах (в зависимости от UART-to-USB конвертера). На самом деле меньше, конечно, с учётом стирания, но, в общем, теперь бывает так:
Код:
$ time ./esptool.py --port /dev/ttyUSB0 write_flash --flash_baud=4000000 0 test.img
Connecting...
Running Cesanta flasher...
Switching to 4000000 baud...
Writing 524288 @ 0x0... 524288 (100 %)
Wrote 524288 bytes at 0x00000000 in 4.8 seconds (882.3 kbit/s)...
Leaving...

real  0m5.286s
или даже так:

Код:
$ time FNC --platform=esp8266 --port=/dev/ttyUSB0 --flash-baud-rate=4000000 --flash smartjs-esp8266-last.zip
Connecting to ROM...
Running flasher...
Setting flash params to 0x240
Checking existing contents...
Checksumming 2512 @ 0x0...
Checksumming 4096 @ 0x1000...
Checksumming 564528 @ 0x11000...
Checksumming 131072 @ 0xe0000...
Writing 4096 @ 0x1000...
Writing 4096 @ 0xe7000...
Verifying image at 0x0...
Verifying image at 0x1000...
Verifying image at 0x11000...
Verifying image at 0xe0000...
Flashing successful, booting firmware...

All done!
Success.

real    0m2.023s
Для желающих приобщиться - патченый esptool или Flash 'n Chips, куда это встроено.

Блог пост с описанием процесса (на инглише).
 

NutsXXXL

New member
@rojer да вещь хорошая одного не понял где прописывать эти 4000000 baud...
у меня автоматом 912600
 

NutsXXXL

New member
кстати еще мы мануал а лучьше пример на питонную утилиту которая пакаджи для fnc собирает
 

rojer

Разработчик Smart.js
Команда форума
дык в примере ж написано - во --flash_baud.
я только что заапстримил это дело в основной esptool, теперь там --baud настраивает это дело.

написал коммнет к скрипту: fnc/fw_meta.py at master · cesanta/fnc · GitHub
 
Сверху Снизу