Автор Тема: БУТЛОУДЕР, ДЕМО и ПРОШИВКА - чем одно отличается от другого  (Прочитано 4681 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Медведь

  • .
  • *
  • Сообщений: 1228
В личку состаялась вот такая переписка:
Цитировать
Спаял я Спектрум. Индикатора пока нет, карту не подключал.
Попобовал залить boot. Понипрог написал что все "ОК".
Пищит зараза нестерпимо. Пробую считать Понипрогом - получается не то что в "боот" - исходнике, абадабра какая-то.
С USB не хочет дружить.
Мож для того чтобы это все зафурычило надо карту подпаять? Индикатор как я понимаю "обатной связи" с Атмегой не имеет.
Ответил так:
Цитировать
Бут - это не прошивка
Бут - это программа, заливаемая в МЕГУ, позваляющая активировать мегу
И только потом, когда мега будет признана АКТИВНОЙ, - эта программа в МЕГЕ позволит залить в себя ПРОШИВУ
До того как зальёшь прошиву - НИЧЕГО на экране - НЕ УВИДИШЬ!
Вот уж не знаю проверяет мега наличие дисплея или нет - СКОРЕЕ ВСЕГО НЕТ!
Точно можно получить ответ у СЛАВОНА

Далее, ты устанавливал ФУЗЫ?
Фузы - "предохранители" - они ставятся для того, чтоб было невозможно считать и скопировать прошиву или активный бут с меги
По этому надеяться, что залитый бут будет совпадать со считанным - глупо
Не поставишь фузы - толку не будет - мега не активируется, не получишь код
Поставишь - считываемое - будет автоматом изменяться и несовпадать с заливаемым

Для проверки железа существует ДЕМО прошивка, которую СЛАВОН любезно предоставил здесь
Т.е. заливаешь ДЕМО прошивку (поставив фузы как указано в том посте) прибор пустится, будет работать всё кроме ЛОКА карты
Т.е. уровень, независимо от его наличия - на ДЕМО будет всегда НОЛЬ
Остальное будет работать как на обычном приборе
Т.е. если мега не ругается на отсутствие взаимодействия с картой, если на дисплее есть стандартная картинка - прибор собран правильно
В него можно заливать бут, активировать его (проплатив Славону за активацию), залить рабочую прошиву и наслаждаться прибором

Далее, обычно при залитом буте (даже на отключенном дисплее) и при подачи напряжения 12V на плату прибора - ни чего не происходит - ни какого писка
Писк как сирена появляется при подключении USB и одновременном нажатии кнопки ОК
Вернее сказать - сначало нажать кнопку ОК и только потом подсоединить USB
Включать (пытаться включить прибор кнопкой включения) прибор при этом не нужно!

До активации меги - ни какого обмена информацией с картой - нет!
Ибо и сама прошивка ещё не залита - МЕГА "не знает", что карта в приборе существует
Вернее мега "не знает" - что она есть прибор....
"Узнает" она об этом только после активации и заливки рабочей прошивы
Т.е. при залитом БУТе меге фиолетово - есть карта или нет и смысла её подключать - нет ни какого

Я-бы посоветовал - дождаться дисплея, залить ДЕМО прошиву, подсоединить карту, проверить работоспособность прибора в целом, и только потом лить бут

Пытаться залить обновление или активировать или ещё что ни будь на ДЕМО прошивке - даже не пытайся - ни к чему путнему это не приведёт - СЛАВОН все предусмотрел
СОВА! Открывай! Медведь пришёл...

Медведь

  • .
  • *
  • Сообщений: 1228
(Нет темы)
« Ответ #1 : 25 Ноябрь 2010, 19:01:47 »
Давайте разберёмся
ДЕМО
ДЕМО, как я понимаю, - это прошивка, заливаемая в ATmegу посредством PonyProg, или другой программы
ДЕМО - предназначена, для проверки правильности собранного железа (платы прибора, дисплея, взаимодействия с картой)
ДЕМО - работающая прошива, которая просто не показывает уровня сигнала (он всегда равен нулю)
Т.е. в собранный прибор - можно залить ДЕМО, выставив правильно FUSE - программатором (НЕ ЧЕРЕЗ USB!)
ДЕМО - льётся не через USB
Припаиваются 5 проводков на отвтоды ног Меги и прошивается
В результате прибор включается, требует настроек, работает с USB (компьютер видит прибор через USB при установленных на него драйверах)
Если компьютер не видит прибора на залитой ДЕМО - ищите причину, значит и с рабочей прошивой прибор не увидится компьютером
Настройки заливаются на ДЕМО прошивке в прибор через USB и после этого если нет взаимодействия прибора с картой (карта не подсоеденена или подсоеденена - неправильно) - то прибор сообщит об этом
Если карта подсоеденена - то появится меню как и в рабочей прошиве
Есть возможность проверить работоспособность кнопок, подсветки, дисплея, системы включения и выключения
Уровень сигнала - прибор не отобразит

Всё это позволяет проверить ПРАВИЛЬНОСТЬ СБОРКИ ПРИБОРА


ВНИМАНИЕ!
ДЕМО - не обновляется через USB!
ДЕМО прошиву - нельзя автивировать!
ДЕМО - это не boot
При залитой ДЕМО - НЕЛЬЗЯ ПОЛУЧИТЬ КЛЮЧ АКТИВАЦИИ!
Подобные эксперименты - в лучшем случае, не приведут ни к чему
В худшем случае приведут к порче имущества
СОВА! Открывай! Медведь пришёл...

Медведь

  • .
  • *
  • Сообщений: 1228
(Нет темы)
« Ответ #2 : 25 Ноябрь 2010, 19:27:37 »
Далее
Boot-loader
Первое, существуют ДВА Boot-loaderа
У нас два разных прибора и соответственно у нас два разных файла Boot-loader
Для Primuss3-spectrum
Для Primuss3-168
Для каждого из приборов - СВОЙ!
Путать их нельзя!
Так=же нельзя путать FUSE!
FUSE - для Primuss3-spectrum - свои, для Primuss3-168 - свои, для ДЕМО - свои, в том и другом приборах!

Так-же ВНИМАНИЕ!
Активация и получение ID номера делается посредством программы Loader
Так вот для каждого из приборов программа Loader - своя!
Программы - абсолютно разные!
И получить ID в противоположной программе - можно, а вот активировать - не получится!
Кто собирал сначало один прибор, потом другой - обратите внимание!

Прграмма для заливки настроек в прибор - ОДНА на все приборы
А вот для активации - КАЖДАЯ ДЛЯ СВОЕГО ПРИБОРА!
СОВА! Открывай! Медведь пришёл...

Медведь

  • .
  • *
  • Сообщений: 1228
(Нет темы)
« Ответ #3 : 25 Ноябрь 2010, 19:51:47 »
Boot-loader - это не прошива
С Boot-loader - прибор не видит ни карты, ни дисплея
Boot-loader - обеспечивает возможность взаимодействия прибора с компьютером посредством программы Primuss3-168_Loader или Primuss3-s_Loader в зависимости от версии прибора
Boot-loader - позволяет сгенирировать ID номер для меги, произвести активацию, подготовить прибор к заливке РАБОЧЕЙ ПРОШИВКИ через USB
Для активации и вообще работе программы с залитым Boot-loader - не нужно не питание прибора (питание мега получает через USB) - не нужно пытаться до заливки РАБОЧЕЙ ПРОШИВКИ - включать прибор
Для активации прибору не нужна ни карта, ни питание (12V), ни дисплей
Да собственно используется только линия питания от USB и линии передачи информации (стабилитроны 3,6V и резисторы) - ВСЁ!
Можно припаять мегу, подсоединить программатор, залить Boot-loader, припаять разъём USB, кнопку ОК или # резисторы и стабилитроны - и пожалуйста активируй и шей мегу - этого для активации и прошивки - ДОСТАТОЧНО!
Другое дело - дальнейшая работа с прибором - без остального - НЕ ВОЗМОЖНА

Для чего так сделано?
Да просто - активировав мегу один раз вы как и с виндой имеете возможность заходить и скачивать обновлённые версии прошив
Активна мега посредством Boot-loaderа - заходи, бери, заливай
Нет - ну... про НЕТ мы дальше сами всё знаем....
СОВА! Открывай! Медведь пришёл...

Медведь

  • .
  • *
  • Сообщений: 1228
(Нет темы)
« Ответ #4 : 25 Ноябрь 2010, 20:15:51 »
Забыл  :-)
И на старуху бывает проруха....
Ещё нужен бузер!(динамик, пищалка)
По нему можно отслеживать прохождение и правильность прохождения процесса
Но он не НЕОБХОДИМОСТЬ!
Без него можно и прошить и активировать, но вот отследить ПРАВИЛЬНОСТЬ - нет
Кто шил и активировал не раз - знает все звуки и по нему может отследить проблемы в процессе


