Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Bootloader STM32 + CAN
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
wellcom
Доброго времени суток всем! Возникла необходимость прошивать (обновлять) прошивку удаленно для камней STM32. В проекте планирую использовать CAN для связи подчиненного устройства с мастером. Подчиненные устройства (контроллеры) могут быть далеко, и много. Возможно ли прошить камень через CAN?? Есть ли у кого каке соображения/идеи по этому поводу?
Мне приходит пока такая мысль: использовать драйвер CAN для передачи прошивки на UART MK, предварительно скомутировав ключами вход/выход драйвера CAN на соответствующие RX/TX UART
Mareng
Для обновления прошивки нужно две вещи: передать данные, положить в нужное место.
Если для обмена данными с устройствами планируется CAN(настоящий), что мешает через него и передать массив с прошивкой?
Golikov A.
надо написать обычный загрузчик, который данные с прошивкой пришедшие откуда угодно запишет во флэшку, и запустить программу. Загрузчиков написано великое множество, через езернет, через усб, через уарт, посмотрите как они пишутся да и сделайте также на носителе КАН!

Общая схема - выбор режима работы (нормальная работа/Ожидание прошивки)
В случае нормальной работы - запуск программы из места хранения (там откуда программа запускается по умолчанию лежит загрузчик, а он запускает программу из другого сегмента)
в случае ожидания прошивки - сбор прошивки, проверка целостности, запись в место хранения программы и рестарт.


Кстати для справки кан это сеть с равноценными узлами, в общем смысле для нее не выделяют мастера и слейва.
syoma
Цитата
в общем смысле для нее не выделяют мастера и слейва.

В CANopen они есть. Также как там есть описание механизма обновления прошивки через CAN.
Golikov A.
кан опен не кан, там есть менеджер сети а не мастер, что не совсем одно и тоже, ну это уже если копаться... А вот про обновление прошивки что-то не помню, надо будет перечитать....
AlexandrY
Цитата(wellcom @ Apr 19 2013, 12:50) *
Доброго времени суток всем! Возникла необходимость прошивать (обновлять) прошивку удаленно для камней STM32.


У меня есть проект загрузчика по CAN для STM32.
Могу поделиться, но обсуждать не имею возможности.

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

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


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


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

Есть вопросы по своему bootloader'y
AlexandrY, также прошу Вас поделиться со мной загрузчиком. Спасибо
Volldemar
Цитата(AlexandrY @ Apr 19 2013, 21:15) *
У меня есть проект загрузчика по CAN для STM32.
Могу поделиться, но обсуждать не имею возможности.

Доброго времени суток!
Поделитесь пожалуйста и со мной загрузчиком, заранее приношу благодарности!!!
deugene
Уважаемый AlexandrY, Здравствуйте.
Пожалуйста поделитесь исходниками загрузчика по CAN.
Спасибо.
AlexandrY
Цитата(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 biggrin.gif ) santa2.gif
Нажмите для просмотра прикрепленного файла
wellcom
Цитата(AlexandrY @ Jan 5 2014, 22:52) *
О, немного опоздал.
Но вот к концу года бывает делаю какую-нибудь праздничную иллюминацию.
Здесь прект (использовался KEIL) модуля светодиодной иллюминации на шине CAN.
Отдельно загрузчик, отдельно приложение.
По JTAG прошивается загрузчик, а уж приложение потом программируется по CAN-у.
Нажмите для просмотра прикрепленного файла

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


Большое спасибо! cheers.gif rolleyes.gif ...буду разбираться! smile3046.gif
asasl
Цитата(AlexandrY @ Jan 5 2014, 22:52) *
А вот здесь собственно проект под центральную плату на STM32F103ZE которая сама прошивается через RS232, а остальные узлы прошивает по CAN.
Используется протокол Y-modem и Y-modem поверх CAN с криптозащитой шифром AES 256 бит и проверкой по MD5 или CRC по выбору.
(Осторожно! Использовалась RTOS biggrin.gif ) santa2.gif
Нажмите для просмотра прикрепленного файла


Александр, вы не могли бы перевыложить второй файл (Нажмите для просмотра прикрепленного файла). Не могу его скачать...
x893
Код немного лучше здесь есть
OpenBLT

Я себе для счастья еще сделал USB-CAN изолированный.
jcxz
Цитата(x893 @ Sep 8 2015, 22:52) *
Я себе для счастья еще сделал USB-CAN изолированный.

Чем готовый с www.icpdas.com не устроил?
x893
Цитата(jcxz @ Sep 13 2015, 08:04) *
Чем готовый с www.icpdas.com не устроил?


Думаю что за 300 руб я там ничего не смогу купить.

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

Система такая.
Загрузчик всегда сидит в контроллере и запускается первым.
В течении некоторого времени он ждет прихода сигнала по CAN от том, что кто-то хочет его перепрограммировать.
Если сигнала нет он проверяет целостность основной программы по CRC или MD5(в варианте с толстым микроконтроллером) и передает ей управление.
Если сигнал есть, то начинается прием и программирование пакетов во Flash.
Потом отдельная команда на переход к основному приложению.


Если это еще возможно, не могли бы вы поделиться проектом,пожалуйста?
MaxiGroup
Кому-нибудь удалось скачать файлы, или это фейк был? wink.gif
Автор файлов сообщения читает, вопросы игнорирует, файлы удалил, типа...
AlexandrY
Цитата(MaxiGroup @ May 8 2018, 08:42) *
Кому-нибудь удалось скачать файлы, или это фейк был? wink.gif
Автор файлов сообщения читает, вопросы игнорирует, файлы удалил, типа...

Ребят вы себе представляете хоть каково это поддерживать проекты всех статей которые я написал? И еще со всеми переписываться.
У меня с тех пор компьютеры несколько раз сгорали. Менял хостеров и домены.
Ну потерян тот проект. И с STM я больше не вожусь. laughing.gif
MaxiGroup
А почему на форуме вложение улетело?

P.S. Ладно хоть тут ответили, а то я сижу жду ответа из лички... не ищу ничего.. надеялся..

Ребят, мож кто успел скачать в свое время, поделится? )))
vlad_new
Вот вычитал, что в STM32F412xxx штатный загрузчик может грузить по CAN2 , PB5, PB13. Для всех типов корпусов. ( п. 3.16 Boot modes ).
MaxiGroup
Цитата(vlad_new @ May 8 2018, 10:56) *
Вот вычитал, что в STM32F412xxx штатный загрузчик может грузить по CAN2 , PB5, PB13. Для всех типов корпусов. ( п. 3.16 Boot modes ).


Да, но это когда к ней подключен только один контроллер.

Иными словами, если у меня 100 девайсов на шине CAN и потребуется одному из них сказать "а перейди-ка в режим обновления прошивки, сейчас буду тебе данные новой прошивки слать" - не выйдет.

Видимо прийдется свое заново корячить.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.