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

постоянная перезагрузка модуля

zverugaz

New member
Всем привет.
Пытаюсь перепрошить модуль Sonoff, как я понял собран на базе ESP-01.
Для начала я снял с него прошивку командой
esptool.py --port COM24 read_flash 0x0000 0x100000 iram8Mb.bin
получил мегабайтный бинарник. Поменял в нем кое-что, залил обратно - работает.
Сделал erase_flash, залил опять этот же бинарник - не работает. В консоль по кругу с периодом неск. секунд пишет вот такое:
Код:
 ets Jan  8 2013,rst cause:1, boot mode:(3,7)

load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0

2nd boot version : 1.4(b1)
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user2 @ 81000

rŽÃ9l€ÄžbŸä<0><0>
Прошиваю из Ардуино ИДЕ простой скетч мигания светодиодом - мигает. Опять заливаю предварительный прочитанный из него же бинарник - не работает и опять пишет в консоль по кругу см. выше.
Пробовал прочитать его еще раз из памяти и сравнить с тем, что заливал - совпадают.
Пробовал копировать командную строку которой прошивает Ардуино ИДЕ и менять путь к бинарнику на мой (вдруг ИДЕ добавляет какие-то волшебные параметры) - не помогает.
Подскажите пожалуйста, что я делаю не так, почему на устройстве не хочет работать его же собственная прошивка?
 

Arthur

Active member
Всем привет.
Пытаюсь перепрошить модуль Sonoff, как я понял собран на базе ESP-01.
Для начала я снял с него прошивку командой
esptool.py --port COM24 read_flash 0x0000 0x100000 iram8Mb.bin
получил мегабайтный бинарник. Поменял в нем кое-что, залил обратно - работает.
Сделал erase_flash, залил опять этот же бинарник - не работает. В консоль по кругу с периодом неск. секунд пишет вот такое:
Код:
 ets Jan  8 2013,rst cause:1, boot mode:(3,7)

load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0

2nd boot version : 1.4(b1)
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user2 @ 81000

rŽÃ9l€ÄžbŸä<0><0>
Прошиваю из Ардуино ИДЕ простой скетч мигания светодиодом - мигает. Опять заливаю предварительный прочитанный из него же бинарник - не работает и опять пишет в консоль по кругу см. выше.
Пробовал прочитать его еще раз из памяти и сравнить с тем, что заливал - совпадают.
Пробовал копировать командную строку которой прошивает Ардуино ИДЕ и менять путь к бинарнику на мой (вдруг ИДЕ добавляет какие-то волшебные параметры) - не помогает.
Подскажите пожалуйста, что я делаю не так, почему на устройстве не хочет работать его же собственная прошивка?
Полагаю, что он не работает из-за того, что вы в нём "Поменяли в нем кое-что"...
 

zverugaz

New member
Полагаю, что он не работает из-за того, что вы в нём "Поменяли в нем кое-что"...
Да не, во-первых с моими изменениями оно работало, во-вторых пробовал заливать и оригинальную неизмененную прошивку. Проблема вылезла после выполнения erase_flash. Теперь можно залить только стороннюю, а родная, которая была считана в самом начале, отказывается стартовать и все время перегружается. Такое ощущение, что я затер какие-то либы. Но флеш память всего 1Мб и я заливаю ее полностью, не могут же либы быть в самой SoC?
 

sharikov

Active member
Всем привет.
Пытаюсь перепрошить модуль Sonoff, как я понял собран на базе ESP-01.
...
Подскажите пожалуйста, что я делаю не так, почему на устройстве не хочет работать его же собственная прошивка?
Посмотрите маркировку флэшки. 01 модули были с флэш 4 мегабита: 25Q40
 

zverugaz

New member
Посмотрите маркировку флэшки. 01 модули были с флэш 4 мегабита: 25Q40
Смотрел, там 25Q80
Да и сам считанный бинарник смотрел, там есть данные после 0х80000. Как я понимаю, если бы флешпамять была не на 1Мб, то и в бинарнике после 0х80000 были бы ноли или 0xFF
 
Сверху Снизу