You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[dev-platform][esp-idf] добавить в contrib esp-idf@5.4
**DONE:**
Добавляем новую версию фреймворка `esp-idf@5.4`, которая будет лежать в аркадии параллельно `esp-idf@4.4`.
Версию `esp-idf@4.4` мы оставляем, так как у нас есть проекты — [unicorn](HIDDEN_URL и [phoenix](HIDDEN_URL — находящиеся по сути в замороженном состоянии (редкие фиксы не в счет), и переводить их на новую версию нецелесообразно.
Для того, чтобы сохранить возможность сборки проектов как на старой версии, так и на новой, мы модифицировали макросы `ESP_LIBRARY` и `ESP_PROGRAM`, позволяя передавать в них нужную версию фреймворка в формате:
```
ESP_PROGRAM(hello ESP_IDF_VERSION 5.4)
```
Если версия не указана, то по умолчанию используется предыдущая версия фреймворка, которая лежит по пути `contrib/libs/esp-idf`
Новую версию фреймворка мы кладем в папку `smart_devices/third_party/espressif/esp-idf/5.4`.
Все вспомогательные компоненты, тулзы, прочее кладем в папку `smart_devices/third_party/espressif/esp-idf-aux/5.4`.
Файл, который описывает механизм импорта `esp-idf@5.4`, кладем в `.yandex_meta`папку в корневой папке фреймворка.
**TODO:**
- из-за [отсутствия поддержки](HIDDEN_URL `curses` временно выключили утилиту `menuconfig` в пакете `esp-idf-kconfig`.
- файл `sections.ld.in`, который должен сначала препроцесситься С-компилятором, заранее пропущен через препроцессор C-компилятора и положен вручную: следующим шагом добавим автоматический препроцессинг
- файл `esp-idf/ya.make`требует ревизии RECURSE-секции с точки зрения выноса оттуда всех папок, кроме `5.4`.
commit_hash:65314f2d399a75040c4d77b241a04ea860a25347
0 commit comments