Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить

Несколько прошивок одновременно ESP32.

Чт фев 10, 2022 13:51:39

Доброго дня всем.
Хотел узнать, может знает кто, как можно загрузить в ESP32 несколько разных прошивок, а затем при включении как то выбирать какая будет загружена. Что-то типа загрузчика.
Все прошивки это один и тот же код, только с различной конфигурацией на старте. Хранятся они на флеше, то есть инициализируются при подаче питания. По факту я так хочу видео библиотеку запускать с разным разрешением на старте. Просто если делать выбор непосредственно в setup(), то код соберется, но памяти оперативной для допустим 2 экземпляров не хватит, по этому и ищу способ как то вывернуться из ситуации.

Re: Несколько прошивок одновременно ESP32.

Чт фев 10, 2022 14:51:53

Если сами пишете код и компилируете, условная компиляция не ОК?

Условная компиляция
https://metanit.com/cpp/c/3.4.php

#if – условная компиляция
https://alexgyver.ru/lessons/preprocessor/

Re: Несколько прошивок одновременно ESP32.

Чт фев 10, 2022 17:43:53

Здравствуйте. С условной компиляцией знаком и использую ее в коде, у меня в основном коде несколько сотен конфигов, завязанных на директивах условной компиляции. Но суть в том что надо загрузить 2 программы допустим, по факту как 2 отдельных скетча, и при включении платы или по команде переключать. В основном коде даже уже есть реализация загрузчика, он грузит либо одну, либо другую программу, но они маленькие и памяти им так и так хватает. А тут так не выходит.
Мне хотя бы подсказку куда копать. Я уже ранее на этом форуме спрашивал, и на другом схожем, но там ответы по типу "можно сделать и ценник такой то". Я уже и готов сколько-то денег "отвалить", своим умом додуматься не могу.
Была идея сделать 1 байт по типу peek/poke в самом конце флеш памяти, и в зависимости от его флага делать выбор программы на старте. На словах выглядело красиво, на практике приводило к сбросу программы, основная грузилась, но поменять было нельзя в общем. Есть вариант использовать платы с PSRAM, есть такие, там памяти хватает для всего, но и цена там на пару долларов выше, а учитывая что это для школьного кружка надо много плат на ESP32, то финансово я не потяну закупить под сотню таких плат, а вот обычные ESP32 в финансовом плане лучше.

Re: Несколько прошивок одновременно ESP32.

Чт фев 10, 2022 17:50:25

Изготовьте самодельный загрузчик, позволяющий менять поступающие из внешнего накопителя файлы "на лету".
(концепт одной из программных моделей в КОТУИНКО - фиксированный биос с бутлоадером -> надстройка котиос -> подгружаемый блок).
Откуда файлы подгружать - из ПК или из микроСD то уже не имеет значения.
8)
Ответить