|
Bootloader STM32 + CAN, Давайте подумаем как прошить контроллер через CAN |
|
|
|
Apr 19 2013, 09:50
|
Группа: Участник
Сообщений: 11
Регистрация: 23-01-12
Пользователь №: 69 816

|
Доброго времени суток всем! Возникла необходимость прошивать (обновлять) прошивку удаленно для камней STM32. В проекте планирую использовать CAN для связи подчиненного устройства с мастером. Подчиненные устройства (контроллеры) могут быть далеко, и много. Возможно ли прошить камень через CAN?? Есть ли у кого каке соображения/идеи по этому поводу? Мне приходит пока такая мысль: использовать драйвер CAN для передачи прошивки на UART MK, предварительно скомутировав ключами вход/выход драйвера CAN на соответствующие RX/TX UART
|
|
|
|
|
Apr 19 2013, 10:27
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 19-02-07
Пользователь №: 25 487

|
Для обновления прошивки нужно две вещи: передать данные, положить в нужное место. Если для обмена данными с устройствами планируется CAN(настоящий), что мешает через него и передать массив с прошивкой?
|
|
|
|
|
Apr 19 2013, 10:31
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
надо написать обычный загрузчик, который данные с прошивкой пришедшие откуда угодно запишет во флэшку, и запустить программу. Загрузчиков написано великое множество, через езернет, через усб, через уарт, посмотрите как они пишутся да и сделайте также на носителе КАН!
Общая схема - выбор режима работы (нормальная работа/Ожидание прошивки) В случае нормальной работы - запуск программы из места хранения (там откуда программа запускается по умолчанию лежит загрузчик, а он запускает программу из другого сегмента) в случае ожидания прошивки - сбор прошивки, проверка целостности, запись в место хранения программы и рестарт.
Кстати для справки кан это сеть с равноценными узлами, в общем смысле для нее не выделяют мастера и слейва.
|
|
|
|
|
Apr 19 2013, 19:15
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(wellcom @ Apr 19 2013, 12:50)  Доброго времени суток всем! Возникла необходимость прошивать (обновлять) прошивку удаленно для камней STM32. У меня есть проект загрузчика по CAN для STM32. Могу поделиться, но обсуждать не имею возможности. Система такая. Загрузчик всегда сидит в контроллере и запускается первым. В течении некоторого времени он ждет прихода сигнала по CAN от том, что кто-то хочет его перепрограммировать. Если сигнала нет он проверяет целостность основной программы по CRC или MD5(в варианте с толстым микроконтроллером) и передает ей управление. Если сигнал есть, то начинается прием и программирование пакетов во Flash. Потом отдельная команда на переход к основному приложению.
|
|
|
|
|
May 22 2013, 20:18
|
Группа: Участник
Сообщений: 5
Регистрация: 22-04-08
Пользователь №: 36 989

|
Цитата(AlexandrY @ Apr 19 2013, 23:15)  У меня есть проект загрузчика по CAN для STM32. Могу поделиться, но обсуждать не имею возможности. Очень надо! Заранее спасибо!
|
|
|
|
|
Jul 3 2013, 10:40
|
Группа: Новичок
Сообщений: 1
Регистрация: 20-01-09
Пользователь №: 43 672

|
Цитата(AlexandrY @ Apr 19 2013, 23:15)  У меня есть проект загрузчика по CAN для STM32. Могу поделиться, но обсуждать не имею возможности. Добрый день - был бы очень признателен - если бы вы поделились и со мной исходниками - хотя мне надо через USB для STM32F103 - попробую переделать
|
|
|
|
|
Aug 13 2013, 11:18
|
Группа: Новичок
Сообщений: 1
Регистрация: 13-08-13
Из: Екб
Пользователь №: 77 898

|
Уважаемый AlexandrY, не могли бы Вы и со мной поделиться загрузчиком? Заранее благодарен!
|
|
|
|
|
Oct 25 2013, 11:12
|
Группа: Новичок
Сообщений: 7
Регистрация: 20-12-07
Пользователь №: 33 494

|
Цитата(colossus21 @ Aug 13 2013, 14:18)  Уважаемый AlexandrY, не могли бы Вы и со мной поделиться загрузчиком? Заранее благодарен! Есть вопросы по своему bootloader'y AlexandrY, также прошу Вас поделиться со мной загрузчиком. Спасибо
Сообщение отредактировал bumborashik - Oct 25 2013, 11:14
|
|
|
|
|
Dec 3 2013, 12:17
|
Частый гость
 
Группа: Участник
Сообщений: 121
Регистрация: 27-04-09
Из: Украина
Пользователь №: 48 342

|
Цитата(AlexandrY @ Apr 19 2013, 21:15)  У меня есть проект загрузчика по CAN для STM32. Могу поделиться, но обсуждать не имею возможности. Доброго времени суток! Поделитесь пожалуйста и со мной загрузчиком, заранее приношу благодарности!!!
|
|
|
|
|
Jan 5 2014, 18:24
|
Группа: Новичок
Сообщений: 1
Регистрация: 25-01-07
Пользователь №: 24 771

|
Уважаемый AlexandrY, Здравствуйте. Пожалуйста поделитесь исходниками загрузчика по CAN. Спасибо.
|
|
|
|
|
Jan 5 2014, 19:52
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(deugene @ Jan 5 2014, 20:24)  Уважаемый AlexandrY, Здравствуйте. Пожалуйста поделитесь исходниками загрузчика по CAN. Спасибо. О, немного опоздал. Но вот к концу года бывает делаю какую-нибудь праздничную иллюминацию. Здесь прект (использовался KEIL) модуля светодиодной иллюминации на шине CAN. Отдельно загрузчик, отдельно приложение. По JTAG прошивается загрузчик, а уж приложение потом программируется по CAN-у. [attachment=82036:LEDLighting.zip] А вот здесь собственно проект под центральную плату на STM32F103ZE которая сама прошивается через RS232, а остальные узлы прошивает по CAN. Используется протокол Y-modem и Y-modem поверх CAN с криптозащитой шифром AES 256 бит и проверкой по MD5 или CRC по выбору. (Осторожно! Использовалась RTOS  ) [attachment=82037:Ymodem_t...N_loader.zip]
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|