Хотя...
Я вам расскажу историю
Как-то я целый день морочил голову нашему slav0nу :smu:sche_nie:
Процесс прошивки шёл не в дугу - пищалка пищала необычно - разные прошивки (версии прошивок) приводили к разным непредсказуемым результатам на выходе (на дисплее)
Он, как человек грамотный, - сразу определил (ЗАОЧНО ОПРЕДЕЛИЛ!) - проблема питания 5V
Но откуда ей взяться?
Усё собрано - согласно схемы!
И дополнительная ёмкость в питании - проблемы не решала!
А проблема была в бузере...
Он был с генератором

"С генератором" - это когда подаёшь питание на него - а он сам пищит
Есть просто пищалки - и они сами при подачи напряжения - не пищат "ПЫКНЕТ" и всё - такие нам и нужны!
А есть с встроенным генератором, который даёт частоту - чтоб пищалка - пищала
Их ставить - НЕЛЬЗЯ! - они своей частотой вносят в питание меги - нестабильность питания - и большие проблемы, причём уже после активации и в процессе заливки РАБОЧЕЙ ПРОШИВЫ
Небыло-бы бузера - всё было-бы нормально
А так было потрачено время чужого человека - ВПУСТУЮ потрачено

Так вот прежде чем ставить бузер - проверьте - а не пищит ли он! при подачи напряжения
Если "ПЫКАЕТ" - а не пищит - можно ставить
Если пищит - НЕ СТАВЬТЕ! - будут проблемы  :-)
СОВА! Открывай! Медведь пришёл...

