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

Компиляция с SDK 2.0

kript0n

New member
Захотел я, значит, попробовать новый sdk. Не совсем понял, как же скомпилировать проект.

Как собрать примеры, не совсем ясно. Простой вызов make не дает ничего, но там и видно, если посмотреть, что внутри makefile'a. Вызовом ./gen_misc.sh вроде бы оно собирается, только нужный бинарник так и не нашел.

Пробуем собрать со старым makefile'ом, только пути к новому sdk указал. В нем подключалась библиотека libmain из sdk, с которой компилироваться проект отказался: ругается на повторное объявление user_rf_cal_sector_set(void). С отключенной библиотекой - теряются другие определения. Скомпилировалось только без user_rf_cal_sector_set(void) и user_rf_pre_init(void).

Что же, пробуем прошить, и esp уходит в вечный ребут. Интересно, что до этого на ней был micropython, и появлялась, созданная им сеть. Тут я по глупости решил стереть флеш полностью, мало ли micropython во всем виноват. Стер. Больше не шьется, кидает ошибку
Код:
Writing 0 @ 0x10000...
A fatal error occurred: Expected digest, got: 00000000
Как я понимаю, затерся бутлоадер?

Так вот, кто-нибудь в курсе, как зашить бутлоадер, ну если проблема в нем, конечно. Просто насколько я знаю, его нельзя стереть. Они есть в папке с sdk, зашивал оба (1.2 и 1.6) по адресу 0x0000, но ничего не изменилось, все та же ошибка во время загрузки прошивки.

И как же все-таки собрать проект, используя sdk 2.0? Может есть готовый makefile? Зачем нужен gen_misc.sh? Еще попадалось на глаза, что должен быть залит хотя бы один раз некий (калибровочный?) файл. Поскольку раньше стоял micropython, использующий как раз sdk 2.0, то это было сделано за меня, я так понимаю. После того как все стерлось, видимо, нужно делать это заново. Хотя я вообще плохо понимаю процесс работы с новым sdk, поэтому может быть я и неправ.

UPDATE
С бутлоадером это бред, конечно. Micropython нормально прошился. Что же я делаю не так?

UPDATE
Кажется немного разобрался. bootxxx.bin что в папке с sdk никакого отношения не имеют, они нужны для беспроводной прошивки есп. У меня 4МБ есп, значит, насколько я понял, мне нужно записать esp_default_init_data.bin по адресу 0x3fc000(1020 сектор). Перед этим я полностью стер память, значит blank.bin писать никуда не нужно. После этого заливаю простую прошивку, которая только инициализирует uart и шлет hello world. ЕСП падает с fatal exception(29).
 
Последнее редактирование:
Сверху Снизу