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

Альтернативный загрузчик от Richard Antony Burton

CHERTS

Moderator
Команда форума
Собственно серия интересных статей Richard Antony Burton по поводу реверса процесса загрузки ESP и написанный им альтернативный загрузчик rBoot

1. ESP8266 BOOT PROCESS
2. DECOMPILING THE ESP8266 BOOT LOADER V1.3(B3)
3. RBOOT – A NEW BOOT LOADER FOR ESP8266
4. A BOOT LOADER TUTORIAL FOR ESP8266 USING RBOOT
5. A SAMPLE RBOOT PROJECT
6. RBOOT TUTORIAL FOR ESP8266 – OTA UPDATES
7. ESPTOOL2 – A ROM CREATION TOOL FOR ESP8266
8. MEMORY MAP LIMITATION AFFECTING RBOOT

Репозитарий с исходниками
 

pvvx

Активный участник сообщества
Ничего нового.
MEMORY MAP LIMITATION: The problem comes if you try to put an irom section beyond 8 MBit (i.e. from address 0x40300000) – code there won’t be accessible at run time!
:)

Uses 144 bytes of stack space, which cannot then be used by user code.
Ничего не использует loader. Можно поставить перед исполнением завершающей все загрузчики вызовом ets_run() инициализацию стека в 0x40000000. ets_run() всё равно не имеет выхода.
Код:
ROM:40000380     a_BIOS_40000000 .int BIOS_40000000 ; int tab
...
ROM:4000042C     _start:                                 ; CODE XREF: ROM:40000149j
ROM:4000042C                     movi.n          a0, 0
ROM:4000042E                     l32r            a1, a_BIOS_40000000
вот из этой строки https://github.com/raburton/esp8266/blob/master/rboot/rboot.c#L286 никогда возврата не будет. В конце лоадера SDK стоит ets_run().

raburton лоадер работает на 52MHz (тормоз) и не корректирует задержку на QSPI flash (могут не работать китай-flash, устанавливаемые в модули ESP)
Недоработок пока очень много...
 
Последнее редактирование:

CHERTS

Moderator
Команда форума
Недоработок пока очень много...
Нет ничего совершенного в этом мире, может автор исправит это дело, а может нет.
Ссылки на его проект я для информации опубликовал, вдруг кому пригодятся.
 

pvvx

Активный участник сообщества
Нет ничего совершенного в этом мире, может автор исправит это дело
Хорошо-бы. Но перезапись flash каждый запуск и дополнительная задержка старта SDK в более 2 сек - это нехорошо.
В указанном месте, где ets_delay_us(2 000 000), модуль будет потреблять от 100 mA, т.к. в данном моменте RF оборудование уже включено и работает не на правильной частоте + никаких оптимизаций по потреблению у автора не рассматривается...
А пока эти ссылки похожи на блог школьника "как я провел лето" :(
 
Последнее редактирование:
Сверху Снизу