Перейти к содержанию
    

STM32 - смена прошивки пользователем через USB

Приветствую. Сейчас думаю над тем как пользователь будет обновлять прошивку у прибора. Пока что планируется просто воспользоваться встроенным загрузчиком, который умеет заливать прошивку через протокол USB DFU. Насколько это удачный подход? Что кроме этого используется для обновления прошивок у STM32?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насколько это удачный подход? Что кроме этого используется для обновления прошивок у STM32?

Можно, например, реализовать Mass-Storage устройство и копировать в него новую прошивку в виде файла. Защита прошивки - посредством CRC32. Я так делал на ARM7.

Еще вариант - реализовать CDC и терминалкой по X-Modem'у передавать в МК новую прошивку. Этот вариант, ИМХО, наилучший. Если же у прибора есть COM - порт, то и USB CDC не нужен, просто используйте имеющийся порт ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

воспользоваться встроенным загрузчиком

инструкция с картинками и у пользователей не возникает сложностей по использованию как USB DFU так и обычного способа через FlashDemo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

kovigor, как-то это всё сложно для обычного пользователя. И com-порта у устройства нету. Как и у большинства современных компьютеров. Поэтому тема называется "смена прошивки пользователем через USB"

 

smalcom, инструкция с картинками? Я планирую высылать пользователю exe-шник, который будет устанавливать USB-драйвер для DFU-устройства, подключаться к устройству, переводить его в загрузчик и автоматически прошивать. Думаю, в противном случае пользователи просто взбунтуются ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По-моему, если устраивает встроенный загрузчик, то стоит его и использовать - он во всяком случае никуда не денется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

kovigor, как-то это всё сложно для обычного пользователя. И com-порта у устройства нету. Как и у большинства современных компьютеров. Поэтому тема называется "смена прошивки пользователем через USB"

 

smalcom, инструкция с картинками? Я планирую высылать пользователю exe-шник, который будет устанавливать USB-драйвер для DFU-устройства, подключаться к устройству, переводить его в загрузчик и автоматически прошивать. Думаю, в противном случае пользователи просто взбунтуются ))

 

Что сложно? Скопировать присланный файл на диск?

2. Com-порта нет? Вы ничего про преобразователи/переходники FT232 например, не слышали?

Как по вашему, сейчас компьютеры подсоединяются к com портам?

 

Мне кажется, у вас ничего не получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

A. Fig Lee, если пользователю, чтобы перепрошить устройство, нужно покупать переходник USB-COM, то что же в этом хорошего? И зачем это вообще нужно, есть уже есть USB. Да и тема называется "смена прошивки пользователем через USB". Мне интересно, что применяют именно для прошивки через USB максимально простым для пользователя способом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

A. Fig Lee, если пользователю, чтобы перепрошить устройство, нужно покупать переходник USB-COM, то что же в этом хорошего? И зачем это вообще нужно, есть уже есть USB. Да и тема называется "смена прошивки пользователем через USB". Мне интересно, что применяют именно для прошивки через USB максимально простым для пользователя способом.

 

Да никто о покупать вообще речи не ведет. Как можно рассуждать о смене прошивки имея настолько мало знаний?

Причем в элементарнейшей области?

Даже тыкая вас в решение проблемы, вы его в упор не видите.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

A. Fig Lee, т.е. прошивка пользователем приборе на STM32 через FT232 - это самый надёжный и проверенный метод, я так понимаю, с твоих слов? Или имеется ввиду другое решение проблемы?

Если я что-то не понимаю, ткни ещё раз носом :biggrin:

 

Да, на всякий случай уточню. Имеется ввиду прошивка через встроенный в STM32 USB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, на всякий случай уточню. Имеется ввиду прошивка через встроенный в STM32 USB

Да, это самый удобный способ, но не самый надежный за счет большей сложности загрузчика, и следовательно повышенной вероятности ошибки в нём.

В порядке убывания надежности и увеличения удобности:

- самый надежный через JTAG/SWD, но требует программатор/отладчик

- менее надежный через RS232-порт, но требует наличия на компьютере RS323-порта(или преобразователь USB-RS232 )

- еще менее надежный через USB, требует на компьютере USB-порт

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

A. Fig Lee, т.е. прошивка пользователем приборе на STM32 через FT232 - это самый надёжный и проверенный метод, я так понимаю, с твоих слов? Или имеется ввиду другое решение проблемы?

Если я что-то не понимаю, ткни ещё раз носом :biggrin:

 

Да, на всякий случай уточню. Имеется ввиду прошивка через встроенный в STM32 USB

 

1. Да. просто потому, что загрузчик РОМ уже там и никуда не денется. Но так ты хочешь УСБ, то это к тебе не относится.

2. Ладно, вот тебе азы по УСБ. УСБ бывает разных классов и твой микроконтроллер, хотя и соединен по УСБ, может прикинутся портом

RS232. Для этого тебе не надо ничего покупать кроме шнурка УСБ для подключения. Но он видать и так есть.

В общем имплементируй CDC класс USB на своем микроконтроллере. И делай бутлоадер.

 

Или имплементируй другой класс, масс сторадж, тогда при втыкании твоего дивайса появится харддрайв в виндоус, скопируешь туда файл и все.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Да. просто потому, что загрузчик РОМ уже там и никуда не денется. Но так ты хочешь УСБ, то это к тебе не относится.

А можно поподробнее про выделенное? Может я чего-то не понимаю?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А можно поподробнее про выделенное? Может я чего-то не понимаю?

Да, ошибся. Забыл за эти дни подробности о чем речь.

USB и собственный бутлоадер для пользователя удобней чем встроенный РОМ. Но встроенный надежней

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

A. Fig Lee, вообще-то встроенный в ROM загрузчик умеет прекрасно прошивать как через UART, так и через "родной" USB по протоколу DFU
Изменено пользователем ArtDenis

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

A. Fig Lee, вообще-то встроенный в ROM загрузчик умеет прекрасно прошивать как через UART, так и через "родной" USB по протоколу DFU

 

У всех STM32? И которые не connectivity line, STM32F103, например?

 

http://www.st.com/web/en/resource/technica.../CD00264379.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...