Полная версия этой страницы:
Bootloader STM32 + CAN
wellcom
Apr 19 2013, 09:50
Доброго времени суток всем! Возникла необходимость прошивать (обновлять) прошивку удаленно для камней STM32. В проекте планирую использовать CAN для связи подчиненного устройства с мастером. Подчиненные устройства (контроллеры) могут быть далеко, и много. Возможно ли прошить камень через CAN?? Есть ли у кого каке соображения/идеи по этому поводу?
Мне приходит пока такая мысль: использовать драйвер CAN для передачи прошивки на UART MK, предварительно скомутировав ключами вход/выход драйвера CAN на соответствующие RX/TX UART
Mareng
Apr 19 2013, 10:27
Для обновления прошивки нужно две вещи: передать данные, положить в нужное место.
Если для обмена данными с устройствами планируется CAN(настоящий), что мешает через него и передать массив с прошивкой?
Golikov A.
Apr 19 2013, 10:31
надо написать обычный загрузчик, который данные с прошивкой пришедшие откуда угодно запишет во флэшку, и запустить программу. Загрузчиков написано великое множество, через езернет, через усб, через уарт, посмотрите как они пишутся да и сделайте также на носителе КАН!
Общая схема - выбор режима работы (нормальная работа/Ожидание прошивки)
В случае нормальной работы - запуск программы из места хранения (там откуда программа запускается по умолчанию лежит загрузчик, а он запускает программу из другого сегмента)
в случае ожидания прошивки - сбор прошивки, проверка целостности, запись в место хранения программы и рестарт.
Кстати для справки кан это сеть с равноценными узлами, в общем смысле для нее не выделяют мастера и слейва.
Цитата
в общем смысле для нее не выделяют мастера и слейва.
В CANopen они есть. Также как там есть описание механизма обновления прошивки через CAN.
Golikov A.
Apr 19 2013, 14:01
кан опен не кан, там есть менеджер сети а не мастер, что не совсем одно и тоже, ну это уже если копаться... А вот про обновление прошивки что-то не помню, надо будет перечитать....
AlexandrY
Apr 19 2013, 19:15
Цитата(wellcom @ Apr 19 2013, 12:50)

Доброго времени суток всем! Возникла необходимость прошивать (обновлять) прошивку удаленно для камней STM32.
У меня есть проект загрузчика по CAN для STM32.
Могу поделиться, но обсуждать не имею возможности.
Система такая.
Загрузчик всегда сидит в контроллере и запускается первым.
В течении некоторого времени он ждет прихода сигнала по CAN от том, что кто-то хочет его перепрограммировать.
Если сигнала нет он проверяет целостность основной программы по CRC или MD5(в варианте с толстым микроконтроллером) и передает ей управление.
Если сигнал есть, то начинается прием и программирование пакетов во Flash.
Потом отдельная команда на переход к основному приложению.
я делал что бы загрузчик всегда проверял программу и сообщал мастеру, что программа не валидна. мастер автоматом начинает грузить текущую версию программы.
SasaVitebsk
Apr 23 2013, 07:31
Цитата(AlexandrY @ Apr 19 2013, 22:15)

У меня есть проект загрузчика по CAN для STM32.
Могу поделиться, но обсуждать не имею возможности.
Поделитесь.
lipreder
May 22 2013, 20:18
Цитата(AlexandrY @ Apr 19 2013, 23:15)

У меня есть проект загрузчика по CAN для STM32.
Могу поделиться, но обсуждать не имею возможности.
Очень надо! Заранее спасибо!
NickBahtin
Jul 3 2013, 10:40
Цитата(AlexandrY @ Apr 19 2013, 23:15)

У меня есть проект загрузчика по CAN для STM32.
Могу поделиться, но обсуждать не имею возможности.
Добрый день - был бы очень признателен - если бы вы поделились и со мной исходниками - хотя мне надо через USB для STM32F103 - попробую переделать
colossus21
Aug 13 2013, 11:18
Уважаемый AlexandrY, не могли бы Вы и со мной поделиться загрузчиком? Заранее благодарен!
bumborashik
Oct 25 2013, 11:12
Цитата(colossus21 @ Aug 13 2013, 14:18)

Уважаемый AlexandrY, не могли бы Вы и со мной поделиться загрузчиком? Заранее благодарен!
Есть вопросы по своему bootloader'y
AlexandrY, также прошу Вас поделиться со мной загрузчиком. Спасибо
Volldemar
Dec 3 2013, 12:17
Цитата(AlexandrY @ Apr 19 2013, 21:15)

У меня есть проект загрузчика по CAN для STM32.
Могу поделиться, но обсуждать не имею возможности.
Доброго времени суток!
Поделитесь пожалуйста и со мной загрузчиком, заранее приношу благодарности!!!
deugene
Jan 5 2014, 18:24
Уважаемый AlexandrY, Здравствуйте.
Пожалуйста поделитесь исходниками загрузчика по CAN.
Спасибо.
AlexandrY
Jan 5 2014, 19:52
Цитата(deugene @ Jan 5 2014, 20:24)

Уважаемый AlexandrY, Здравствуйте.
Пожалуйста поделитесь исходниками загрузчика по CAN.
Спасибо.
О, немного опоздал.
Но вот к концу года бывает делаю какую-нибудь праздничную иллюминацию.
Здесь прект (использовался KEIL) модуля светодиодной иллюминации на шине CAN.
Отдельно загрузчик, отдельно приложение.
По JTAG прошивается загрузчик, а уж приложение потом программируется по CAN-у.
Нажмите для просмотра прикрепленного файлаА вот здесь собственно проект под центральную плату на STM32F103ZE которая сама прошивается через RS232, а остальные узлы прошивает по CAN.
Используется протокол Y-modem и Y-modem поверх CAN с криптозащитой шифром AES 256 бит и проверкой по MD5 или CRC по выбору.
(Осторожно! Использовалась RTOS

)
Нажмите для просмотра прикрепленного файла
wellcom
Aug 18 2014, 18:39
Цитата(AlexandrY @ Jan 5 2014, 22:52)

О, немного опоздал.
Но вот к концу года бывает делаю какую-нибудь праздничную иллюминацию.
Здесь прект (использовался KEIL) модуля светодиодной иллюминации на шине CAN.
Отдельно загрузчик, отдельно приложение.
По JTAG прошивается загрузчик, а уж приложение потом программируется по CAN-у.
Нажмите для просмотра прикрепленного файлаА вот здесь собственно проект под центральную плату на STM32F103ZE которая сама прошивается через RS232, а остальные узлы прошивает по CAN.
Используется протокол Y-modem и Y-modem поверх CAN с криптозащитой шифром AES 256 бит и проверкой по MD5 или CRC по выбору.
(Осторожно! Использовалась RTOS

)
Нажмите для просмотра прикрепленного файлаБольшое спасибо!

...буду разбираться!
Цитата(AlexandrY @ Jan 5 2014, 22:52)

А вот здесь собственно проект под центральную плату на STM32F103ZE которая сама прошивается через RS232, а остальные узлы прошивает по CAN.
Используется протокол Y-modem и Y-modem поверх CAN с криптозащитой шифром AES 256 бит и проверкой по MD5 или CRC по выбору.
(Осторожно! Использовалась RTOS

)
Нажмите для просмотра прикрепленного файлаАлександр, вы не могли бы перевыложить второй файл (
Нажмите для просмотра прикрепленного файла). Не могу его скачать...
Код немного лучше здесь есть
OpenBLTЯ себе для счастья еще сделал USB-CAN изолированный.
Цитата(x893 @ Sep 8 2015, 22:52)

Я себе для счастья еще сделал USB-CAN изолированный.
Чем готовый с www.icpdas.com не устроил?
Цитата(jcxz @ Sep 13 2015, 08:04)

Чем готовый с www.icpdas.com не устроил?
Думаю что за 300 руб я там ничего не смогу купить.
Нажмите для просмотра прикрепленного файла
x893Не могли бы поделиться протоколом для прошивки через CAN для OpenBLT?
Снял бы сам, но под рукой нет платки PCAN-USB что они рекомендуют.
Очень нужно для нашего проекта УД
https://sites.google.com/site/cansmarthouse/
Xlebyshok
May 17 2016, 10:36
Цитата(AlexandrY @ Apr 19 2013, 22:15)

У меня есть проект загрузчика по CAN для STM32.
Могу поделиться, но обсуждать не имею возможности.
Система такая.
Загрузчик всегда сидит в контроллере и запускается первым.
В течении некоторого времени он ждет прихода сигнала по CAN от том, что кто-то хочет его перепрограммировать.
Если сигнала нет он проверяет целостность основной программы по CRC или MD5(в варианте с толстым микроконтроллером) и передает ей управление.
Если сигнал есть, то начинается прием и программирование пакетов во Flash.
Потом отдельная команда на переход к основному приложению.
Если это еще возможно, не могли бы вы поделиться проектом,пожалуйста?
MaxiGroup
May 8 2018, 05:42
Кому-нибудь удалось скачать файлы, или это фейк был?

Автор файлов сообщения читает, вопросы игнорирует, файлы удалил, типа...
AlexandrY
May 8 2018, 07:15
Цитата(MaxiGroup @ May 8 2018, 08:42)

Кому-нибудь удалось скачать файлы, или это фейк был?

Автор файлов сообщения читает, вопросы игнорирует, файлы удалил, типа...
Ребят вы себе представляете хоть каково это поддерживать проекты всех статей которые я написал? И еще со всеми переписываться.
У меня с тех пор компьютеры несколько раз сгорали. Менял хостеров и домены.
Ну потерян тот проект. И с STM я больше не вожусь.
MaxiGroup
May 8 2018, 07:37
А почему на форуме вложение улетело?
P.S. Ладно хоть тут ответили, а то я сижу жду ответа из лички... не ищу ничего.. надеялся..
Ребят, мож кто успел скачать в свое время, поделится? )))
vlad_new
May 8 2018, 07:56
Вот вычитал, что в STM32F412xxx штатный загрузчик может грузить по CAN2 , PB5, PB13. Для всех типов корпусов. ( п. 3.16 Boot modes ).
MaxiGroup
May 8 2018, 09:05
Цитата(vlad_new @ May 8 2018, 10:56)

Вот вычитал, что в STM32F412xxx штатный загрузчик может грузить по CAN2 , PB5, PB13. Для всех типов корпусов. ( п. 3.16 Boot modes ).
Да, но это когда к ней подключен только один контроллер.
Иными словами, если у меня 100 девайсов на шине CAN и потребуется одному из них сказать "а перейди-ка в режим обновления прошивки, сейчас буду тебе данные новой прошивки слать" - не выйдет.
Видимо прийдется свое заново корячить.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.