Медведь

  • .
  • *
  • Сообщений: 1228
(Нет темы)
« Ответ #5 : 25 Ноябрь 2010, 21:02:26 »
РАБОЧАЯ ПРОШИВКА (прошивка) - заливается через USB
Это как раз и есть сама прошивка - она требует от прибора быть прибором (наличие всего, от карты до дисплея с батареями) и она его собственно и делает прибором
По прошивке повторяться не буду, достаточно подробно расписал вот тут
Думаю чем отличается одно от другого расписал
Надеюсь понятно...
СОВА! Открывай! Медведь пришёл...

Медведь

  • .
  • *
  • Сообщений: 1228
(Нет темы)
« Ответ #6 : 04 Январь 2011, 08:11:07 »
Немного про BootLoader:
Цитировать
Почти все микроконтроллеры серии Mega с памятью от 8КБ могут прошиваться через бутлоадер. Фишка удобная и применяется довольно часто, однако подробного мануала как работать с бутлоадером на AVR я в свое время не нашел и пришлось разбираться самостоятельно. С той поры мало что изменилось. Пора бы дать подробное описание как выбрать, скомпилировать, прошить и в дальнейшем использовать bootloader для AVR.

Ликбез
Что же это такое бут и с чем его едят. BootLoader это всего лишь небольшая программка которая сидит в специальной области памяти микроконтроллера и слушает какой-либо интерфейс. Обычно это UART, но бывает и SPI, USB и даже SoftUSB бутлоадеры.

При загрузке контроллера управление первым делом передается бутлоадеру и он проверяет есть ли условие для запуска. Условие может быть любым, но обычно это либо наличие спец байта по интерфейсу, либо наличие нужного логического уровня на выбранной ножке контроллера, сигнализирующее о том, что мы хотим обратиться к буту прошивку. Если условие есть — то бутлоадер может, например, принять прошивку по UART‘у и сам прошить ее во флеш. Или, наоборот, считать прошивку из флеша и выдать через UART, считать или записать EEPROM, подрыгать ножками. Да что угодно. Но обычно все же с помощью бута осуществляют прошивку микроконтроллера без применения спец программатора.

Если разрешающего условия при старте нет, то бут завершает свою работу и передает управление основной программе.

Зачем он нужен вообще?
В самом деле, зачем эти сложности? Зачем тратить и без того малое количество памяти на какую то вспомогательную утилиту? А порой иначе и нельзя! Вот, представь, стоит у тебя девайс где нибудь под землей на большой глубине. Или на высоченной башне куда лезть и лезть, или девайсов у тебя таких миллион? А связь у тебя с девайсом по UART какому нибудь или радиоканалу. И вот надо прошить девайс свежей версией прошивки. Выкапывать, лезть на башню или тыкать в каждый из девайсов шнур программатора… это же сдохнуть можно! А так дал девайсу общий сброс, приказал удаленно бутлоадеру всосать новую прошивку и вуаля!
Мало того, с помощью бута можно сильно облегчить обслуживание коммерческих устройств. Например, такая простая вещь как обновление прошивки, которую поддерживает масса девайсов вроде плееров или сотовых телефонов и которую делает обычный юзер. Выходит прошивка доступна и конкурентам? А вот фигу! Она шифрованая, а бутлоадер содержит ключ для ее дешифровки, дешифрует на лету и заливает во флеш. Красота, правда?

Недостатков у любого бутлоадера два — самый главный в том, что он отжирает часть флеша. Это неизбежное зло. Второй, не менее весомый, то что он стартует первый и если не позаботиться о грамотном алгоритме входа в бут, то девайс может сделать это самопроизвольно, записав в себя черт знает что. Такая беда была, ЕМНИП, со старыми GSM модулями SIM300DZ у которых часто ВНЕЗАПНО при неправильном выключении питания слетала прошивка. А просто модуль входил в бут режим и наведенные помехи на входах устраивали ему армагедец.

С полным текстом можно ознакомиться здесь
СОВА! Открывай! Медведь пришёл...

wampir

  • .
  • *
  • Сообщений: 53
(Нет темы)
« Ответ #7 : 06 Январь 2011, 12:42:20 »
Уважаемые вот здесь хорошо описано сие действие

stasalt

  • .
  • *
  • Сообщений: 140
(Нет темы)
« Ответ #8 : 15 Ноябрь 2011, 19:16:27 »
Цитата: "wampir"
Уважаемые вот здесь хорошо описано сие действие
 

Открытие  данной сылки  блокируется касперским как  вирус :sh_ok:

slav0n

  • Администратор
  • .
  • *****
  • Сообщений: 4775
(Нет темы)
« Ответ #9 : 15 Ноябрь 2011, 21:33:41 »
Стёр эту ссылку нафиг.
while(1||!1);
зберігай спокій