Возможно ли обновлять прошивку stm32 по uart во время работы?
stm32f103c8t6 подключена по uart к "контролирующему устройству" (смартфон/пк/роутер)
к ней подключена матрица ws2812b.
В настоящее время пишу код на расте, для управления этой матрицей.
И процесс довольно долгий- сперва что-то пробую написать, затем переключаю одну перемечку, подключаю адаптер usb-uart к пк и заливаю новый скомпилированный код.
Задумался о том, возможно ли обновлять прошивку по команде с uart к примеру:
в uart шлём "перейди в режим прошивки", после чего "заливаем" прошивку
Возможно это связано с бутлоадерем его можно писать на расте?
К примеру "bluepill" подключена к роутеру по uart+ матрица ws2812b, пишу новый код на расте на пк, отправляю на uart роутера команду прошить и саму прошивку?
Возможно ли такое и куда копать для изучения темы?
eegmak, в одном посте надо 1 пост делать. А вообще да, бутлоадер на расте написать можно.
(Следующий вопрос видимо будет "а как") - я на него тоже отвечу сразу: Посмотрите, как пишут бутлоадер на си и ассемблере и перенесите этот код на раст.
Василий Банников, не нужно плодить множество вопросов, удаляя "лишние" теги
вопрос про возможность переключения "в режим заливки бинаря" не с помощью переключения перемычки, как я сейчас делаю, а программно.
eegmak, не нужно ставить тег, если человек знающий тег не сможет на него ответить.
Это как с юнити - человек задаёт вопрос про то что у него сглаживание не работает, но добавляет C# только из-за того что у него там скрипт на C# написан.
На rust пишут не только под МК (скорее даже в основном не под МК)
Василий Банников, бутлодер отвечает за переход в режим "загрузки бинаря"? бутлодер можно написать на расте- это часть решения моего вопроса. Бутлодер может содержаться в теле бинаря, вместе с остальной программой которая пишется на расте? или это обязательно отдельный бинарь?
не совсем ясно про разрядку конденсатора и связанное с этим "закорачивание" того переключателя(для ввода uart в режим прошивки(dfu?)), который закорачивал вручную.
если мы в программе:
1)заряжаем конденсатор
2)перезагружаем устройство (?)
3)устройство в режиме загрузки прошивки по uart- заливаем bin
4)перезагружаем устройство
5)в каком состоянии конденсатор? в каком режиме устройство?
> где находится код который отвечает за перемычку, которая отвечает за переход в режим прошивки по uart? Возможно ли из тела программы войти в режим прошивки без схемотехнических ухищрений?