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

Изменение состояния GPIO (stm32l)

Здравствуйте форумчане!!! Подскажите пожалуйста, есть ли способ прошивки микроконтроллера STM32l без изменения состояния GPIO. Приходится отлаживать шкаф с реле, во время перепрошивки выводы оказываются в 3 состоянии и происходит дикое переключение релюшек. Работаю в IAR, отладчик ST link v2.

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


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

Вряд ли такое возможно при прошивке через SWD, но скорее всего можно написать свой бутлоадер, который будет обновлять прошивку во flash и одновременно поддерживать установленные состояния на GPIO. И уже c помощью этого бутлоадера обновлять прошивку.

Но правильнее будет добавить внешние подтягивающие резисторы.

Изменено пользователем arhiv6

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


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

Вряд ли такое возможно при прошивке через SWD, но скорее всего можно написать свой бутлоадер, который будет обновлять прошивку во flash и одновременно поддерживать установленные состояния на GPIO. И уже c помощью этого бутлоадера обновлять прошивку.

Но правильнее будет добавить внешние подтягивающие резисторы.

 

Или поставить триггеры-защелки на выход.

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


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

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

1) Что будет в момент запуска, когда ничего не проинициализировано ?

2) Что будет когда процессор в ресете?

3) Что будет , если напряжение питания процессора 0В ?

И проектировать так, что бы на эти вопросы были однозначные ответы.

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


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

В IAR есть настройка режимов сброса при программировании - может поможет.

Но при старте программы тоже нужно позаботиться о корректной инициализации.

Но подтягивающие резисторы лучшее решение.

Если реле много, можно коммутировать/притягивать ключ питания реле.

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


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

В IAR есть настройка режимов сброса при программировании - может поможет.

Но при старте программы тоже нужно позаботиться о корректной инициализации.

Но подтягивающие резисторы лучшее решение.

Если реле много, можно коммутировать/притягивать ключ питания реле.

Ну и до кучи, есть еще и энергонезависимые FRAM-триггера от Рамтрона.

 

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


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

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

1) Что будет в момент запуска, когда ничего не проинициализировано ?

2) Что будет когда процессор в ресете?

3) Что будет , если напряжение питания процессора 0В ?

И проектировать так, что бы на эти вопросы были однозначные ответы.

 

 

Это все при старте, когда все прогнозируемо.

А когда прошивка начинается во время работы нельзя спрогнозировать момент начала прошивки, а также в каком состоянии

окажутся релюшки.

 

 

 

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


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

Приходится отлаживать шкаф с реле, во время перепрошивки выводы оказываются в 3 состоянии и происходит дикое переключение релюшек.

 

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

Перепрошивка через варт с оптической развязкой, защита всего что смотрит во внешний мир, и так далее.

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

 

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


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

А когда прошивка начинается во время работы нельзя спрогнозировать момент начала прошивки, а также в каком состоянии

окажутся релюшки.

Может всё-таки у автора хватило ума написать собственный прошивальщик в составе рабочего ПО.

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

А из исходного письма даже не понятно как именно осуществляется прошивка.

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


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

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

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

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

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

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

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

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

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

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