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

Использование gen_flashbin.exe

Andy Korg

Moderator
Команда форума
почему-то при использовании gen_flashbin.exe вот так:
Код:
C:\Documents and Settings\Admin>C:\Espressif\utils\gen_flashbin.exe C:\Espressif\Myproject\firmware\1.bin C:\Espressif\Myproject\firmware\2.bin
ничего не происходит. Так и должно быть?
 

CHERTS

Moderator
Команда форума
почему-то при использовании gen_flashbin.exe вот так:
Код:
C:\Documents and Settings\Admin>C:\Espressif\utils\gen_flashbin.exe C:\Espressif\Myproject\firmware\1.bin C:\Espressif\Myproject\firmware\2.bin
ничего не происходит. Так и должно быть?
Ну наверно потому, что Вы неправильно его используете.

Читали инструкцию в changelog_ru.txt ?
Пример создания единого файла прошивки nodemcu:
1. Соберите в Eclipse пример прошивки C:\Espressif\examples\nodemcu-firmware
2. Отредактируйте в файле C:\Espressif\examples\nodemcu-firmware\bin\gen_misc_plus.bat параметр comport=COM2 и укажите номер своего COM-порта к которому подключена плата с ESP8266.
3. Запустите файл C:\Espressif\examples\nodemcu-firmware\bin\gen_misc_plus.bat, в случае успешного создания единого файла прошивки запустится процесс заливки прошивки в ESP8266.
4. Для записи init.lua в nodemcu, измените в файл C:\Espressif\examples\nodemcu-firmware\bin\load_init_lua.cmd параметр comport=COM2 и запустете файл load_init_lua.cmd
Вообще gen_appbin.exe и gen_flashbin.exe это скомпиленые питоновские скрипты, исходники лежат в C:\Espressif\utils\, эти исходники не мои, а от Espressif (оригинал C:\Espressif\ESP8266_SDK\app\gen_misc_plus.bat) и как и полагается, они (питоновские скрипты) жутко криво написаны, не пойму зачем было делать такие костыли, не проще ли было написать программу на Си, которая бы нормально работала на всех платформах.
 

Andy Korg

Moderator
Команда форума
Ну наверно потому, что Вы неправильно его используете.
Читали инструкцию в changelog_ru.txt ?
да, прочитал. Единственно не понял как использовать C:\Espressif\utils\gen_flashbin.exe правильно со своим проектом. Т.к. в папке C:\Espressif\utils\ нет фалов bat то переименовывал файлы firmware/0x00000.bin и firmware/0x40000.bin в 1.bin и 2.bin, потом перекладвал их в C:\Espressif\utils\ и делал вот так:
C:\Espressif\utils\gen_flashbin.exe 1.bin 2.bin
в каталоге появляется файл eagle.app.flash.bin Вот только после прошивки никакой реакции не получаю. Подскажите пожалуйста как надо правильно пользоваться gen_flashbin.exe
 

CHERTS

Moderator
Команда форума
И еще важный момент, файл C:\Espressif\examples\nodemcu-firmware\bin\gen_misc_plus.bat адаптирован для сборки nodemcu с учетом его структуры каталогов, например для типичных проектов вроде C:\Espressif\examples\hello_world\ файл нужно немного подкорректировать, см. вложение
gen_misc_plus.bat из вложения копируем в C:\Espressif\examples\hello_world\, собираем hello_world в Eclipse, запускаем gen_misc_plus.bat и на выходе имеем eagle.app.flash.bin, который сразу шьется в esp
 

Вложения

Andy Korg

Moderator
Команда форума
И еще важный момент, файл C:\Espressif\examples\nodemcu-firmware\bin\gen_misc_plus.bat адаптирован для сборки nodemcu с учетом его структуры каталогов, например для типичных проектов вроде C:\Espressif\examples\hello_world\ файл нужно немного подкорректировать, см. вложение
gen_misc_plus.bat из вложения копируем в C:\Espressif\examples\hello_world\, собираем hello_world в Eclipse, запускаем gen_misc_plus.bat и на выходе имеем eagle.app.flash.bin, который сразу шьется в esp
Большое спасибо за адаптацию, но к сожалению что то не то шьется. После прошивки что-то валится на UART и на GPOI2 (UART TX debug это кажись) Если же те же самые файлы 0x00000.bin и 0x40000.bin прошить с помощью esptool то все работает нормально. Короче плюнте на это дело, буду esptool шить. Большое спасибо за помощь.
 

CHERTS

Moderator
Команда форума
Большое спасибо за адаптацию, но к сожалению что то не то шьется. После прошивки что-то валится на UART и на GPOI2 (UART TX debug это кажись) Если же те же самые файлы 0x00000.bin и 0x40000.bin прошить с помощью esptool то все работает нормально. Короче плюнте на это дело, буду esptool шить. Большое спасибо за помощь.
Нашел в чем причина, дело во gen_flashbin.py, он расчитан на адрес начала irom0text 0x10000
Подправил его, теперь там 3 аргумента, войдет в новый DevKit, соответственно исправил gen_misc_plus.bat, в архиве пример hello_world с созданием единого файла, проверил его зашить - все работает, в Eclipse добавил цель flashonefile (см.картинку), она собирает файл firmware/eagle.app.flash.bin и шьет его. Так же в hello_world используется новый функционал утилиты C:\Espressif\xtensa-lx106-elf\bin\esptool.exe для прошивки ESP (утилита так же в архиве), теперь C:\Espressif\utils\esptool.exe не нужна. Так же в архиве есть подправленный файл C:\Espressif\examples\hello_world\gen_misc_plus.bat для сборки единого файла прошивки, хотя эти функции есть в Eclipse, так что в принципе он без надобности.
В архиве обновленная nodemcu-firmware, там теперь для сборки прошивки и заливки её в esp используется уже C:\Espressif\xtensa-lx106-elf\bin\esptool.exe

Распаковать в корень C:\
http://rghost.ru/60505172

 
Сверху Снизу