Easyelectronics.ru

Электроника для всех
Текущее время: 23 июл 2018, 11:12

Часовой пояс: UTC + 5 часов



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Заливка больших данных в МК STM32
СообщениеДобавлено: 01 окт 2017, 23:57 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1614
Откуда: Харьков
Есть у меня "сеть" из МК. Один мастер и остальные подчиненные. Потребовалось мне обновлять прошивки слейвов налету, чтоб они не выпадали из сети и не тащить их к месту программирования. Прошиваю их через мастер. Мастер торчит в компе как виртуальный COM порт через USB. Через него и шью. На данный момент решил вопрос так - заливаю прошивку слейва в виде BIN в мастер через COM, даю мастеру команду и он заливает по внутреннему протоколу ее в нужный слейв. Потом перегружает его. Вроде как все работает но вот чтоб залить в мастер пришлось придумать свой велосипед чтоб из Keil сгенерить бинарник, потом посчитать ему CRC потом собрать команду с данными вида: КОД_КОМАНДЫ,ДЛИННА_ДАННЫХ,ДАННЫЕ,CRC. И потом это все пульнуть в мастер и дождаться ответа (ОК или ошибка) и вывести результат.
Так вот вопрос - нет ли чего-то универсального, какой-то тулзы, чтоб подготавливала HEX для заливки в МК и лила его через COM в МК по какому-то известному протоколу? Ну и сильно желательно была мультиплатформенной.

И вообще - отпишитесь кто сталкивался с этакой задачей - как решали?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Заливка больших данных в МК STM32
СообщениеДобавлено: 02 окт 2017, 00:30 
Старожил
Аватара пользователя

Зарегистрирован: 29 янв 2010, 15:41
Сообщения: 1125
Откуда: Германия
Свой велосипед: Свой внутренний протокол обмена пакетами, каждый пакет с CRC. Каждый пакет с подтверждением от слейва.
1 - заливаем большой бинарник на мастера через его прикладную программу - у него SD карта есть.
2 - даем ему команду на перезагрузку
3 - бутлоадер мастера смотрит на SD карту, определяет что за бинарник - для мастера или для подчиненных.
4 - в первом случае - обновляем мастера,
5 - во втором - шьем слейвы - протокол один и тот же везде.
Перезагружаемся
5.1 - даем команду старта обновления -> стратуют бутлоадеры слейвов. Бутлоадер мастера считает ответивших.
5.2 - шлем пакет с данными - около 512 байт, и ждем подтверждения от ВСЕХ слейвов.
5.3 - повторить с 5.1 до конца прошивки
5.4 - шлем команду конца апдейта с контролькой - слейвы считают контрольки, и если все хорошо - завершают процесс путем "запечатывания" прошивки контролькой, чтоб при последующем старте знать, что там все на месте.
5.5 шлем рестарт всем.
Все

скорость - 8 железок по CAN шине 500 кбс шьются примерно пол часа (прошивка 300 кб Аппликуха + 600 кб для фпга)

_________________
Мои поделки
http://www.fun-electronic.net/


Последний раз редактировалось MasterAlexei 02 окт 2017, 00:33, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Заливка больших данных в МК STM32
СообщениеДобавлено: 02 окт 2017, 00:33 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1614
Откуда: Харьков
Это все хорошо, но я вроде про другое спрашивал...
Цитата:
1 - заливаем большой бинарник на мастера через его прикладную программу - у него SD карта есть.

Вот это интересует чез COM порт. Что за программа? Свой лисапед?


Последний раз редактировалось alexsam 02 окт 2017, 00:35, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Заливка больших данных в МК STM32
СообщениеДобавлено: 02 окт 2017, 00:33 
Старожил
Аватара пользователя

Зарегистрирован: 29 янв 2010, 15:41
Сообщения: 1125
Откуда: Германия
alexsam писал(а):
Это все хорошо, но я вроде про другое спрашивал...


alexsam писал(а):
И вообще - отпишитесь кто сталкивался с этакой задачей - как решали?

_________________
Мои поделки
http://www.fun-electronic.net/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Заливка больших данных в МК STM32
СообщениеДобавлено: 02 окт 2017, 00:36 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1614
Откуда: Харьков
Ну так вопрос про заливку на МК ЧЕРЕЗ COM порт а не на слейвы. Кто как решал?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Заливка больших данных в МК STM32
СообщениеДобавлено: 02 окт 2017, 00:43 
Старожил

Зарегистрирован: 23 янв 2016, 15:37
Сообщения: 564
alexsam писал(а):
Ну так вопрос про заливку на МК ЧЕРЕЗ COM порт а не на слейвы. Кто как решал?

Сам напиши, по описанию это простейшая утилитка.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Заливка больших данных в МК STM32
СообщениеДобавлено: 02 окт 2017, 00:47 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1614
Откуда: Харьков
Блин, народ, вы вообще не читаете что-ли что написано в первом посте?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Заливка больших данных в МК STM32
СообщениеДобавлено: 02 окт 2017, 00:48 
Старожил
Аватара пользователя

Зарегистрирован: 29 янв 2010, 15:41
Сообщения: 1125
Откуда: Германия
MasterAlexei писал(а):
Свой велосипед: Свой внутренний протокол обмена пакетами, каждый пакет с CRC. Каждый пакет с подтверждением от слейва.
...
5 - во втором - шьем слейвы - протокол один и тот же везде.
...

В первом предложении если смотреть относительно компа, то мастер - комп, слейв - это мастер всех последующих железок. Если смотреть относительно процессора, то так, как написанно.

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

На данный момент поддерживаются UART (на компе USB-UART от любого производителя, на данный момент FTDI), CAN, Ethernet, BlueTooth (на компе виртуальный ком порт, на проце тот же UART после настройки BT Модуля). На подходе USB CDC или как там его, но на компе будет тот же виртуальный ком порт.

_________________
Мои поделки
http://www.fun-electronic.net/


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

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


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB