Перейти к содержанию
    

ST-Link от Discovery

На двух разных платах - 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:

Попробую на старой STM32VL-Discovery посмотреть. Но там SWO нет.

А-а! VL-Discovery видится, как флэшка. :maniac:

После работы в ST-Link Utility, VL-Discovery смогла подключиться и в Keil. Чуда не произошло - переменные по-прежнему не видны, хотя они глобальные и оптимизацию задал 0. И точку останова поставить не могу. Никаких защит в проекте не делал (кажется :rolleyes:).

Не упомянул - подключаюсь к МК в своем приборе. Не к тому, что на самих платах. Но и к ним пробовал, в демо-проектах. Результат тот же.

Прибор работает. Хочу кое-в-чем косячном разобраться, но не могу добраться до переменных.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

оптимизацию в 0 с дефолта переставили? А она точно переставилась, а потом вы ребилдили и залили проект?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На двух разных платах - STM32F0-Discovery, STM32F4-Discovery, обновленными последними прошивками через ST-Link Utility v3.6.0, в последнем же Keil V5.14 не могу задать точек останова....

Вроде у меня такое было. Надо переустановить PC-шный драйвер, чтобы соответствовал прошивке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все делал. Оптимизацию, компилировал, заливал. Драйвер переставлял.

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

 

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

 

Откатился до версии, где в отладчике все показывалось. Не помогло.

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

 

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

 

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

 

Попробовал на другой плате. Аналогично.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

может настройки проекта?

нет дебуг текста или что там еще надо чтобы по строчкам ходить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот еще что всплыло. Поотключал в настройках отладчика "Восстанавливать установки" точек останова, памяти и всего остального. Ничего не изменилось. А при попытке добавить переменную-структуру в окно 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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в output стоят все галки?

Debug information

Brows information

Стоят.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Создал новый проект с теми же файлами, насколько смог. Там всякие от RTE пытаются добавиться. Скомпилировал, запрограммировал, вроде, работает. Полную функциональность не проверял.

И теперь могу делать все, что нужно: задавать точки останова, смотреть переменные...

Пока буду копаться, проверять, что все работает. Потом искать отличия в проектах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

может вы ноги жетага куда то перенастроили?

В своих исходниках ничего не менял. SWD, тем более. Видимо, сами файлы свойств проекта Keil как-то подпортились. Не зря же отладчик писал "Не могу обратиться к памяти", хотя его об этом не просил. Конкретнее сказать не могу. Исследую те проблемы, которые требовали отображения переменных в отладчике. Когда все исправлю, тогда и займусь поиском различий в свойствах проектов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В своих исходниках ничего не менял. SWD, тем более. Видимо, сами файлы свойств проекта Keil как-то подпортились. Не зря же отладчик писал "Не могу обратиться к памяти", хотя его об этом не просил.

Стоп, стоп. А был ли в проблемном проекте указан файл алгоритма загрузчика? Это в Опции Проекта - Utilities - Settings (адаптера), а там - закладка Flash Download - список Programming Algorithm? Бывает, что в результате копирования файла проекта/настроек с одного компа на другой список опустошается.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Был, конечно. Иначе как бы я программировал МК? Все шьется, работает. Но не отлаживается. Там еще указываются dll для отладки и параметры, они тоже заданы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Реабилитировал Keil. Нужно установить Load Application at Startup во вкладке Debug, и тогда все переменные, точки останова будут доступны. Так как я возился с загрузчиком, то, чтобы не стирать всю память, сбрасывал эту галочку. Зря, там в других настройках делается, как мне нужно. В-общем, исцелился.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...