nanorobot 3 21 мая, 2018 Опубликовано 21 мая, 2018 (изменено) · Жалоба STM32F401 / Linux Mint / Eclipse / GCC/ Можно ли программно установить, выолняется ли программа в данный момент под отладчиком(STLink, JLinк) и в зависимости от этого организовать ветвление программы. Необходимость в этом возникла вследствие того, что ножки процессора использованы под завязку, в том числе и SWCLK и SWDIO. Изменено 21 мая, 2018 пользователем nanorobot Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 21 мая, 2018 Опубликовано 21 мая, 2018 · Жалоба Отладчик может при старте как-то под себя настраивать регистр DBGMCU_CR, а программа сравнивать содержимое этого регистра со значением по-умолчанию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kabdim 0 21 мая, 2018 Опубликовано 21 мая, 2018 · Жалоба Необходимость в этом возникла вследствие того, что ножки процессора использованы под завязку, в том числе и SWCLK и SWDIO. Как по мне это звоночек менять чип. Не стоят проблемы с отладкой этого. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nanorobot 3 21 мая, 2018 Опубликовано 21 мая, 2018 · Жалоба Как по мне это звоночек менять чип. Не стоят проблемы с отладкой этого. В общем и целом согласен. Но пока это так, к сожалению. Отладчик может при старте как-то под себя настраивать регистр DBGMCU_CR, а программа сравнивать содержимое этого регистра со значением по-умолчанию. Все регистры DBG имеют значение по умолчанию. Видимо тему можно считать закрытой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 29 21 мая, 2018 Опубликовано 21 мая, 2018 · Жалоба Вообще, отладчик перед или после загрузки кода может в любой регистр что угодно записать. Программа может это отслеживать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nanorobot 3 21 мая, 2018 Опубликовано 21 мая, 2018 (изменено) · Жалоба Вообще, отладчик перед или после загрузки кода может в любой регистр что угодно записать. Программа может это отслеживать. Спасибо, получилось. Но оказалось что мне это не нужно. Выяснил удивительную вещь, на мой взгляд. К этим двум линиям(SWDIO, SWCLK ) у меня подключена часть входных линий матричной клавиатуры 2х7. Если использовать JLink а не STLink то клавиатура полностью сохраняет работоспособность при альтернативной (SWD) конфигурации пинов. Причем даже при включенной отладке. Подключение в качестве отладчика STLink работу нарушает - видимо этот отладчик более плотно занимает шину. Или даже в статике - без отладки- утягивает уровень пинов в активное (для клавиатуры) - единичное - состояние ......все оказалось не совсем так хорошо. Иногда нажатие кнопок расположенных на этих линиях приводит к прохождению неизвестных команд по SWD и сбоям в работе программы. Чего вполне следовало ожидать. Изменено 21 мая, 2018 пользователем nanorobot Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serglg 0 22 мая, 2018 Опубликовано 22 мая, 2018 · Жалоба Для меня ножки SWCLK и SWDIO мертвые всегда изначально и везде. Это как NRST. Потому даже в голову их не беру. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 22 мая, 2018 Опубликовано 22 мая, 2018 · Жалоба Для меня ножки SWCLK и SWDIO мертвые всегда изначально и везде. Это как NRST. Так эта тема - о костылях для схемных багов. Изначально устройство было спроектировано неправильно и без необходимого запаса по ресурсам (не было нормального ТЗ, по которому можно было грамотно выбрать элементную базу; или неграмотно сделан выбор элементной базы на основе ТЗ; или было лень учить что-то новое и делали "на том что знаем"; или ...). А теперь пытаются костылить то что получилось, вместо того чтобы признать ошибки, сделать выводы на их основе и всё переделать по уму. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nanorobot 3 22 мая, 2018 Опубликовано 22 мая, 2018 (изменено) · Жалоба Так эта тема - о костылях для схемных багов. Изначально устройство было спроектировано неправильно и без необходимого запаса по ресурсам (не было нормального ТЗ, по которому можно было грамотно выбрать элементную базу; или неграмотно сделан выбор элементной базы на основе ТЗ; или было лень учить что-то новое и делали "на том что знаем"; или ...). А теперь пытаются костылить то что получилось, вместо того чтобы признать ошибки, сделать выводы на их основе и всё переделать по уму. Отчего же нет? Признаю. :rolleyes: Просто схема красиво вписывалась в 64 ногий корпус. Казалось в этом "что то есть" :rolleyes: В схеме еще имеется связь по SPI с дополнительной линией синхронизации и гальванической развязкой. Таким образом требовалось пять развязанных линий. Но я вписался в 4 - один корпус ISO7241 - тоже поимел сложности. Но в итоге доволен. Ну вот есть такая склонность - минимизация аппаратных решений... Изменено 22 мая, 2018 пользователем nanorobot Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться