Димон Безпарольный 2 31 мая, 2017 Опубликовано 31 мая, 2017 · Жалоба Поотключал всю активность CDC UART - не помогло. Вываливается в HardFault если подавать питание после подключения шнура USB к изделию. К сожалению мало знаком с дебуггером - ловлю уже в HardFault. Хотел спросить - можно как - то отследить откуда он туда падает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Шаманъ 0 31 мая, 2017 Опубликовано 31 мая, 2017 (изменено) · Жалоба Поотключал всю активность CDC UART - не помогло. Вываливается в HardFault если подавать питание после подключения шнура USB к изделию. К сожалению мало знаком с дебуггером - ловлю уже в HardFault. Хотел спросить - можно как - то отследить откуда он туда падает? Самый простой вариант объявить HardFault обработчик вот так: void HardFault(void) { volatile int i=1; while(i); } Когда вывалитесь в hardfault установите i=0 и прошагайте до выхода из обработчика - с довольно большой вероятностью возврат произойдет в место возникновения проблемы (ну или около него). Посмотрите состояние регистров и дизассемблером, что там делалось. Если Вам не повезло и HF произошел где-то в другом месте, то смотрите состояние регистра BFSR, BFAR и т.д. Изменено 31 мая, 2017 пользователем Шаманъ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 31 мая, 2017 Опубликовано 31 мая, 2017 (изменено) · Жалоба Самый простой вариант объявить HardFault обработчик вот так: Он так и объявлен. Там мертвый цикл. Но от куда он туда попадает - не могу понять. Изменено 31 мая, 2017 пользователем Димон Безпарольный Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Шаманъ 0 31 мая, 2017 Опубликовано 31 мая, 2017 · Жалоба Он так и объявлен. Это я случайно отправил недописанное сообщение :laughing: , прочитайте его еще раз, я отредактировал... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 31 мая, 2017 Опубликовано 31 мая, 2017 · Жалоба Это я случайно отправил недописанное сообщение :laughing: , прочитайте его еще раз, я отредактировал... Блин. Точно. Весьма простое решение. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 31 мая, 2017 Опубликовано 31 мая, 2017 · Жалоба Добавлю: шагать нужно по ассемблерным командам. Если шагать по исходному коду, то весьма вероятно что отладчик побежит дальше или сразу после выхода свалится в исключение снова. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться