Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ST-Link от Discovery
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
ViKo
На двух разных платах - STM32F0-Discovery, STM32F4-Discovery, обновленными последними прошивками через ST-Link Utility v3.6.0, в последнем же Keil V5.14 не могу задать точек останова. В режиме редактирования ставлю, а в режиме отладки на месте красного кружка восклицательный знак в сером кружке. Не могу увидеть переменных: <cannot evaluate>.
Внутреннюю периферию вижу. Биты меняются на лету. Trace Exceptions тоже вижу. График задач ОС Event Viewer тоже рисуется. А System and Tread Viewer - уже нет.
Впечатление, что половина ST-Link-а не работает.
Сам кое-что подсказывал по данной тематике. А теперь что-то не соображу, что делать. Может, Кейл поломался-недоломался? rolleyes.gif
Попробую на старой STM32VL-Discovery посмотреть. Но там SWO нет.
А-а! VL-Discovery видится, как флэшка. maniac.gif
После работы в ST-Link Utility, VL-Discovery смогла подключиться и в Keil. Чуда не произошло - переменные по-прежнему не видны, хотя они глобальные и оптимизацию задал 0. И точку останова поставить не могу. Никаких защит в проекте не делал (кажется rolleyes.gif).
Не упомянул - подключаюсь к МК в своем приборе. Не к тому, что на самих платах. Но и к ним пробовал, в демо-проектах. Результат тот же.
Прибор работает. Хочу кое-в-чем косячном разобраться, но не могу добраться до переменных.
Golikov A.
оптимизацию в 0 с дефолта переставили? А она точно переставилась, а потом вы ребилдили и залили проект?
KnightIgor
Цитата(ViKo @ Apr 2 2015, 13:10) *
На двух разных платах - STM32F0-Discovery, STM32F4-Discovery, обновленными последними прошивками через ST-Link Utility v3.6.0, в последнем же Keil V5.14 не могу задать точек останова....

Вроде у меня такое было. Надо переустановить PC-шный драйвер, чтобы соответствовал прошивке.
ViKo
Все делал. Оптимизацию, компилировал, заливал. Драйвер переставлял.
Попробовал на своем проекте для VLDiscovery. Вижу переменные, точки останова ставятся. Буду сравнивать настройки.

Вот что вижу в отладчике в рабочем проекте: Cannot access Memory, в окне Command.

Откатился до версии, где в отладчике все показывалось. Не помогло.
Странно, я память в отладчике не смотрю (раньше смотрел). Только переменные и периферию.

В проекте для VLDiscovery строки, по которым программа бегает, подсвечиваются серыми полями сбоку. И на них ставятся точки останова. А в том проекте, с чем мучаюсь, ничего серым не подсвечивается, и точки не ставятся.

Надо саму плату рассмотреть. Может, там что-то отвалилось? laughing.gif

Попробовал на другой плате. Аналогично.
Golikov A.
может настройки проекта?
нет дебуг текста или что там еще надо чтобы по строчкам ходить?
ViKo
Вот еще что всплыло. Поотключал в настройках отладчика "Восстанавливать установки" точек останова, памяти и всего остального. Ничего не изменилось. А при попытке добавить переменную-структуру в окно Watch1, в окне команд выскакивает:

COM1: not active.
COM2: not active.
COM3: not active.
COM4: not active.
COM5: not active.
COM6: not active.
COM7: not active.
COM8: not active.

Причем, стоит только правой кнопкой мышки нажать на переменную, чтобы в окно добавить, так и выдается этот список.

И в дизассемблере - ни единой строки C исходника, комментариев. Сплошной asm.
Golikov A.
в output стоят все галки?
Debug information
Brows information
ViKo
Цитата(Golikov A. @ Apr 2 2015, 17:36) *
в output стоят все галки?
Debug information
Brows information

Стоят.
ViKo
Создал новый проект с теми же файлами, насколько смог. Там всякие от RTE пытаются добавиться. Скомпилировал, запрограммировал, вроде, работает. Полную функциональность не проверял.
И теперь могу делать все, что нужно: задавать точки останова, смотреть переменные...
Пока буду копаться, проверять, что все работает. Потом искать отличия в проектах.
Golikov A.
может вы ноги жетага куда то перенастроили?
ViKo
Цитата(Golikov A. @ Apr 3 2015, 14:13) *
может вы ноги жетага куда то перенастроили?

В своих исходниках ничего не менял. SWD, тем более. Видимо, сами файлы свойств проекта Keil как-то подпортились. Не зря же отладчик писал "Не могу обратиться к памяти", хотя его об этом не просил. Конкретнее сказать не могу. Исследую те проблемы, которые требовали отображения переменных в отладчике. Когда все исправлю, тогда и займусь поиском различий в свойствах проектов.
KnightIgor
Цитата(ViKo @ Apr 3 2015, 12:42) *
В своих исходниках ничего не менял. SWD, тем более. Видимо, сами файлы свойств проекта Keil как-то подпортились. Не зря же отладчик писал "Не могу обратиться к памяти", хотя его об этом не просил.

Стоп, стоп. А был ли в проблемном проекте указан файл алгоритма загрузчика? Это в Опции Проекта - Utilities - Settings (адаптера), а там - закладка Flash Download - список Programming Algorithm? Бывает, что в результате копирования файла проекта/настроек с одного компа на другой список опустошается.
ViKo
Был, конечно. Иначе как бы я программировал МК? Все шьется, работает. Но не отлаживается. Там еще указываются dll для отладки и параметры, они тоже заданы.
ViKo
Реабилитировал Keil. Нужно установить Load Application at Startup во вкладке Debug, и тогда все переменные, точки останова будут доступны. Так как я возился с загрузчиком, то, чтобы не стирать всю память, сбрасывал эту галочку. Зря, там в других настройках делается, как мне нужно. В-общем, исцелился.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.