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

Вопрос Не сохраняется "esp_init_data_default.bin"

VDLab

New member
Всем доброго времени суток.
Начал знакомство с чипом с модуля ESP12-E. В общем, все шло успешно - модуль прошивался, на команды реагировал, соединение было, пока, после игр с прошивкой (в частности, с этой: http://esp8266.ru/forum/threads/esp8266-i2s-mp3-webradio-streaming-example.412/) модуль работать перестал - что бы в него не заливал, либо валит сообщение об ошибке, либо затыкается сразу после загрузки первых секций кода из флешки.
Поэкспериментировав и сняв дамп с флешки, обнаружил, что, несмотря на бодрые рапорты esptool об успешной загрузке, данные из файла "esp_init_data_default.bin" по смещению 0x7C00 фактически не записываются, вместо данных одни "0xFF". Всё остальное записывается верно.
В связи с чем вопросы: я правильно понимаю, что это и есть причина моих бед, и как его "уговорить" все же записать эту секцию?
 

pvvx

Активный участник сообщества
Всем доброго времени суток.
Начал знакомство с чипом с модуля ESP12-E. В общем, все шло успешно - модуль прошивался, на команды реагировал, соединение было, пока, после игр с прошивкой (в частности, с этой: http://esp8266.ru/forum/threads/esp8266-i2s-mp3-webradio-streaming-example.412/) модуль работать перестал - что бы в него не заливал, либо валит сообщение об ошибке, либо затыкается сразу после загрузки первых секций кода из флешки.
Поэкспериментировав и сняв дамп с флешки, обнаружил, что, несмотря на бодрые рапорты esptool об успешной загрузке, данные из файла "esp_init_data_default.bin" по смещению 0x7C00 фактически не записываются, вместо данных одни "0xFF". Всё остальное записывается верно.
В связи с чем вопросы: я правильно понимаю, что это и есть причина моих бед, и как его "уговорить" все же записать эту секцию?
При отсутствии записанного "esp_init_data_default.bin" (первый байт сектора для его записи не равен 5) SDK, начиная с версии 1.0.0, использует значения по умолчанию (записанный в коде flash аналог рекомендованного китаями esp_init_data_default.bin).
Т.е. можно не записывать esp_init_data_default.bin вообще - будут использоваться значения по умолчанию.

Да, и у вас не указан размер flash на модуле ESP12-E и параметры прошивки. От них зависит куда пишется esp_init_data_default.bin.

+ Наибольшее кол-во распространенных по инет esptool.py имеет ошибку - затирает область во flash больше, чем пишет туда кода. На таких версиях требуется соблюдать последовательность записи блоков от младшего адреса к старшему. Но это работает, если не затрет по кругу начальные сектора при записи последних :) Используйте исправленные версии...
 
Последнее редактирование:

VDLab

New member
Спасибо за ответ. С одним вопросом разобрался - сам дурак - не по тому адресу считал дамп. Сегодня перепроверил - таки все читается правильно.
Правда от этого не легче, хоть записывается все правильно, но модуль все равно мертвый. Пробовал экспериментировать как с размером флеш в мейкфайл, так и со скоростью и количеством линий данных памяти. Результата пока нет. Куда копать дальше не знаю.
У меня просьба к владельцам ESP12-E (как на фото) с заводской прошивкой (в идеале, но хотя бы уж какой-нибудь, лишь бы работающей) - снять дамп с флеш-памяти модуля. Если не поможет, буду считать его безвременно погибшим...
 

Вложения

pvvx

Активный участник сообщества
У меня просьба к владельцам ESP12-E (как на фото) с заводской прошивкой (в идеале, но хотя бы уж какой-нибудь, лишь бы работающей) - снять дамп с флеш-памяти модуля.
"заводской прошивки" не бывает. Каждый продавец пишет в них что ему угодно... Flash в модулях также бывает любая - всё зависит от ушлости продавца. :)
Записывайте хоть fullflash_and_webfs_044.zip - она с автоматическим определением параметров. Пишите c SPI: DIO 40 MHz , Flash: 512к (4Mbits), Кварц: 26 MHz.
Если заработает, то меняете параметры на SPI: QIO 80 MHz , Flash: 512к (4Mbits), Кварц: 26 MHz для более быстрой работы модуля.
Скорость COM порта при программировании = любая, т.к. в модуле работет автоопределение скорости при прошивке. Обычно используют от 115200 до 1000000 Baud
 
Последнее редактирование:

VDLab

