• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP_HexFlasher - приложение для прошивки ESP8266

espprog

New member
ESP_HexFlasher это приложение позволяющие прошивать в ESP8266 прошивки в формате Intel hex. Такая прошивка состоит из одного файла с расширением hex, содержащего в себе все данные. Это намного удобнее чем в случае нескольких bin файлов, которые можно по ошибке прошить не по тем адресам что следует или некоторые из них забыть прошить. Обычно такая путаница возникает у начинающих. Формат hex свободен от этих недостатков.
Для примера AT прошивка и Blink в виде HEX файлов в архиве HEX.zip. Собраны в этой IDE.
Скриншоты приложения ESP_HexFlasher
Windows


Linux


MacOS X

Окошко "Очистить память" предназначено для записи данных по умолчанию в системные области флеш-памяти.
Это может понадобится если ESP8266 не работает, а в UART отправляет что-то похожее на это.
Код:
ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x40100000, len 30372, room 16
tail 4
chksum 0x05
load 0x3ffe8000, len 2008, room 4
tail 4
chksum 0x62
load 0x3ffe87e0, len 580, room 4
tail 0
chksum 0xa3
csum 0xa3
OS SDK ver: 2.0.0(e271380) compiled @ Mar 30 2018 18:54:06
rf_cal[0] !=0x05,is 0xFF
 

Вложения

tretyakov_sa

Moderator
Команда форума
Как перевести bin в hex. Стоит в программу добавить такую возможность. Так же оставить возможность шить из bin формата. Ну и читать в bin из esp тоже бы не помешало.
 

espprog

New member
Из bin в hex автоматически перевести не получится, как это можно сделать переводя с hex в bin (кнопка Экспорт). В bin файлах не хранятся адреса и нет информации о начальном адресе (entry point).
Hex файл можно создать из elf (иногда у него расширение out).
Код:
objcopy.exe -O ihex file.elf file.hex
objcopy.exe входит в состав GCC для ESP.

Ну и читать в bin из esp тоже бы не помешало.
Стандартный загрузчик ESP8266 не поддерживает чтение.
 

tretyakov_sa

Moderator
Команда форума
Из bin в hex автоматически перевести не получится, как это можно сделать переводя с hex в bin (кнопка Экспорт). В bin файлах не хранятся адреса и нет информации о начальном адресе (entry point).
Так и сделайте дополнительную вкладку с выбором файлов и установкой адресов. После этого либо загрузить в esp либо сохранить в hex. Так сказать вкладка эксперта :)
 

fps

Active member
На скриноштах 1 и 2 в логе прошивка успешно "завешивается" :)

Скорость порта измеряется не в 'бод' а в 'бит/с'
 

espprog

New member
Скорость порта измеряется не в 'бод' а в 'бит/с'
В бодах https://ru.wikipedia.org/wiki/RS-232

tretyakov_sa, esptool заливает в ОЗУ ESP8266 программный загрузчик https://github.com/espressif/esptool/wiki/Serial-Protocol
Посмотрите список доступных команд в таблице Supported by software loader and ROM loaders
Команда READ_FLASH есть только в software loader.

На скриноштах 1 и 2 в логе прошивка успешно "завешивается"
Точно.
Чуть позже исправлю ошибку и пересоберу под все платформы.
 

espprog

New member
Исправил ошибку.
Windows
Winows.png

Linux
Linux.png

MacOS X
Mac OS X.png
Anim.gif
 

Вложения

pvvx

Активный участник сообщества
В русскоязычной вики это часто.
Как раз там всё в норме.
в бодах выражают полную ёмкость канала, включая служебные символы (биты), если они есть.
1. В данном случае тут нет никаких стандартов RS-232 по многим параметрам. UART, как 'Последовательный порт' есть, а RS-232 нет.
2. Стандарт RS-232 не определяет скорости передачи битов, за исключением того, что в нем говорится, что они предназначены для скоростей передачи данных ниже 20 000 бит в секунду. Стандарт RS-232 определяет уровни напряжения, которые соответствуют уровням логической единицы и логического нуля для линий передачи данных и сигналов управления.
 

pvvx

Активный участник сообщества
Там чушь написана. В русскоязычной вики это часто. См. оригинал https://en.wikipedia.org/wiki/RS-232
Не забывайте главного – технический язык, это специализированный вариант естественного языка. Но не все языки годятся как технические, особенно для описания в таких науках как физика, что более близка к радио-электротехнике. Русский и немецкий язык годится для технических описаний и имеет большее количество уточняющих слов и сочетаний, как и слов описывающих подгруппы с малыми отличиями. Английский технический – это урезанный упрощенный сборник из разных естественных языков. Остальные бытующие языки малопригодны и созданы ради усложнения понимания и не могут точно описывать уточненные и множественные варианты. В техническом английском более часто одно значение слова обозначает совершенно разные вещи и описания в нем неточны, без большого контекста с уточнением.
 

fps

Active member
Не забывайте главного – технический язык, это специализированный вариант естественного языка. Но не все языки годятся как технические..
Да я не спорю с этим всем )
Но в данном случае у espprog просто неправильно подписан контрол. О чём я ему и сказал.
 

espprog

New member
Но в данном случае у @espprog просто неправильно подписан контрол.
Все верно подписано. https://ru.wikipedia.org/wiki/Универсальный_асинхронный_приёмопередатчик
Существует общепринятый ряд стандартных скоростей: 300; 600; 1200; 2400; 4800; 9600; 19200; 38400; 57600; 115200; 230400; 460800; 921600 бод. Скорость (S , бод) и длительность бита (T , секунд) связаны соотношением T = 1 / S . Скорость в бодах иногда называют сленговым словом бодрейт или битрейт.
Поскольку синхронизирующие биты занимают часть битового потока, то результирующая пропускная способность UART меньше скорости соединения. Например, для 8-битных посылок формата 8-N-1 синхронизирующие биты занимают 20 % потока, что при физической скорости линии 115 200 бод означает полезную скорость передачи данных 92 160 бит/с или 11 520 байт/с.
 

Audis

New member
Скажите как пользоватся кнопкой Экспорт? Как понимаю она для чтения?
И возможно ли этой софтиной прочитать ESP32?
 

espprog

New member
Кнопка Экспорт конвертирует hex файл в bin файлы для прошивки другими утилитами.
 
Сверху Снизу