Сбитая прошивка

Тема в разделе "ESP8266, ESP32", создана пользователем ostrov, 22 апр 2020.

  1. ostrov

    ostrov Гуру

    Достался ESP8266 не реагирующий на команды AT. Пробовал перепрошить версиями от 1.5 до 3.0, ничего не помогает, единственный признак жизни выдает в ком-порт при резете на скорости 74880:
    Код (C++):
     ets Jan  8 2013,rst cause:2, boot mode:(3,6)

    load 0x40100000, len 1856, room 16
    tail 0
    chksum 0xef
    load 0x00000000, len 0, room 8
    tail 0
    chksum 0xef
    load 0x00000000, len 0, room 0
    tail 0
    chksum 0xef
    csum 0xef
    csum err
    ets_main.c
    Прошиватель выставляю так:
    [​IMG]

    С ESP работал мало, что не так?

    Да, вместо бланков erase делал, единым амперкиным файлом тоже прошивал, не помогло.
     
    Последнее редактирование: 22 апр 2020
  2. ИгорьК

    ИгорьК Гуру

    Это не единственный признак жизни, это признак отличного здоровья.

    Надо идти на сайт espressif и качать последнюю прошивку, там есть инструкция по адресам. Адреса прошивки отдельных файлов зависят от размера памяти модуля.

    Никакие blankи шить не надо (blank - это файл из одних ноликов) , ибо есть кнопка Erase - жмите её сначала, а потом- шить.


    К сожалению, лучше сейчас не помогу - на смартфоне.

    После ERASE шить:
    boot_XXXX.bin 0x00000

    esp_init_data_default.bin:
    • 0x7c000 for 512 kB, modules like most ESP-01, -03, -07 etc.
    • 0xfc000 for 1 MB, modules like ESP8285, PSF-A85, some ESP-01, -03 etc.
    • 0x1fc000 for 2 MB
    • 0x3fc000 for 4 MB, modules like ESP-12E, NodeMCU devkit 1.0, WeMos D1 mini
    • 0x7fc000 for 8 MB
    • 0xffc000 for 16 MB, modules like WeMos D1 mini pro

    UPD. Решение в последнем сообщении этой темы
     
    Последнее редактирование: 24 апр 2020
    ostrov нравится это.
  3. ostrov

    ostrov Гуру

    Я уже приписал, что шил только файлы без бланков. Пока не нашел подходящего адреса, видимо, для 32 мб. Кроме того, не понятно, куда писать и надо ли вообще файл user?
     
  4. ИгорьК

    ИгорьК Гуру

    Задача то в чем? Вернуть на модуль АТ прошивку или прошить что-то другое?
    Вообще, все прошивки шьются с 0 адреса.
     
  5. ИгорьК

    ИгорьК Гуру

    user писать не надо
     
  6. ostrov

    ostrov Гуру

    Вернуть AT. Начал именно с того, на что вы дали ссылку, там несколько файлов, точнее 3, из которых только бут шьется с нуля.
     
  7. ИгорьК

    ИгорьК Гуру

    Сначала ERASE, и новой командой boot c 0 а esp_init_data_default_v08.bin - по адресу 0x3fc000

    Не заработает - последний файл по другим адресам пробовать.

    Сам никогда АТ не шил :)
    Кстати, с АТ прошивкой для проверки хорошо работает ESPlorer.
     
  8. ostrov

    ostrov Гуру

    Хорошо, так и буду пробовать. Хоть уже какие только адреса не перебрал, странно, что нет простой таблицы где бы это все было. Проверить проще всего обычным терминалом, отвечает на АТ, на одной из скоростей, значит работает, дальше без проблем настроить.
     
  9. SergeiL

    SergeiL Оракул Модератор

    А АТ-то зачем? Не проще ли из под Ардуино ИДЕ прошить то, что нужно.
     
  10. ИгорьК

    ИгорьК Гуру

    Если проблемы не уходят, надо шить esptool, там видна верификация прошивки.
     
  11. ostrov

    ostrov Гуру

    Для работы в качестве wifi-адаптера.

    Кстати, вопрос, нафига для АТ прошивки вообще бутлоадер?
     
  12. ИгорьК

    ИгорьК Гуру

    А смысл этого знания? Без него прошивка не работает, проверено не раз :)
     
  13. ostrov

    ostrov Гуру

    Ну вот теоретически, в ат-режиме ничего во флеш не прошивается, зачем он? Мы же прошиваем контроллеры без бута, когда он не нужен и все работает замечательно.
     
  14. ИгорьК

    ИгорьК Гуру

    Здесь все не так. Микросхема содержит лишь загрузчик программы в spi память. В самом мк нет больше (программного) ничего.
     
    parovoZZ нравится это.
  15. parovoZZ

    parovoZZ Гуру

    а куда она пишется??? В ESP своей памяти на бут только и хватает.
     
    ИгорьК нравится это.
  16. parovoZZ

    parovoZZ Гуру

    а кто в ОЗУ программу будет грузить? Ядро ничего не знает, как на SPI flash всё организовано. Для этого и пишется загрузчик.
     
    ИгорьК нравится это.
  17. ostrov

    ostrov Гуру

    В общем вообще ничего не зависит ни от прошивки, ни от адресов. После ERASE выдает такое:
    Код (C++):
     ets Jan  8 2013,rst cause:2, boot mode:(3,6)

    ets_main.c
    После любой прошивки такое:
    Код (C++):

    load 0x40100000, len 1396, room 16
    tail 4
    chksum 0xef
    load 0x00000000, len 0, room 4
    tail 0
    chksum 0xef
    ho 12 tail 0 room 4
    load 0x00000000, len 0, room 12
    tail 0
    chksum 0xef
    csum 0xef
    csum err
    ets_main.c
    А было как то так:
    Код (C++):
     ets Jan  8 2013,rst cause:2, boot mode:(3,1)

    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       : DIO
      SPI Flash Size & Map: 8Mbit(512KB+512KB)
    jump to run user1 @ 1000

    #т#n't use rtc mem data
    slЏ‚rlМя
    Ai-Thinker Technology Co.,Ltd.

    ready
    Совсем я запутался. (
     
    Последнее редактирование: 23 апр 2020
  18. ostrov

    ostrov Гуру

    Заменил SPI MODE на DIO, что-то залилось, но один хрен не работает.
    Код (C++):

    ets Jan  8 2013,rst cause:2, boot mode:(3,6)

    load 0x40100000, len 2592, room 16
    tail 0
    chksum 0xf3
    load 0x3ffe8000, len 764, room 8
    tail 4
    chksum 0x92
    load 0x3ffe82fc, len 676, room 4
    tail 0
    chksum 0x22
    csum 0x22

    2nd boot version : 1.7(5d6f877)
    SPI Speed : 40MHz
    SPI Mode : DIO
    SPI Flash Size & Map: 32Mbit(512KB+512KB)
    jump to run user1 @ 1000

    mismatch map 5,spi_size_map 4
    system param partition error
    system_partition_table_regist fail
     
     
  19. ИгорьК

    ИгорьК Гуру

    О, а qio я и не заметил. Он для 512 КБ, помнится.
    Там ещё и режим заливки эависит от памяти.
    DIO для большинства плат, DOUT - для esp8285 с 1 mb. Где-то даташит ещё надо искать.
    Но судя по логам, там все работает. Просто осталось найти подходящую комбинацию параметров :)
    Ни разу за все время не заливал АТ прошивку, ибо модуль способен на большее.
     
    ostrov и SergeiL нравится это.
  20. ostrov

    ostrov Гуру

    Вот пока не подобрал, или в перезагрузку вечную скатывается или зависает. Единственно, амперкина прошивка встала и даже на АТ отвечает стабильно, но на связь не выходит, со вторым контроллером не контачит, пока не пойму почему. Да и не дело так, нужен универсальный способ. Не понимаю, зачем так сложно сделали простую операцию.