New member
Спасибо за попытку помочь, но видимо модуль действительно пора на свалку...
По первой прошивке:
ESP8266Flasher запинается вначале, в логе:
Код:
Note:Serial port connected.
Note:Begin find ESP8266.
Note:ESP8266 ACK success.
Note:ESP8266 ACK success.
Error:Set ESP8266 Address timeout.
esptool тоже матерится, пишет "Invalid head of packet"

По второй - Вашу опробовал одной из первых, сейчас попробовал еще раз, после перезагрузки:
Код:
 ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x40100000, len 104, room 16
tail 8
chksum 0x82
csum 0x82
Fatal exception (0):
epc1=0x40200080, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
ну и т.д.
Может бутлодер у него "не той системы"?
 

pvvx

Активный участник сообщества
Спасибо за попытку помочь, но видимо модуль действительно пора на свалку...
По первой прошивке:
ESP8266Flasher запинается вначале, в логе:
esptool тоже матерится, пишет "Invalid head of packet"
Какая esptool? Пробуйте FLASH_DOWNLOAD_TOOLS.

По второй - Вашу опробовал одной из первых, сейчас попробовал еще раз, после перезагрузки:
Может бутлодер у него "не той системы"?
Опции какие при прошивке в FLASH_DOWNLOAD_TOOLS_v1.2_150512? Надо указанные.
 

VDLab

New member
FLASH_DOWNLOAD_TOOLS_v1.2_150512:
Код:
serial port opened
Connecting...
chip sync error
с любыми опциями, там, похоже, до опций дело даже не доходит.
 

pvvx

Активный участник сообщества
FLASH_DOWNLOAD_TOOLS_v1.2_150512
...
с любыми опциями, там, похоже, до опций дело даже не доходит.
Дык там нет автоматического включения модуля в режим программирования. Надо кнопу RESET руками жать, а другие пины поставить в режим програм...
 

VDLab

New member
Хм, спасибо, как то я этот момент упустил из виду, и вроде ж читал об этом... Придется теперь ждать вечера, чтобы попробовать.
 

VDLab

New member
В общем, прошил с указанными параметрами - результат тот же, вечный вывод ошибки...
Видимо модуль все же накрылся, придется новый покупать, благо дешевые.
 

pvvx

Активный участник сообщества
В общем, прошил с указанными параметрами - результат тот же, вечный вывод ошибки...
Видимо модуль все же накрылся, придется новый покупать, благо дешевые.
По предварительным данным с вашего лога - прошивка (бутлоадер) грузится в режиме одиночного SPI к Flash (контрольная сумма верна), а когда включается режим QIO или DIO доступа к Flash, происходит баг. Возможно надо просто пропаять ноги чипа ESP8266 к Flash...
PS: сhksum/csum 0x82 - это RapidLoader на 80MHz Ver 2 :)
 
Последнее редактирование:

VDLab

New member
Пропаивал и чип и память. Пробовал менять память - все то же самое.
 

VDLab

New member
Хм, история, как выясняется, имеет продолжение.
Первый модуль, после долгих попыток восстановить, списан как бракованный. Ладно, купил еще несколько, на этот раз ESP-07...
Короче, при запуске той же прошивки, после которой перестал работать предыдущий модуль, загнулся и этот!
Симптомы те же - при включении выплевывает на 78400 все те же строки, что приводил ранее и все...
Замена флеша не помогает, видимо унутре у ней затираются какие то данные или калибровочные константы.
В общем, если кто будет играться с этим примером - до выяснения причин не лезьте в модуль "synth_stereo.c.unused" в декодере - именно после замены им файла "synth.c" вся эта свистопляска и началась.
 

pvvx

Активный участник сообщества
В общем, если кто будет играться с этим примером
Там всего одно отличие - GPIO3 работает как выход, а не вход (RXD). Обычно он включен на внешний выход какого COM порта и происходит КЗ.
Так-же стандартная прошивка MP3 декодера использует GPIO15 как выход, а у некоторых, которые соединили его напрямую с GND, это тоже вызывает КЗ и перегрев чипа.
 
Последнее редактирование:

VDLab

New member
Да не, в исходном виде (с моно звуком) пример работал, правда пришлось чуть поправить инициализацию модуля I2S под другой ЦАП (PT8211).
Проблемы начались именно после подключения "synth_stereo.c", там под буфер выделяется вдвое больший буфер. Причина вряд ли в этом, но на эксперименты у меня запасных модулей нет :)
 
Сверху Снизу