'Реверс' SDK Espressif и ROM-BIOS для создания открытого SDK.

nikolz

Well-known member
[QUOTE="pvvx [/QUOTE]
Добрый день,
Вопрос относительно сообщения при старте.
Правильно ли я понял из ваших исследований, что убрать это сообщение можно, если записать во флеш во второй байт ноль?
Если так, то вопрос второй.
есть идея сделать это во время первой загрузки boot.
Такой прием сработает или надо еще что-то.
спасибо
 

pvvx

Активный участник сообщества
Добрый день,
Вопрос относительно сообщения при старте.
Правильно ли я понял из ваших исследований, что убрать это сообщение можно, если записать во флеш во второй байт ноль?
Если так, то вопрос второй.
есть идея сделать это во время первой загрузки boot.
Такой прием сработает или надо еще что-то.
спасибо
Я уже точно не помню. Прошли годы как это делалось... Проверить в реалии на модуле быстрее, чем даже писать вам ответ.
Надо грузить с Backup-ов данные для IDA по ROM ESP8266, да ставить старую версию IDA...
Можете проделать это сами - исходные данные с Backup-а Bios_ESP8266EX_IDA6.6.rar
 
Последнее редактирование:

nikolz

Well-known member
Я уже точно не помню. Прошли годы как это делалось... Проверить в реалии на модуле быстрее, чем даже писать вам ответ.
Надо грузить с Backup-ов данные для IDA по ROM ESP8266...
Недавно, когда я пытался использовать Ваш RapidLoader, вы об этом мне написали. На вопрос как это сделать, Вы ответили, что надо выпаять чип флеш и записать ноль в число секторов. Возможно это была шутка, но каких либо реальных рекомендаций от вас я не нашел ни на форуме ни в readme.
Поэтому спросил.
-------------------------------------------------------
Еще вопрос.
По Вашей рекомендации посмотрел Ваш tect SDKnoWIFI.
Но не нашел решения для установки sleep с прерыванием из вне.
Кроме того, средний ток потребления не снижается, хотя временами он и составляет 6 ма, но после этого подскакивает до 20 и выше.
Вот картинка. Можете пояснить повышение тока до 20 ма.
Спасибо
upload_2017-12-28_20-28-47.png
 

pvvx

Активный участник сообщества
Недавно, когда я пытался использовать Ваш RapidLoader, вы об этом мне написали. На вопрос как это сделать, Вы ответили, что надо выпаять чип флеш и записать ноль в число секторов. Возможно это была шутка, но каких либо реальных рекомендаций от вас я не нашел ни на форуме ни в readme.
В GitHub - pvvx/SDKnoWiFi: ESP8266 Open SDK without WiFi (startup < 30 ms to complete the flash cache) лежит самая старая версия, а новую на git я не выкладывал. Тесты к ней, представленные на картинке по вложенному примеру так-же из первого варианта, в лежащих сейчас есть изменения, но они минимальны. По этому и картинку
SDKnoWiFi/Power_SdkNoWiFi.gif at master · pvvx/SDKnoWiFi · GitHub
не менял.
Новую версию давал кому-то через YandexDisk... т.к. этим никто не интересовался, кроме одного участника конкурса hackaday.com на самый короткий код...
Описания занимают большую часть времени, особенно для несведущих - быстрее сделать, чем описывать. И народу это всё нафиг не нужно, по тому комментарии только по требованию + если есть смысл. Лучше заняться чем-то новым, чем жувать ненужное большинству.
Еще вопрос.
По Вашей рекомендации посмотрел Ваш tect SDKnoWIFI.
Но не нашел решения для установки sleep с прерыванием из вне.
Кроме того, средний ток потребления не снижается, хотя временами он и составляет 6 ма, но после этого подскакивает до 20 и выше.
Вот картинка. Можете пояснить повышение тока до 20 ма.
Используется ets_enter_sleep() из ROM.
В ней и устанавливается gpio_pin_wakeup_enable() в зависимости от текущего состояния на GPIO2, на его изменение:
Код:
ROM:400028B1                     call0    gpio_input_get
ROM:400028B4                     bbsi     a2, 2, loc_400028C6
ROM:400028B7                     movi     a2, 2
ROM:400028BA                     movi     a3, 5
ROM:400028BD                     call0    gpio_pin_wakeup_enable
ROM:400028C0                     j        loc_400028CF
ROM:400028C0     ; ---------------------------------------------------------------------------
ROM:400028C3                     .byte    0
ROM:400028C4                     .byte    0
ROM:400028C5                     .byte    0
ROM:400028C6     ; ---------------------------------------------------------------------------
ROM:400028C6
ROM:400028C6     loc_400028C6:                           ; CODE XREF: ROM:400028B4j
ROM:400028C6                     movi     a2, 2
ROM:400028C9                     movi     a3, 4
ROM:400028CC                     call0    gpio_pin_wakeup_enable
Всё это найдете в кинутом выше bios.idb для IDA6.6...
 
Последнее редактирование:

nikolz

Well-known member
В GitHub - pvvx/SDKnoWiFi: ESP8266 Open SDK without WiFi (startup < 30 ms to complete the flash cache) лежит самая старая версия, а новую на git я не выкладывал. Тесты к ней, представленные на картинке по вложенному примеру так-же из первого варианта, в лежащих сейчас есть изменения, но они минимальны. По этому и картинку
SDKnoWiFi/Power_SdkNoWiFi.gif at master · pvvx/SDKnoWiFi · GitHub
не менял.
Новую версию давал кому-то через YandexDisk... т.к. этим никто не интересовался, кроме одного участника конкурса на самый короткий код...
Без обид, но
подводя итоги можно сказать, что работающим является свалка. Да и тоже под вопросом. Верно?
-------------------------------
Вы все меня упрекали, что я не выкладываю кода.
Ну Вы выложили ... а смысл какой?
Никому не нужно, потому что бесполезно.
--------------------------
ну разве что Вас больше облаяли чем меня.
И ради этого Вы пахали на галерах?
 

pvvx

Активный участник сообщества
Без обид, но
подводя итоги можно сказать, что работающим является свалка. Да и тоже под вопросом. Верно?
Нет - всё неверно. Web-свалка закончила своё существование из-за заключения о том, что ничего рабочего на ESP8266 не построить. Причина - глючный сам чип и политика Espressif, да их тысячи багов, с которыми просто нет времени возиться.
Вы все меня упрекали, что я не выкладываю кода.
Ну Вы выложили ... а смысл какой?
На его основе и с помощью разведанных путей теперь существует Arduino и многие другие игрульки.
И ради этого Вы пахали на галерах?
Я не пахал. Не применяйте моё к себе :p У меня есть хобби, время и средства на это. У вас нет ничего, кроме работы на хлеб и воду. Вот и пашите :p

Вам уже десяток раз объяснял, что любого чипа существует короткий срок его актуальности.

Кому нафиг нужны описания DOS для XT и ковыряния в них ныне? Когда оно строилось, то актуальность была, т.к. оно вносило итоги в развитие. Теперь это может быть нужно только для антиквариатов… Вы антиквар или пишите историю? :)
Ну тогда так и запишите - на пустом данном сайте, при его образовании, пришлось развить тематику ESP8266 как доступного WiFi-SoC в российской аудитории... В то время никто ещё не знал, что Espressif будет повернута попой к пользователям их продукции и им решили помочь в развитии... Спустя годы nikolz вздумал переписать всё заново. :) :) :)
 
