www.open-tager.ru

открытый лазертаг форум
Текущее время: 26 апр 2024, 21:55

Часовой пояс: UTC + 3 часа [ Летнее время ]


Реклама

Правила форума


В разделе запрещены - обсуждение оборудования не поддерживающего открытых протоколов, реклама и ссылки на готовые продукты лазертага, обсуждение политики производителей и самих производителей. Виден всем.



Начать новую тему Ответить на тему  [ Сообщений: 1076 ]  На страницу Пред.  1 ... 58, 59, 60, 61, 62, 63, 64 ... 108  След.
Автор Сообщение
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 11 дек 2015, 07:08 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Alexies - а стек поинтер Вы тоже сохраняете/подменяете?
Или только ресет хендл?

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 11 дек 2015, 10:26 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Ну что же... :?
Можете поздравить. :)
Мой бутлоадер теперь тоже прошивает "неподготовленные" прошивки. ;) :)
Реально удобно!
Отдебажил на макетке - и тут же в готовый девайс можно залить. 8-)


Огромная благодарность Alexies! :ugeek:
Раскрыл глаза... ;) :)

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 11 дек 2015, 12:52 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
О, поздравляю! :)

Да, stack pointer аналогично нужно сохранять и подменять. Потому что мало ли какую прошивку люди напишут)

Логика работы моего загрузчика такая:
1) Прошиваемся, запоминаем хэш от прошивки
2) Если на карте есть образ прошивки, то сверяем его хэш с запомненным. Если не совпадает - перепрошиваемся. Иначе - нормальная загрузка.
Проверка целостности по этому же хэшу происходит. Рядом должен быть файл с правильным хэшом.
Таким образом, содержимое sd-карты не меняется (ничего не переименовывается) - это удобно при отладке, не надо перетыкать карту, чтобы ещё раз протестировать загрузчик.

Вместо hex-фалов я использую бинарный образ. Поддержку hex может приделаю, проблем нет, но это не даст абсолютно никаких плюсов. Построчные контрольные суммы, которые предполагает hex, не гарантируют того, что файл, скажем, не обрезан на середине, или что несколько строк не выкинуты. Поэтому использовать эти суммы для проверки целостности бессмысленно, всё равно нужен хеш.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 11 дек 2015, 13:50 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Alexies писал(а):
О, поздравляю! :)

Да, stack pointer аналогично нужно сохранять и подменять. Потому что мало ли какую прошивку люди напишут)

Логика работы моего загрузчика такая:
1) Прошиваемся, запоминаем хэш от прошивки
2) Если на карте есть образ прошивки, то сверяем его хэш с запомненным. Если не совпадает - перепрошиваемся. Иначе - нормальная загрузка.
Проверка целостности по этому же хэшу происходит. Рядом должен быть файл с правильным хэшом.
Таким образом, содержимое sd-карты не меняется (ничего не переименовывается) - это удобно при отладке, не надо перетыкать карту, чтобы ещё раз протестировать загрузчик.

Вместо hex-фалов я использую бинарный образ. Поддержку hex может приделаю, проблем нет, но это не даст абсолютно никаких плюсов. Построчные контрольные суммы, которые предполагает hex, не гарантируют того, что файл, скажем, не обрезан на середине, или что несколько строк не выкинуты. Поэтому использовать эти суммы для проверки целостности бессмысленно, всё равно нужен хеш.


Спасибо!

А какой бинарик?
Это gcc генерит?
Я видел бинарики в папке сборки проекта, но не знаю его структуру. :oops: :?

Ну мне перетыкать то карту не надо.
И шью прямо hex, а могу и зашифрованный hex прошить.

И вроде хвосты подчистил.

Раньше - если бутлоадер и прошивка на разной частоте работали, то в прошивке звука не было.
Сейчас вроде всё норм! ;) :)

В общем - загрузчик у меня (у нас ;) ) есть. 8-)
Теперь надо таг собирать, да думать над распределением ролей между повязкой и тагом.

P.S. А как хеш прошивки получить?

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 11 дек 2015, 18:24 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
Pingvin писал(а):
А какой бинарик?
Это gcc генерит?
Я видел бинарики в папке сборки проекта, но не знаю его структуру. :oops: :?

Рекомендую разобраться, как именно происходи у Вас сборка прошивки.
У меня на конечной стадии так: линкер генерирует .elf, который потом при помощи objcopy -O binary превращается в .bin - просто бинарный образ прошивки. А .hex - это его представление в текстовой форме. Другими словами, .bin - это в чистом виде содержимое flash-памяти контроллера. Распространяют обычно именно bin, поскольку hex банально больше занимает.

Pingvin писал(а):
В общем - загрузчик у меня (у нас ;) ) есть. 8-)
Теперь надо таг собирать, да думать над распределением ролей между повязкой и тагом.

P.S. А как хеш прошивки получить?

Просто вычислить. Есть много классических алгоритмов хэширования. Вот хороший обзор простых: http://habrahabr.ru/post/219139/
Я использовал HashLy. Так-то можно хоть md5 или sha256, но они тяжеловаты для контроллера

А как Вы целостность прошивки проверяете без хэша? :?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 11 дек 2015, 18:27 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Не проверяю - и так работает!
:)

STM23-Tools тоже не проверяет - и ничего, как то справляется. ;) :)

Я могу адреса проверить, чтобы не затереть загрузчик.
Остальное - не критично, ИМХО

А как узнать - с какого адреса надо писать бинарик?

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 11 дек 2015, 20:57 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
Проверка целостности нужна, если прошивка загружается по радио, ИМХО.

Pingvin писал(а):
А как узнать - с какого адреса надо писать бинарик?


Никак. Это просто дамп памяти. Когда прошиваю с компьютера, то пишу команду:
Код:
st-flash  write firmware.bin  0x08000000

то есть адрес, с которого шить, указывается вручную. Прошить фрагментарно нельзя, только подряд. Да и не нужно, вообще говоря.

Например, образ самого загрузчика устроен так: сначала минимальная таблица прерываний (только _estack и Reset_Handler), потом - куча пустого места, потом, в самом конце - загрузчик, начиная с его настоящей таблицы прерываний.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 11 дек 2015, 22:55 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Получается - если пользователь захочет свою прошивку залить, он ещё должен будет хеш получить?
Кажется меня критиковали за "лишние телодвижения" пользователя для настройки проекта под предыдущую версию бутлоадера. :?

Не...
Я считаю - у меня сейчас идеальный вариант загрузчика.
Добавлю ещё загрузку по блютусу.
Несколько часов работы...

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 11 дек 2015, 23:19 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
Pingvin писал(а):
Получается - если пользователь захочет свою прошивку залить, он ещё должен будет хеш получить?


Нет, это только для радиозагрузки. Если файла с ключом нет, то прошивается любая прошивка.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Система Caustic
СообщениеДобавлено: 15 дек 2015, 23:58 
Не в сети
Старожил

Зарегистрирован: 18 мар 2015, 13:19
Сообщений: 574
Откуда: Нижний Новгород
Вот я и присобачил к загрузчику поддержку USB :)

Осталось немного довести до ума, и запилить очередную версию плат, теперь с поддержкой USB )


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 1076 ]  На страницу Пред.  1 ... 58, 59, 60, 61, 62, 63, 64 ... 108  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


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

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB