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

 
 
> Запрет остановки / паузы отладки, Linux / Eclipse / STM32F051 / JLink / SWD / OpenOCD
nanorobot
сообщение May 19 2017, 05:36
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



Отлаживаю дивайс на STM32 с помощью JLink. Иногда требуется "запаузить" отладку, посмотреть состояние переменных и т.п. Если момент паузы приходится когда на силовую часть подано напряжение (с ЦАПа), резисторы начинают гореть. Есть ли возможность запретить остановку прогаммы JLink-ом на каком то интервале программного кода?

Сообщение отредактировал nanorobot - May 19 2017, 05:43
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Forger
сообщение May 19 2017, 12:05
Сообщение #2


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

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(nanorobot @ May 19 2017, 08:36) *
Иногда требуется "запаузить" отладку, посмотреть состояние переменных и т.п. Если момент паузы приходится когда на силовую часть подано напряжение (с ЦАПа), резисторы начинают гореть.

Позволю себе немного по-умничать: © "Поздно пить боржоми, когда ..." wink.gif
Cамый надежный способ - аппаратный!
Схема не должна ничего жечь, если проц не прошит, прошит кривой прошивкой (где-то в коде завис) или находится в принудительном сбросе.
Аппаратно это реализуется подтяжкой ответственных пинов к нужному уровню внешними резисторами (идеал - все пины куда-то подтянуть, а неиспользуемые бросить на землю).
Железобетонное и очень простое решение!
Более сложные ситуации требуют применения внешних "сторожевых систем", которые должны своевременно "кормиться" процом.
Это полезно на случай, если проц уже успел проинициализировать порты, но где-то вдруг завис.

Но все нужно учитывать заранее - еще на этапе проектирования принципиальной схемы cool.gif

Если используются внешние ЦАПы или т.п., то должен быть предусмотрен принудительный сброс ЦАП или вообще отключение его питания или его выхода через соотв. ключ (например, реле).
Вообще, все внешние силовые узлы обычно имеют вход разрешения, который в таких случаях очень удобно использовать, дабы не мудрить с отключением питания всей "силы".
Если "сила" самодельная, то это нужно предусматривать в обязательном порядке - вход разрешения "силы" должен быть предусмотрен в любом нормальном силовом девайсе!

Более того это очень полезно при смене прошивки через JTAG (SWD), т. к. в процессе прошивки все порты "висят" в воздухе.


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение May 19 2017, 12:24
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Forger @ May 19 2017, 15:05) *
Более того это очень полезно при смене прошивки через JTAG (SWD), т. к. в процессе прошивки все порты "висят" в воздухе.

Вашу мысль про устойчивость на аппаратном уровне поддерживаю, но чего это они все "в воздухе висят" во время программирования? Разве что инструмент программирования очень простой. В том же OpenOCD можно проинициализировать что угодно, и как надо (я, например, LTDC запускаю, чтобы матрицу не мучать во время программирования - показывает синенький экран sm.gif).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- nanorobot   Запрет остановки / паузы отладки   May 19 2017, 05:36
- - Сергей Борщ   Навряд ли. Но можно наставить точки останова в без...   May 19 2017, 06:13
|- - nanorobot   Цитата(Сергей Борщ @ May 19 2017, 12:13) ...   May 19 2017, 06:33
- - jcxz   Цитата(nanorobot @ May 19 2017, 07:36) Ес...   May 19 2017, 06:51
- - AVI-crak   Цитата(nanorobot @ May 19 2017, 11:36) Ес...   May 19 2017, 07:36
|- - RadiatoR   Цитата(AVI-crak @ May 19 2017, 10:36...   May 19 2017, 17:40
|- - Forger   Цитата(RadiatoR @ May 19 2017, 20:40) От...   May 19 2017, 17:47
- - KRS   А у ARM же есть режим отладки monitor mode вроде j...   May 19 2017, 07:58
- - Timmy   Цитата(nanorobot @ May 19 2017, 08:36) От...   May 19 2017, 09:21
|- - Forger   Цитата(Шаманъ @ May 19 2017, 15:24) но че...   May 19 2017, 12:31
|- - Шаманъ   Цитата(Forger @ May 19 2017, 15:31) Наско...   May 19 2017, 15:05
|- - Forger   Цитата(Шаманъ @ May 19 2017, 18:05) Не зн...   May 19 2017, 16:06
- - Шаманъ   Цитата(Forger @ May 19 2017, 19:06) Далек...   May 19 2017, 18:11
|- - Forger   Цитата(Шаманъ @ May 19 2017, 21:11) А зач...   May 19 2017, 18:41
|- - AHTOXA   Цитата(Forger @ May 19 2017, 23:41) Все я...   May 19 2017, 19:16
|- - Forger   Цитата(AHTOXA @ May 19 2017, 22:16) Вы бы...   May 19 2017, 19:24
- - Шаманъ   Цитата(Forger @ May 19 2017, 21:41) А кто...   May 20 2017, 05:36
|- - Forger   Цитата(Шаманъ @ May 20 2017, 08:36) Эх, н...   May 20 2017, 07:25
|- - Шаманъ   Цитата(Forger @ May 20 2017, 10:25) Т.е. ...   May 20 2017, 11:35
|- - Forger   Цитата(Шаманъ @ May 20 2017, 14:35) Да вр...   May 20 2017, 13:11
- - arhiv6   Цитата(Шаманъ)В том же OpenOCD можно проинициализи...   May 20 2017, 18:36
|- - nanorobot   Цитата(arhiv6 @ May 21 2017, 00:36) А как...   May 20 2017, 20:42
- - Шаманъ   Цитата(Forger @ May 20 2017, 16:11) Когда...   May 20 2017, 19:23
|- - Forger   Цитата(Шаманъ @ May 20 2017, 22:23) Да бе...   May 20 2017, 19:35
- - AlexandrY   Цитата(nanorobot @ May 19 2017, 08:36) От...   May 20 2017, 20:31


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

 


RSS Текстовая версия Сейчас: 18th August 2025 - 03:29
Рейтинг@Mail.ru


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