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

Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить
Открыл глаза
Сообщения: 73
Зарегистрирован: Пт апр 08, 2016 10:09:03

Сообщение spikepavel »

Доброго дня всем.
Хотел узнать, может знает кто, как можно загрузить в ESP32 несколько разных прошивок, а затем при включении как то выбирать какая будет загружена. Что-то типа загрузчика.
Все прошивки это один и тот же код, только с различной конфигурацией на старте. Хранятся они на флеше, то есть инициализируются при подаче питания. По факту я так хочу видео библиотеку запускать с разным разрешением на старте. Просто если делать выбор непосредственно в setup(), то код соберется, но памяти оперативной для допустим 2 экземпляров не хватит, по этому и ищу способ как то вывернуться из ситуации.
Реклама
Поставщик валерьянки для Кота
Сообщения: 1922
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

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

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

#if – условная компиляция
https://alexgyver.ru/lessons/preprocessor/
Контактная информация:
Реклама
Открыл глаза
Сообщения: 73
Зарегистрирован: Пт апр 08, 2016 10:09:03

Сообщение spikepavel »

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

Сообщение BOB51 »

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

Вернуться в «Arduino»