Последнее редактирование:

nikolz

Well-known member
Нет - всё неверно. Web-свалка закончила своё существование из-за заключения о том, что ничего рабочего на ESP8266 не построить. Причина - глючный сам чип и политика Espressif, да их тысячи багов, с которыми просто нет времени возиться.
На его основе и с помощью разведанных путей теперь существует Arduino и многие другие игрульки.
Я не пахал. Не применяйте моё к себе :p У меня есть хобби, время и средства на это. У вас нет ничего, кроме работы на хлеб и воду. Вот и пашите :p

Вам уже десяток раз объяснял, что любого чипа существует короткий срок его актуальности.

Кому нафиг нужны описания DOS для XT и ковыряния в них ныне? Когда оно строилось, то актуальность была, т.к. оно вносило итоги в развитие. Теперь это может быть нужно только для антиквариатов… Вы антиквар или пишите историю? :)
Недавно, когда я попытался выложить результаты переделки загрузчика для работы с датчиками, Вы со свойственным Вам апломбом заявили, два года назад (вы как всегда преувеличили и сказали три) Вы все уже сделали.
Сейчас же Вы сами признали что ничего конкретного не сделали так как все что выложили это г....
Я не буду подобно Вам перечислять что у меня есть а чего нет у вас.
Но Вы сами лишний раз подтвердили, что для вас главное это самолюбование.
поэтому я продолжу свои исследования ESP.
У меня уже сейчас в отличии от вашего решения с током до 25 ма, рабочий ток не выше 12 ма.
А судя по последним вашим сообщениям для вас уже и RTL г....
А мне интересно решать подобные задачки в свободное время.
 

pvvx

