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

Что передает модуль (ESP8266) после аппаратного сброса

VVN

New member
Здравствуйте, Уважаемые.

Разбираюсь с модулем.
Прошивка AT.
-----------------------------------------------
AT version:0.22.0.0(Mar 20 2015 10:04:26)
SDK version:1.0.0
compile time:Mar 20 2015 11:00:32
---------------------------------------------

Интересует вопрос, что передает модуль при сбросе по линии RST.
Вначале после сброса модуль на скорости (Baud Rate) где то 75000 передает осмысленную информацию.
ets Jan 8 2013,rst cause:2, boot mode:(3,7)

load 0x40100000, len 1320, room 16
tail 8
chksum 0xb8
load 0x3ffe8000, len 776, room 0
tail 8
chksum 0xd9
load 0x3ffe8308, len 412, room 0
tail 12
chksum 0xb9
csum 0xb9

2nd boot version : 1.3(b3)
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size : 4Mbit
jump to run user1
Затем он начинает гнать нечто не понятное, насколько я понял он меняет скорость обмена

0x52(R)
Затем ложит на 55мс линию TXD в 0 после чего

Два байта с ошибкой фрейма
На скорости 115200 они такие 0xD5 0x81
При 75000 тоже ошибка фрейма

Дальше на скорости 115200 членораздельно
MEM CHECK FAIL!!!\r\n

Затем снова скорость 75000
0xDA \r\nS 0xCA
В конце скорость 115200
\r\nready\r\n

Интересно зачем меняет Baud Rate) и что за информацию передает.

И почему выскакивает MEM CHECK FAIL!!!\r\n
 

VVN

New member
Спасибо за ответ.
Получается что настоящее сообщение "RTC MEM CHECK FAIL!!!\n"

У меня принимается следующая последовательность : R, TXD =O, ошибка, ошибка, MEM CHECK FAIL!!!\r\n
Другими словами после переключения скорости с 75000 на 115200 с модулем происходит непонятный глюк.

Сразу скажу данные я смотрю не посредством UART, а прямо на сигналах TXD, RXD модуля.
Логическим анализатором.
Тут ошибки быть не может.

Нужно будет попробовать другую версию прошивки.
 

pvvx

Активный участник сообщества
"MEM CHECK FAIL!!!" возникает всегда, когда отключалось питание или чип был отключен сигналом CH_PD.
Другое дело, что его не всегда видно из-за переключения скоростей UART и горе китай кода инициализации в SDK (во время его вывода в некоторых версиях SDK сбрасывается fifo UART).
В SDK 1.3.0 данное сообщение заменено на "don't use rtc mem data\n".
"Линии RST" на модуле не существует. Есть RESET, а у UART есть сигнал RTS и на него ничего не выводится. Вывод сообщений встроенного в чип ESP8266ex загрузчика из BIOS-ROM выводятся на линию UART-TX (GPIO1) и дублируется на GPIO2.
Далее у вас отрабатывает ненужный никому вторичный загрузчик "(2nd boot version : 1.3(b3))", а затем уже инициализация AT-SDK c "MEM CHECK FAIL!!!" в процедуре инициализации WiFi и т.д.
 
Последнее редактирование:

VVN

New member
Другое дело, что его не всегда видно из-за переключения скоростей UART и горе китай кода инициализации в SDK (во время его вывода в некоторых версиях SDK сбрасывается fifo UART).
Там даже не переключение скоростей а какая то ерунда со сбросом TXD в 0

Вначале два байта (сверху восклицательный знак означает что байты с ошибкой фрейма)
Затем TXD=0
Затем еще два байта с ошибкой
После чего "MEM CHECK FAIL!!!"

Это все видно на картинке при приеме логическим анализатором.

Но COM порт это не понимает. Принимает нечто не понятное.

Вот все что принимаю после сброса с переключением Baud rate
-----------------------------------------------
Open COM3 at Baud Rate : 115200
-----------------------------------------------
-----------------------------------------------
COM3 change the baud rate : 75000
-----------------------------------------------
ets Jan 8 2013,rst cause:2, boot mode:(3,6)
load 0x40100000, len 1320, room 16
tail 8
chksum 0xb8
load 0x3ffe8000, len 776, room 0
tail 8
chksum 0xd9
load 0x3ffe8308, len 412, room 0
tail 12
chksum 0xb9
csum 0xb9

2nd boot version : 1.3(b3)
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size : 4Mbit
jump to run user1
-----------------------------------------------
COM3 change the baud rate : 115200
----------------------------------------------

0x8C
0xD5
( 0xA4 SQS 0x90 (RQ 0xA8 )HT 0xA8 )SHHHC 0x85
0xE4
0xFF r 0x8E 0xD1
ready

В SDK 1.3.0 данное сообщение заменено на "don't use rtc mem data\n".
Нужно попробовать першить модуль да посмотреть как он ведет себя с SDK1.3.0
Только не знаю где взять AT прошивку с этим SDK для 512K
 

pvvx

Активный участник сообщества
Там даже не переключение скоростей а какая то ерунда со сбросом TXD в 0
Если во время вывода символа, в момент вывода нуля, происходит переключение делителя UART или переключаются делители и множители PLL, то и возникает длинный нуль на выходе TX.
Смысл копаться в данных сигналах, если всё загрузчики и инициализация SDK уже дизасемблированна и даны исходники ("реверсирована")?
Только не знаю где взять AT прошивку с этим SDK для 512K
Собрать в UDK - скомпилировать. :)
 

VVN

New member
Смысл копаться в данных сигналах, если всё загрузчики и инициализация SDK уже дизасемблированна и даны исходники ("реверсирована")?
Где это можно посмотреть?

Собрать в UDK - скомпилировать. :)
Еще не дошел ход ;)

Сделал платку для модуля
На платке Настроил VCP.
Начал с AT команд .

Экспериментировал с модулем с терминала.
Чтось работать с терминалом не понравилось
Написал свой маленький терминал .
Решил в терминале, прикрутить кнопку Ресет для аппаратного сброса.

По сбросу модуль что то выдает, решил тоже вывести в терминал.
Вот и разбираюсь что же гонит модуль при сбросе.

А до UDK ход дойдет тем более что на форуме очень много что сделали в этом напрвлении.
Да и как понимаю с типовой AT прошивкой не стоит связываться.
 

pvvx

Активный участник сообщества
Где это можно посмотреть?
Общего места нет, т.к. похоже, что этим занимаюсь только я один, а мне это не требуется. Сваливаю частями в свою web-свалку, а адаптированные и уже измененные использую в своих горе-проектах... :)
 
Сверху Снизу