|
|
  |
Есть ли общие принципы для бутлоадеров? |
|
|
|
Aug 30 2009, 07:54
|

Местный
  
Группа: Участник
Сообщений: 239
Регистрация: 30-10-07
Из: Санкт-Петербург
Пользователь №: 31 866

|
Уважаемые товарищи!
Я догадываюсь, что бутлоадеры в разнообразных видах и для разнообразных процов писали очччень многие. Поэтому поиск по форуму дает массу ссылок, в которых интересный мне вопрос не освещен.
Прошу вашей помощи.
Существуют ли какие-то "общие" принципы, которые полезно соблюсти сочиняя бутлоадер для дальнейшего использования в собственных трудах? Интересно бы узнать, прежде чем бросаться с топором...
Речь идет о следующем: - бутлоадер в принципе может быть рано или поздно применен для разных архитектур; - может случиться, что он будет работать отнюдь не с UARTом а по каким-то странным причинам, например, с I2C и др.; - тем не менее, ясно, что он занимается тем, что воспринимает прошивку в некотром виде и записывает ее на флешку контроллера; - и вот вопросы лезут - с одной стороны есть ли независимо от перечисленных разнообразий, определенная тенденция к применению файлов прошивок в каком-то определенном формате (intel HEX, скажем), к применению какого-то привычного протокола (скажем, XMODEM), к применению какого-то популярного вида шифрования, надежного по крайней мере для прошивок (или лучше "каждый шифруй по своему, чтоб никто не догадался"), ужимания умеренного.
Хотелось бы, однако, почитать... Узнать и т.п. А то глупо будет, скажем, выдумать свой протокол, свой формат, свою утилиту для преобразования прошивок в него на стороне хоста - а потом обнаружить что половина средств разработки позволяет подготавливать файлы прошивок в каком-либо специально замечательно подходящем для бутлоадинга формате.
заранее спасибо, Родион
|
|
|
|
|
Aug 30 2009, 08:28
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(RodionGork @ Aug 30 2009, 10:54)  обнаружить что половина средств разработки позволяет подготавливать файлы прошивок в каком-либо специально замечательно подходящем для бутлоадинга формате. Спите спокойно - не обнаружите  . Посему с учетом Ваших правильных рассуждений пишите свое. В качестве базы,которую в свое время взял и я, для подготовки прошивок можете взять, полагаю, известный AN Атмела по AES бутлоадеру. http://www.atmel.com/dyn/resources/prod_do...nts/doc2589.pdfИсходники написаны крайне дурно (и bootloader и PC утилиты), но в качестве отправной точки и идеи годится вполне. Record Types можно добавлять, отказываясь для других контроллеров от буквального управления процессом прошивки заточенном под AVR. Сейчас оно у меня живет (c добавлением двух Record Type) и на ARM. Сырой бинарный фомат я, естественно, сразу похерил - сделал по мотивам HEX - огрызок в приложении. Загрузчик встроен в том числе и в терминальную программу. Загрузчик в контроллере распознает и Intel HEX Extended формат и соответствено позволяет, если не установлены биты защиты, заливать и его.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 31 2009, 04:41
|

Местный
  
Группа: Участник
Сообщений: 239
Регистрация: 30-10-07
Из: Санкт-Петербург
Пользователь №: 31 866

|
_Pasha: спасибо, ваша мысль правильна на мой взгляд и потому понятна, за исключением того, что есть "политический момент". Когда заказчику (требовавшему "очень страшно засекретить его разработку" супротив поганых конкурентов) в отчете сообщают что используется шифрование DES, он лезет в википедию и обнаруживает что "ну вот, он уже давно сломан, вместо него иногда используется Triple-DES, но честь уже замарана и т.п." - объяснять, что его разработка не стоит тех денег, которые потребуются на оплату трудов потенциального взломщика довольно трудно. С этой точки лучше, конечно, указать что используется "оригинальный алгоритм"... ;-) Ну кроме того реализация DES и AES для некоторых особо мелких бутлоадеров на мой взгляд "жирновата".
Zltigo: весьма благодарен за экспертное и объемлющее сообщение, собственно являющееся ответом на мой вопрос. На упомянутый AN я уже неоднократно натыкался, собственно он и побудил меня задать вопрос... ;-)
SasaVitebsk: также спасибо за указание полезных моментов, которые, видимо, следует принять на вооружение.
В общем, я примерно все понял. %)
Сообщение отредактировал RodionGork - Aug 31 2009, 04:43
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|