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

 
 
 
Reply to this topicStart new topic
> Анализ работы программы под отладчиком
nanorobot
сообщение May 21 2018, 09:03
Сообщение #1


Местный
***

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



STM32F401 / Linux Mint / Eclipse / GCC/ Можно ли программно установить, выолняется ли программа в данный момент под отладчиком(STLink, JLinк) и в зависимости от этого организовать ветвление программы. Необходимость в этом возникла вследствие того, что ножки процессора использованы под завязку, в том числе и SWCLK и SWDIO.

Сообщение отредактировал nanorobot - May 21 2018, 09:04
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 21 2018, 09:22
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Отладчик может при старте как-то под себя настраивать регистр DBGMCU_CR, а программа сравнивать содержимое этого регистра со значением по-умолчанию.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Kabdim
сообщение May 21 2018, 09:29
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Цитата(nanorobot @ May 21 2018, 12:03) *
Необходимость в этом возникла вследствие того, что ножки процессора использованы под завязку, в том числе и SWCLK и SWDIO.

Как по мне это звоночек менять чип. Не стоят проблемы с отладкой этого.
Go to the top of the page
 
+Quote Post
nanorobot
сообщение May 21 2018, 09:32
Сообщение #4


Местный
***

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



Цитата(Kabdim @ May 21 2018, 14:29) *
Как по мне это звоночек менять чип. Не стоят проблемы с отладкой этого.

В общем и целом согласен. Но пока это так, к сожалению.

Цитата(Сергей Борщ @ May 21 2018, 14:22) *
Отладчик может при старте как-то под себя настраивать регистр DBGMCU_CR, а программа сравнивать содержимое этого регистра со значением по-умолчанию.


Все регистры DBG имеют значение по умолчанию. Видимо тему можно считать закрытой.
Go to the top of the page
 
+Quote Post
VladislavS
сообщение May 21 2018, 11:23
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



Вообще, отладчик перед или после загрузки кода может в любой регистр что угодно записать. Программа может это отслеживать.
Go to the top of the page
 
+Quote Post
nanorobot
сообщение May 21 2018, 14:57
Сообщение #6


Местный
***

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



Цитата(VladislavS @ May 21 2018, 16:23) *
Вообще, отладчик перед или после загрузки кода может в любой регистр что угодно записать. Программа может это отслеживать.


Спасибо, получилось. Но оказалось что мне это не нужно. Выяснил удивительную вещь, на мой взгляд. К этим двум линиям(SWDIO, SWCLK ) у меня подключена часть входных линий матричной клавиатуры 2х7. Если использовать JLink а не STLink то клавиатура полностью сохраняет работоспособность при альтернативной (SWD) конфигурации пинов. Причем даже при включенной отладке. Подключение в качестве отладчика STLink работу нарушает - видимо этот отладчик более плотно занимает шину. Или даже в статике - без отладки- утягивает уровень пинов в активное (для клавиатуры) - единичное - состояние


......все оказалось не совсем так хорошо. Иногда нажатие кнопок расположенных на этих линиях приводит к прохождению неизвестных команд по SWD и сбоям в работе программы. Чего вполне следовало ожидать.


Сообщение отредактировал nanorobot - May 21 2018, 15:08
Go to the top of the page
 
+Quote Post
serglg
сообщение May 22 2018, 04:03
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 146
Регистрация: 19-07-16
Пользователь №: 92 603



Для меня ножки SWCLK и SWDIO мертвые всегда изначально и везде. Это как NRST.
Потому даже в голову их не беру.
Go to the top of the page
 
+Quote Post
jcxz
сообщение May 22 2018, 04:31
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(serglg @ May 22 2018, 07:03) *
Для меня ножки SWCLK и SWDIO мертвые всегда изначально и везде. Это как NRST.

Так эта тема - о костылях для схемных багов.
Изначально устройство было спроектировано неправильно и без необходимого запаса по ресурсам (не было нормального ТЗ, по которому можно было грамотно выбрать элементную базу; или неграмотно сделан выбор элементной базы на основе ТЗ; или было лень учить что-то новое и делали "на том что знаем"; или ...).
А теперь пытаются костылить то что получилось, вместо того чтобы признать ошибки, сделать выводы на их основе и всё переделать по уму.
Go to the top of the page
 
+Quote Post
nanorobot
сообщение May 22 2018, 08:21
Сообщение #9


Местный
***

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



Цитата(jcxz @ May 22 2018, 09:31) *
Так эта тема - о костылях для схемных багов.
Изначально устройство было спроектировано неправильно и без необходимого запаса по ресурсам (не было нормального ТЗ, по которому можно было грамотно выбрать элементную базу; или неграмотно сделан выбор элементной базы на основе ТЗ; или было лень учить что-то новое и делали "на том что знаем"; или ...).
А теперь пытаются костылить то что получилось, вместо того чтобы признать ошибки, сделать выводы на их основе и всё переделать по уму.


Отчего же нет? Признаю. rolleyes.gif Просто схема красиво вписывалась в 64 ногий корпус. Казалось в этом "что то есть" rolleyes.gif В схеме еще имеется связь по SPI с дополнительной линией синхронизации и гальванической развязкой. Таким образом требовалось пять развязанных линий. Но я вписался в 4 - один корпус ISO7241 - тоже поимел сложности. Но в итоге доволен. Ну вот есть такая склонность - минимизация аппаратных решений...

Сообщение отредактировал nanorobot - May 22 2018, 08:36
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th June 2025 - 16:22
Рейтинг@Mail.ru


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