Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Анализ работы программы под отладчиком
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
nanorobot
STM32F401 / Linux Mint / Eclipse / GCC/ Можно ли программно установить, выолняется ли программа в данный момент под отладчиком(STLink, JLinк) и в зависимости от этого организовать ветвление программы. Необходимость в этом возникла вследствие того, что ножки процессора использованы под завязку, в том числе и SWCLK и SWDIO.
Сергей Борщ
Отладчик может при старте как-то под себя настраивать регистр DBGMCU_CR, а программа сравнивать содержимое этого регистра со значением по-умолчанию.
Kabdim
Цитата(nanorobot @ May 21 2018, 12:03) *
Необходимость в этом возникла вследствие того, что ножки процессора использованы под завязку, в том числе и SWCLK и SWDIO.

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

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

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


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


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


......все оказалось не совсем так хорошо. Иногда нажатие кнопок расположенных на этих линиях приводит к прохождению неизвестных команд по SWD и сбоям в работе программы. Чего вполне следовало ожидать.
serglg
Для меня ножки SWCLK и SWDIO мертвые всегда изначально и везде. Это как NRST.
Потому даже в голову их не беру.
jcxz
Цитата(serglg @ May 22 2018, 07:03) *
Для меня ножки SWCLK и SWDIO мертвые всегда изначально и везде. Это как NRST.

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


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