Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32L476 HardFaul при включении со шнуром USB
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Димон Безпарольный
Поотключал всю активность CDC UART - не помогло. Вываливается в HardFault если подавать питание после подключения шнура USB к изделию.

К сожалению мало знаком с дебуггером - ловлю уже в HardFault. Хотел спросить - можно как - то отследить откуда он туда падает?
Шаманъ
Цитата(Димон Безпарольный @ May 31 2017, 17:54) *
Поотключал всю активность CDC UART - не помогло. Вываливается в HardFault если подавать питание после подключения шнура USB к изделию.

К сожалению мало знаком с дебуггером - ловлю уже в HardFault. Хотел спросить - можно как - то отследить откуда он туда падает?

Самый простой вариант объявить HardFault обработчик вот так:
Код
void HardFault(void)
{
  volatile int i=1;
  while(i);
}

Когда вывалитесь в hardfault установите i=0 и прошагайте до выхода из обработчика - с довольно большой вероятностью возврат произойдет в место возникновения проблемы (ну или около него). Посмотрите состояние регистров и дизассемблером, что там делалось. Если Вам не повезло и HF произошел где-то в другом месте, то смотрите состояние регистра BFSR, BFAR и т.д.
Димон Безпарольный
Цитата(Шаманъ @ May 31 2017, 18:32) *
Самый простой вариант объявить HardFault обработчик вот так:

Он так и объявлен. Там мертвый цикл. Но от куда он туда попадает - не могу понять.
Шаманъ
Цитата(Димон Безпарольный @ May 31 2017, 18:36) *
Он так и объявлен.

Это я случайно отправил недописанное сообщение laughing.gif , прочитайте его еще раз, я отредактировал...
Димон Безпарольный
Цитата(Шаманъ @ May 31 2017, 18:43) *
Это я случайно отправил недописанное сообщение laughing.gif , прочитайте его еще раз, я отредактировал...

Блин. Точно. Весьма простое решение. Спасибо.
Сергей Борщ
Добавлю: шагать нужно по ассемблерным командам. Если шагать по исходному коду, то весьма вероятно что отладчик побежит дальше или сразу после выхода свалится в исключение снова.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.