реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Bootloader STM32 + CAN, Давайте подумаем как прошить контроллер через CAN
wellcom
сообщение Apr 19 2013, 09:50
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 23-01-12
Пользователь №: 69 816



Доброго времени суток всем! Возникла необходимость прошивать (обновлять) прошивку удаленно для камней STM32. В проекте планирую использовать CAN для связи подчиненного устройства с мастером. Подчиненные устройства (контроллеры) могут быть далеко, и много. Возможно ли прошить камень через CAN?? Есть ли у кого каке соображения/идеи по этому поводу?
Мне приходит пока такая мысль: использовать драйвер CAN для передачи прошивки на UART MK, предварительно скомутировав ключами вход/выход драйвера CAN на соответствующие RX/TX UART
Go to the top of the page
 
+Quote Post
Mareng
сообщение Apr 19 2013, 10:27
Сообщение #2


Участник
*

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



Для обновления прошивки нужно две вещи: передать данные, положить в нужное место.
Если для обмена данными с устройствами планируется CAN(настоящий), что мешает через него и передать массив с прошивкой?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 19 2013, 10:31
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 4 247
Регистрация: 17-02-06
Пользователь №: 14 454



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

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


Кстати для справки кан это сеть с равноценными узлами, в общем смысле для нее не выделяют мастера и слейва.
Go to the top of the page
 
+Quote Post
syoma
сообщение Apr 19 2013, 13:13
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 771
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Цитата
в общем смысле для нее не выделяют мастера и слейва.

В CANopen они есть. Также как там есть описание механизма обновления прошивки через CAN.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 19 2013, 14:01
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 4 247
Регистрация: 17-02-06
Пользователь №: 14 454



кан опен не кан, там есть менеджер сети а не мастер, что не совсем одно и тоже, ну это уже если копаться... А вот про обновление прошивки что-то не помню, надо будет перечитать....
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Apr 19 2013, 19:15
Сообщение #6


Ally
******

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



Цитата(wellcom @ Apr 19 2013, 12:50) *
Доброго времени суток всем! Возникла необходимость прошивать (обновлять) прошивку удаленно для камней STM32.


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

Система такая.
Загрузчик всегда сидит в контроллере и запускается первым.
В течении некоторого времени он ждет прихода сигнала по CAN от том, что кто-то хочет его перепрограммировать.
Если сигнала нет он проверяет целостность основной программы по CRC или MD5(в варианте с толстым микроконтроллером) и передает ей управление.
Если сигнал есть, то начинается прием и программирование пакетов во Flash.
Потом отдельная команда на переход к основному приложению.
Go to the top of the page
 
+Quote Post
x893
сообщение Apr 22 2013, 19:05
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 207
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



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

Сообщение отредактировал x893 - Apr 22 2013, 19:06
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Apr 23 2013, 07:31
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



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

Поделитесь. cheers.gif
Go to the top of the page
 
+Quote Post
lipreder
сообщение May 22 2013, 20:18
Сообщение #9





Группа: Участник
Сообщений: 5
Регистрация: 22-04-08
Пользователь №: 36 989



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


Очень надо! Заранее спасибо!
Go to the top of the page
 
+Quote Post
NickBahtin
сообщение Jul 3 2013, 10:40
Сообщение #10





Группа: Новичок
Сообщений: 1
Регистрация: 20-01-09
Пользователь №: 43 672



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


Добрый день - был бы очень признателен - если бы вы поделились и со мной исходниками - хотя мне надо через USB для STM32F103 - попробую переделать
Go to the top of the page
 
+Quote Post
colossus21
сообщение Aug 13 2013, 11:18
Сообщение #11





Группа: Новичок
Сообщений: 1
Регистрация: 13-08-13
Из: Екб
Пользователь №: 77 898



Уважаемый AlexandrY, не могли бы Вы и со мной поделиться загрузчиком? Заранее благодарен!
Go to the top of the page
 
+Quote Post
bumborashik
сообщение Oct 25 2013, 11:12
Сообщение #12





Группа: Новичок
Сообщений: 7
Регистрация: 20-12-07
Пользователь №: 33 494



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

Есть вопросы по своему bootloader'y
AlexandrY, также прошу Вас поделиться со мной загрузчиком. Спасибо

Сообщение отредактировал bumborashik - Oct 25 2013, 11:14
Go to the top of the page
 
+Quote Post
Volldemar
сообщение Dec 3 2013, 12:17
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 121
Регистрация: 27-04-09
Из: Украина
Пользователь №: 48 342



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

Доброго времени суток!
Поделитесь пожалуйста и со мной загрузчиком, заранее приношу благодарности!!!
Go to the top of the page
 
+Quote Post
deugene
сообщение Jan 5 2014, 18:24
Сообщение #14





Группа: Новичок
Сообщений: 1
Регистрация: 25-01-07
Пользователь №: 24 771



Уважаемый AlexandrY, Здравствуйте.
Пожалуйста поделитесь исходниками загрузчика по CAN.
Спасибо.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 5 2014, 19:52
Сообщение #15


Ally
******

Группа: Модераторы
Сообщений: 5 859
Регистрация: 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 biggrin.gif ) santa2.gif
[attachment=82037:Ymodem_t...N_loader.zip]
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th May 2018 - 02:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.00923 секунд с 7
ELECTRONIX ©2004-2016