"Кастомные" бутлоадеры
- Войдите на сайт для отправки комментариев
Ср, 31/07/2019 - 15:26
Ребят, подскажите бутлоадеры с фичами которых нет в официальном и оптибуте
Ребят, подскажите бутлоадеры с фичами которых нет в официальном и оптибуте
У обоих исходник входит в состав ИДЕ. Пиши хоть с блэкджеком и "пианистками".
Сначала Вы скажите, какие фичи хотите найти.
...в официальном и оптибуте
Оптибут является официальным для платы Уно с ее рождения, если не ошибаюсь. И не так давно стал официальным для других плат на базе atmega328.
Например "переключение" между несколькими программами
Как в виндовс?
Или надо grub тудыть портировать?
Или надо grub тудыть портировать?
Почти что. Если на ножке 0 - грузим первую программу, 1 - вторую
Например "переключение" между несколькими программами
Такой загрузчик Вы точно не найдете. Они не для этого.
Если на ножке 0 - грузим первую программу, 1 - вторую
А почему бы не разрулить это в рамках одной программы?
Почти что. Если на ножке 0 - грузим первую программу, 1 - вторую
Это как? Программы ФИЗИЧЕСКИ разнесены во Flash-е и у них (у первой и у второй) различные адреса для старта? Или как-то по другому?
PS: Теоретически это возможно и на уровне одной (целой) программы, что писали выше. Возможно и по разным адресам запуска, возможно даже из бутлоадера путём добавления "своих собственных" команд в бутлоадер. И, совсем совсем невозможное --- можно даже сам бутлоадер переписать самим бутлоадером. Отт как )))
Или надо grub тудыть портировать?
Почти что. Если на ножке 0 - грузим первую программу, 1 - вторую
Правильно указано выше, что если есть доступ к исходному коду, то в 100500 раз проще написать суммарную программу с выбором при старте.
АВР контроллер имеет только две таблицы векторов прерываний, одна для бутлоадера и одна для работающего кода. Поэтому нельзя сразу разместить две рабочие прошивки.
НО!!! Можно разместить две-три-четыре... маленькие прошивки (сколько влезет) и, при старте бутлоадера, переписывать в зону исполнения нужную прошивку. По времени это единицы миллисекунд. Но все равно каждую прошивку нужно компилировать с учетом меньшей доступной памяти, то есть все равно нужен доступ к исходному... хотя бы объектному... коду.
Только совершенно непонятно - за каким хреном такое надо? Написать-то можно - заказывай в "Ищу исполнителя", если никто другой не возмется - может и я напишу.
АВР контроллер имеет только две таблицы векторов прерываний, одна для бутлоадера и одна для работающего кода. Поэтому нельзя сразу разместить две рабочие прошивки.
Можно. Парсер в векторах запросто решает эту задачу.
РаздЭзЪ чонить коммерческое и шибко-сильно дорогое из проектов - увидишь МНОГО интересного!!!
Например "переключение" между несколькими программами
На таком принципе строилась защита AVR проектов... Сначала заливаем одну часть прошивки, генерим сессионный ключ и прошиваем вторую часть, и там "чтото-секретное" и сами себя ещё раз прошиваем уже внутри кристалла ----- и вот вам новая программа во flash. Кстати, весьма эффективная была для AVR защита, пока STM не ввёл серийник на каждый проц ))) AVR теперь "курит" )))))))))))))))))))))