Достался 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 Прошиватель выставляю так: С ESP работал мало, что не так? Да, вместо бланков erase делал, единым амперкиным файлом тоже прошивал, не помогло.
Это не единственный признак жизни, это признак отличного здоровья. Надо идти на сайт 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. Решение в последнем сообщении этой темы
Я уже приписал, что шил только файлы без бланков. Пока не нашел подходящего адреса, видимо, для 32 мб. Кроме того, не понятно, куда писать и надо ли вообще файл user?
Задача то в чем? Вернуть на модуль АТ прошивку или прошить что-то другое? Вообще, все прошивки шьются с 0 адреса.
Вернуть AT. Начал именно с того, на что вы дали ссылку, там несколько файлов, точнее 3, из которых только бут шьется с нуля.
Сначала ERASE, и новой командой boot c 0 а esp_init_data_default_v08.bin - по адресу 0x3fc000 Не заработает - последний файл по другим адресам пробовать. Сам никогда АТ не шил Кстати, с АТ прошивкой для проверки хорошо работает ESPlorer.
Хорошо, так и буду пробовать. Хоть уже какие только адреса не перебрал, странно, что нет простой таблицы где бы это все было. Проверить проще всего обычным терминалом, отвечает на АТ, на одной из скоростей, значит работает, дальше без проблем настроить.
Ну вот теоретически, в ат-режиме ничего во флеш не прошивается, зачем он? Мы же прошиваем контроллеры без бута, когда он не нужен и все работает замечательно.
Здесь все не так. Микросхема содержит лишь загрузчик программы в spi память. В самом мк нет больше (программного) ничего.
а кто в ОЗУ программу будет грузить? Ядро ничего не знает, как на SPI flash всё организовано. Для этого и пишется загрузчик.
В общем вообще ничего не зависит ни от прошивки, ни от адресов. После 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 Совсем я запутался. (
Заменил 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
О, а qio я и не заметил. Он для 512 КБ, помнится. Там ещё и режим заливки эависит от памяти. DIO для большинства плат, DOUT - для esp8285 с 1 mb. Где-то даташит ещё надо искать. Но судя по логам, там все работает. Просто осталось найти подходящую комбинацию параметров Ни разу за все время не заливал АТ прошивку, ибо модуль способен на большее.
Вот пока не подобрал, или в перезагрузку вечную скатывается или зависает. Единственно, амперкина прошивка встала и даже на АТ отвечает стабильно, но на связь не выходит, со вторым контроллером не контачит, пока не пойму почему. Да и не дело так, нужен универсальный способ. Не понимаю, зачем так сложно сделали простую операцию.