Активный участник сообщества
Недавно, когда я попытался выложить результаты переделки загрузчика для работы с датчиками, Вы со свойственным Вам апломбом заявили, два года назад (вы как всегда преувеличили и сказали три) Вы все уже сделали.
Сейчас же Вы сами признали что ничего конкретного не сделали так как все что выложили это г....
Я не буду подобно Вам перечислять что у меня есть а чего нет у вас.
Но Вы сами лишний раз подтвердили, что для вас главное это самолюбование.
поэтому я продолжу свои исследования ESP.
У меня уже сейчас в отличии от вашего решения с током до 25 ма, рабочий ток не выше 12 ма.
На картинке 23 Aug 2015 ток 5 мА на модуле ESP-01 со светодиодом и указанным в ней стабилизатором (5V -> 3.3V).
А то, что вы измерять не умеете, уже доказали много раз.
В отличии от ваших песен у меня есть исходники, где есть все доказательства :p
Лечить ваши неумения пользоваться выложенными файлами, исходниками, программами не моя забота. Вы и сейчас поете песни, когда вам дан дизасм, в котором без проблем найти описанное мной ранее. Но вы пользоваться этим не умеете и читать asm так-же. Дык зачем это всё вам, если без этого не решить ваши задачи?
Сократить потребление можно многими способами. У вас их всего те, что я вам описал. Но есть ещё дцать вариантов которые можно использовать в зависимости от основной задачи. Примеров вы не даете. Обмена информацией с другими не ведете. По этому ваши текущие "достижения" никого не интересуют.

Вот вам ещё пример для понижения уровня потребления и передачи информации на уже полу-готовом и отработанном ранее.
В web-свалке есть такое: прием последних probe_request и отображение их в виде pr_request.xml.
Просыпающий модуль передает всего одно сообщение "prоbe request" с наборным номером mac на канале работающего базового модуля с web-свалкой. Базовый модуль опрашивает сторонний сервер или дописываете web-свалку, получая данные от просыпавшихся модулей, к примеру по первым 2-м цифрам mac, а остальные 4-ре - есть значение их датчиков. Ничего не стандартного в WiFi при этом не применяется.
Снимок49.gif
По поводу понижения потребления - возьмите в исходниках web-свалки настройку PLL для CPU и поставьте ему минимальную частоту. Уж потребление при вялой активности явно будет меньше всех ваших ухищрений...
Кароче с вами не интересно - ничего нового за всю историю вы не предложили, а тем более не реализовали, а только ползаете со своими: "Еще вопрос." "Спасибо" :)
 
Последнее редактирование:

valerivp

New member
pvvx, подскажите, можно ли увеличить число сетевых соединений на EPS8266? До 10 например.
При использовании библиотек Ардуино. Может достаточно где-нибудь в исходниках 5 на 10 исправить.
В проекте веб интерфейс состоит из полутора десятков файлов, а браузер грузит их параллельно. И подвисает :(
 

pvvx

Активный участник сообщества
какой памяти мало? половина ресурсов свободно
Открытый сокет в Arduino может вызывать переполнение стека, а при работе с espconn ресурсы на буфера затрачиваются в 3-х кратном размере.
Web свалка позволяет держать десятки одновременно открытых соединений на тесте https://esp8266.ru/forum/threads/web-svalka-na-rtl871x.2403/page-2#post-36109 (И web-свалка не адаптирована на "телепузиков").
Но не другие, тем более Arduino. У них предел в 4-ре одновременно открытых TCP, что меньше стандартного запроса браузера в от 5-ти потоков. Вы же не будете переписывать всё в Arduino, начиная с общей концепции.... сделать удобнее программирование для человека, немного знающего только азы C++ и привыкшего к решению последовательно всех задач с несколькими параметрами на входе и одним на выходе, а не оптимальное для аппаратной части.
В espconn статические буфера для описателей 4-х соединений. Больше - низя. И минимальное более 2-х кратное копирование принятых и отправляемых данных :)
В Espressif вообще не рассчитывали, что WiFi-SoC с памятью в сотни кБ потянут какие-то соединения, кроме одного потока до пару килобайт в сек.
Web свалка отрабатывает запросы по событиям, используя почти всю RAM (иногда) на ответ в один запрос. Т.е. на каждый поток, только по событию его обработки, кратковременно используется "много RAM", чего полностью лишена концепция Arduino.
Данное направление на сегодня не актуально на современных WiFi-SoC с пару мег. полнофункциональной RAM, а не psRAM без DMA и другими ограничениями. Но этого не достиг и ESP-32. Кроме RTL8711AM и RTL8195 (если смотреть из дешевого барахла и RTOS).
Развитие Arduino и идет по другому пути - стороннее приложение, а не сервер на модуле. Т.е. тупиковая ветвь, с учетом развития электроники и ИИ в области оптимизации ПО.
Arduino вымрет как динозавры и останется уделом некромансеров и антикваров :) Оно и сейчас уже перешло в данный раздел истории. Об этом свидетельствует масса факторов и задействованных лиц.
 
Последнее редактирование:
Сверху Снизу