|
STM32F407VET6. Свистопляска с HardFault-ами, Бесстстемные исключения HardFault |
|
|
|
 |
Ответов
|
Jan 4 2016, 21:52
|
Местный
  
Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503

|
Цитата(AlanDrakes @ Dec 31 2015, 21:04)  Так же можно проверить ёмкости на плате. Исключил из процедуры вызов библиотечной функцмм pow() - заменил самописаной - наваждение прошло...
|
|
|
|
|
Jan 5 2016, 09:02
|
Местный
  
Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503

|
Цитата(scifi @ Jan 5 2016, 03:57)  А осадок остался. Причина не найдена, что, скорее всего, означает, что глюк вернётся снова. ... накаркал. Типовая ситуация - в UFSR взводится бит INVSTATE, об'яснение из дефинитив гуиде - attempts to switch to an invalid state (e.g. ARM) - мож подтолкнете в верном направлении? самое что убивает - при пошаговой отладке глюк практически никогда не воспроизводится
|
|
|
|
|
Jan 5 2016, 11:49
|
Местный
  
Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503

|
Цитата(scifi @ Jan 5 2016, 16:03)  Подталкиваю: нужно расшифровать всю информацию, доступную обработчику Hard Fault. Вычислить адрес инструкции, на которой проц спотыкается, посмотреть, что там. ощутил едва уловимый толчок...))
Сообщение отредактировал nanorobot - Jan 5 2016, 11:50
|
|
|
|
|
Jan 5 2016, 13:15
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Цитата(nanorobot @ Jan 5 2016, 12:49)  ощутил едва уловимый толчок...)) К какой точке приложения?  . TC: так где расчипятка актуального дампа hardfault? Если определится адрес слёта, берем карту памяти компоновщика, ищем, что там поблизости искомого адреса, находим тело функции. Потом можно под отладчиком там остановиться (даже если при этом не сгенерится исключение) и посмотреть, а нет ли там... рекурсии, которая съедает стек, которого, возможно, маловато будет! Как такая идейка?
Сообщение отредактировал KnightIgor - Jan 5 2016, 13:15
|
|
|
|
|
Jan 5 2016, 14:43
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(KnightIgor @ Jan 5 2016, 19:15)  TC: так где расчипятка актуального дампа hardfault? Если определится адрес слёта, берем карту памяти компоновщика, ищем, что там поблизости искомого адреса, находим тело функции. Потом можно под отладчиком там остановиться (даже если при этом не сгенерится исключение) и посмотреть, а нет ли там... рекурсии, которая съедает стек, которого, возможно, маловато будет! Как такая идейка? Кстати - есть ещё в природе отладчики с функцией трэйсера! Очень пользительная вещь в данном случае!
|
|
|
|
|
Jan 5 2016, 17:28
|
Местный
  
Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503

|
Цитата(jcxz @ Jan 5 2016, 19:43)  Кстати - есть ещё в природе отладчики с функцией трэйсера! Очень пользительная вещь в данном случае! CFSR = 0x20000 HFSR = 0x40000000 DFSR = 0x01 AFSR = 0x0 MMAR = 0xE000ED34 BFAR = 0xE000ED38 PSR = 0x60000000 LR = 0x800A1D7 R0 = 0x0 R1 = 0x2001D370 R2 = 0x2001D370 R12 = 0x0 LR содержит, если я правильно понимаю, адрес следующей инструкции по отношению к вызвавшей ХФ. дизасм сотв фрагмента прилагаю. Судя по всему там содержатся сервисы ChibiOS, которую я использую.
Сообщение отредактировал IgorKossak - Jan 5 2016, 19:19
Эскизы прикрепленных изображений
|
|
|
|
Сообщений в этой теме
nanorobot STM32F407VET6. Свистопляска с HardFault-ами Dec 29 2015, 11:05 scifi Что есть "солидное" число? 100? 1000? 10... Dec 29 2015, 11:22 nanorobot Цитата(scifi @ Dec 29 2015, 17:22) Что ес... Dec 29 2015, 16:03  mantech Цитата(nanorobot @ Dec 29 2015, 19:03) со... Dec 29 2015, 17:15  scifi Цитата(nanorobot @ Dec 29 2015, 19:03) со... Dec 30 2015, 05:11 ViKo Строку, содержащую whille никак нельзя назвать нев... Dec 29 2015, 16:46 AndrejM возьмите другую плату да проверьте.
у меня есть то... Dec 30 2015, 04:12 ViKo Стек для задач попробуйте увеличить. Jan 5 2016, 18:37 nanorobot Цитата(ViKo @ Jan 5 2016, 23:37) Стек для... Jan 5 2016, 19:03  Quasar Цитата(nanorobot @ Jan 5 2016, 22:03) Я к... Jan 10 2016, 09:05 SasaVitebsk Квалификатор static указывает что переменную необх... Jan 8 2016, 12:40 scifi Цитата(SasaVitebsk @ Jan 8 2016, 15:40) П... Jan 8 2016, 12:53
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|