Добрый день
Кратко: Как бороться с ложной автонастройкой скорости USART у ROM-загрузчика STM32?
У нас имеется устройство в которое может заливаться прошивка пользователем через подключенный RS232 порт.
Устройство обязано стартовать с входа в загрузчик. Поставить кнопочку входа в режим загрузчика проблематично, потому что требуется удалённое управление.
Для этого мы используем функцию ROM загрузчика согласно документу AN3155 "USART protocol used in the STM32™ bootloader".
Согласно этому документу ROM загрузчик выставляет скорость по первому принятому байту 0x7F и далее с ней работает.
Устройство подключается к компьютеру через RS232 либо через USB переходники, в любом случае при подключении винда пытается опросить по P&P, либо этот комп порт пытаются опросить другие программы, в любом случае возникает ситуация когда загрузчик настраивается на ложную скорость, которая неизвестна и вряд ли попадает в стандартный ряд для уарта и достучаться до него становится невозможно без перезагрузки МК.
Как с этим бороться?
Как отключить Plug&play в винде через новые ком порты?
Или как скрыть ком порт чтоб у него не было имени вида COMx, а только строка с ID реестра, например "\??\USB#VID_1234&PID_5678#7&2bec8296&0&3#{a5dcbf10-6530-11d2-901f-00c04fb951ed}" чтобы левые программы не открывали его в поисках GSM шлюзов, сотиков, и прочего железа и не писали левые байты и не приводили к ложному срабатыванию автонастройки скорости?
Или как сбросить скорость у загрузчика или иным образом запустить автонастройку не дёргая рэсет?
Или какие есть дешовые интеллектуальные WDT которые например сбрасывают раз в минуту если не было подтверждения, до 10р за шт, если всё-таки сделать ресет или аналогичные цепи / заменители?
Заранее Спасибо.