Форум
 

Вернуться   Форум "Фрикер Клуб" - кодграббер своими руками > Основной раздел > Микроконтроллеры

Важная информация

Ответ
 
Опции темы Опции просмотра
Старый 29.04.2011, 14:09   #1
lion Меню Пользователя
Автор
 
Аватар для lion
 
Регистрация: 14.03.2011
Сообщений: 68
По умолчанию Bootloader AVR

есть идея использовать bootloader в некоторых изделиях чтобы защитить их от несанкционированного использования....
смысл в следующем: при обычном старте запускается программа не содержащая некоторых частей, запустить же полную версию можно зажав какую либо кнопку при включении...
хотелось бы узнать мнение общественности......стоит заморачиваться?
lion вне форума   Ответить с цитированием
Старый 29.04.2011, 14:34   #2
leg@ Меню Пользователя
Banned
 
Регистрация: 29.04.2011
Сообщений: 15
По умолчанию

Смысл понял, нужен демограб. Если памяти дохера то можно сделать простое ветвление.

Последний раз редактировалось leg@; 29.04.2011 в 14:39.
leg@ вне форума   Ответить с цитированием
Старый 29.04.2011, 14:37   #3
exchange Меню Пользователя
Администратор
 
Аватар для exchange
 
Регистрация: 01.01.2011
Сообщений: 282
По умолчанию

бутлоадер для дистанционной прошивки, самостирания и т.п. полезен. для скрытия функций лучше как лега говорит делать
__________________
НЕ ОТСТУПАЙ! НЕ СДАВАЙСЯ!
Не позволяй себе быть слабым - никогда!
Иди в отмах - сопротивляйся!
Гляди на мир в прицел - и нападай!
exchange вне форума   Ответить с цитированием
Старый 29.04.2011, 14:46   #4
lion Меню Пользователя
Автор
 
Аватар для lion
 
Регистрация: 14.03.2011
Сообщений: 68
По умолчанию

Цитата:
Сообщение от leg@
Смысл понял, нужен демограб. Если памяти дохера то можно сделать простое ветвление.

если возникнет ситуация когда нужно стереть память?
lion вне форума   Ответить с цитированием
Старый 29.04.2011, 14:55   #5
leg@ Меню Пользователя
Banned
 
Регистрация: 29.04.2011
Сообщений: 15
По умолчанию

Если обрисовать подробней че есть и че надо?
leg@ вне форума   Ответить с цитированием
Старый 29.04.2011, 14:57   #6
lion Меню Пользователя
Автор
 
Аватар для lion
 
Регистрация: 14.03.2011
Сообщений: 68
По умолчанию

Цитата:
Сообщение от leg@
Если обрисовать подробней че есть и че надо?

есть конструкция,типа 3 в 1 Олега
требуется иметь возможность прятать некоторые пункты меню,а в крайнем случае иметь возможность полностью стереть содержимое памяти....
lion вне форума   Ответить с цитированием
Старый 29.04.2011, 15:15   #7
leg@ Меню Пользователя
Banned
 
Регистрация: 29.04.2011
Сообщений: 15
По умолчанию

Стирать так понял надо быстро и без клацаний по меню. Тут вроде просто, делаем прерывание на кнопку и запускаем таймер, если клацаем 3 раза подрят то хз как там с софтом но яб затер мануфактурники из еепром или важную часть флеша.
А спрятать меню так епт, этож меню а не брелок с 2мя кнопками. Придумай меню меню.
leg@ вне форума   Ответить с цитированием
Старый 31.07.2017, 12:55   #8
EPA Меню Пользователя
Супер Модератор
 
Аватар для EPA
 
Регистрация: 01.11.2016
Сообщений: 1,182
По умолчанию Re: Bootloader AVR

Здравствуйте, друзья!
Чтобы не открывать новый топик под одноименным названием Bootloader AVR. + что это такое и с чем его едят? Решил «закинуть» в данную тему ( думаю за давностью темы, никого интересы не затрону).
Смысл, который я хочу донести, необходим начинающим программистам микроконтроллеров:
На повестке дня следующий вопрос: Что такое Bootloader и зачем он нужен с практической стороны?
Прежде всего, это нужно Ардуинщикам, которые решили, наконец то более углубленно изучить AVR, а не заниматься бездумно плагиатом СКЕТЧЕЙ, и в случае ЗАСАДЫ материть Итальянских, Китайских и родных разработчиков, а так же производителей AVR. Поверьте, мы не умнее их.
Что же это такое бут(Bootloader ) и с чем его едят?
BootLoader это всего лишь небольшая программулина, которая “живет” в специальной области памяти микроконтроллера и слушает какой-либо интерфейс. Обычно это USART, кстати, Дуина работает в основном через USART. Есть также SPI бутлоадеры.
При загрузке контроллера управление первым делом передается бутлоадеру и он проверяет есть ли условие для запуска. Условие может быть любым, но обычно это либо наличие специального байта по интерфейсу USART, либо наличие нужного логического уровня на выбранной ножке контроллера, сигнализирующее о том, что мы хотим обратиться к буту прошивке. Если условие есть — то бутлоадер может, например, принять прошивку по USART‘у и сам прошить ее во флеш (память, где будет прописан наш исходный код). Или, наоборот, считать прошивку из флеша и выдать через USART, считать или записать EEPROM, подрыгать ножками. Но обычно, все же с помощью бута осуществляют прошивку микроконтроллера без применения спец программатора. (это первый плюс, он мля деньги стоит).
Если разрешающего условия при старте нет, то бут завершает свою работу и передает управление основной программе: main() или loop()
Недостатки:
Недостатков два:
1) «жрёт» часть флеш-памяти ( ~2Kбайта, допустим Attiny2313-всего лишь 2 кило вся память, но некоторые умельцы в эту память запихивают код для анализа Стара и Килока).
2) стартует первый и если не позаботиться о грамотном алгоритме входа в бут, то МК может сделать это самопроизвольно, записав в себя Армагеддон. (Чего и боятся начинающие Ардуинщики)
ТОГДА зачем он нужен, в натуре-в камендатуре?
АА! ООО!, зачем эти сложности? Зачем тратить и без того малое количество флеш-памяти на какую то вспомогательную программульку? А бывает иначе и нельзя! Представим такой случай-звездючий, стоит у нас устройство где-нибудь на чердаке и ещё девайсы поставлены в коммерческое русло? А связь у нас с девайсом по USART или блютуз или wi-fi. И надо сделать апгрэйд девайсов (прошить девайс свежей версией прошивки, типа убрали некоторые косяки, о которых раньше и не догадывались). Что-то у меня лично, нет желания лезть на крышу и тыкать в каждый из девайсов программатор… и я, блина-малина, не альпинист. А так, дал приказ удаленно буту «всосать» новый апгрэйд и УСЁ!
Для особо «дотошных»: откуда бут берется в микроконтроллере?
Многие современные МК уже изначально, с завода, идут с прошитым bootloader, ОДНАКО!
EPA вне форума   Ответить с цитированием
Старый 31.07.2017, 16:03   #9
Paul74s Меню Пользователя
Резидент клуба
 
Аватар для Paul74s
 
Регистрация: 16.11.2012
Сообщений: 589
По умолчанию Re: Bootloader AVR

Поддержу тему.
Bootloader вещь очень полезная, но он должен выполнять либо только функцию обновления ПО, либо выполнять функции многоцелевого устройства, в котором также можно заложить функцию тотального самоуничтожения включая и сам бут.
В первом случае это можно сделать и дома на ПК с помощью программатора без всяких бутлодеров, другое дело если девайс стоит в труднодоступном месте и провести можно только 2-3 проводка, или использовать только радиоканал.
Во втором случае железо должно быть универсальным с возможностью подключения различных устройств, например: китайский приёмник-передатчик, шерханоский или иной лобовик-модуль, СС..., SI..., NRF24, CAN и прочее железо, а для этого также оперативно нужно менять прошивки АВРа.
При использовании бутлодера есть ограничения:
- бутлоадер можно залить только в чипы с объемом флеша от 8КБ, т.к. чипы меньшего размера не имеют команд самозаписи-стирания (в тини2313 бут не зальеш, но саму тини2313 можно использовать для прошивки другого МК)
- программы для заливки в МК нужно где-то хранить:
-- если проги заливать через УАРТ, то тогда без ПК/ноута не обойтись и тогда зачем нужен бут?
-- если хранить проги в ЕЕПРОМ-микросхемах, то нужна их целая "поляна", которую нужно "засаживать" программами - а оно нам надо.
-- самое лучшее хранить проги в SD-карте, но здесь тоже нужно чём-то жертвовать:
1. Если ипользовать файловую систему карты - то нам понадобиться МК от 128КБ или два разных МК: один МК от 16КБ, который будет бутлоадером, и ещё один МК в который будет заливаться прога, да хоть Тини4 (512 байт флеша).
2. Использовать SD-карту как внешную SPI-память размером 16МБ...2ГБ, а доступ к карте осуществлять на самом низком уровне (2 процедуры чтения-записи), тогда можно уместить бут в 2-4 КБ флеша, а остатки флеша начиная от 6КБ использовать по назначению.

Из вышесказанного вытекает вывод, что бут должен быть сделан только для конкретных целей и задач.

З.Ы. Если у форумчан есть интерес к "многоцелевому" бутлоадеру могу предложить свою версию для меги328 с СД-картой и экраном Нокия-1202, которую легко будет переделать под ваши МК и экраны или вообще без них
Paul74s вне форума   Ответить с цитированием
Старый 31.07.2017, 17:53   #10
Paul74s Меню Пользователя
Резидент клуба
 
Аватар для Paul74s
 
Регистрация: 16.11.2012
Сообщений: 589
По умолчанию Re: Bootloader AVR

Бутлоадер от этого не подорожает, а вот в образование надо вкладываться и нехило, и его (образование) деньгами не измерить
Paul74s вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 21:52. Часовой пояс GMT +3.


vBulletin 4.1.0 Перевод: zCarot
(C) www.phreakerclub.com
Яндекс.Метрика