реклама на сайте
подробности

 
 
> STM32F417 вылетает в Hard Fault, NOCP
Quasar
сообщение Jul 7 2014, 14:42
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 257
Регистрация: 2-12-06
Из: Default City
Пользователь №: 23 021



Приветствую.

Есть самодельная плата на STM32F417 c Ethernet, LwIP и FreeRTOS. Она периодически улетает в Hard Fault, дамп привожу ниже. Улетает она с причиной NOCP.
Цитата
No coprocessor Usage Fault. The processor does not support coprocessor instructions: 0 = no Usage Fault caused by attempting to access a coprocessor
1 = the processor has attempted to access a coprocessor that does not exist.


Сначала думал FPU, но он включен, и вроде как исправно работает, на камне крутятся два фильтра, использующие FPU. Также, судя по дампу, вылет случается не на операции с плавающей точкой, а на операции UXTAH (см. приложенные картинки).

Есть подозрения, что проблема аппаратная, так как, на втором экземпляре слёт случается сильно реже, но все равно случается. Но мне не ясно, почему именно на это инструкции вылетает исключение? Может кто посоветует направление, где искать?

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kolobok0
сообщение Jul 8 2014, 05:45
Сообщение #2


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(Quasar @ Jul 7 2014, 18:42) *
Есть самодельная плата на STM32F417 c Ethernet, LwIP и FreeRTOS. Она периодически улетает в Hard Fault...


приблизительно такой-же фарш. Пока "проблемы по железу" всегда упирались в софт. Т.е. обычно из-за
невнятной(читай раскиданной по многим источникам) документации (последнее из этой оперы было - оконный вачдог + его IRQ.
но как всегда - софт наше всё). Но в интернете практически все ответы можно нарыть.

В Вашей связке, я бы пошёл в сокращении софтовой прослойки. Т.е. эмулировал бы обращение к "подозрительному железу"
без "лишнего софта". На мой взгляд - слабые софтовые звенья lwip & freertos. Там есть(скажеи так - встречаются) явные ляпы.
Сведите тестовый пример до "одного экрана" всех исходников. И будет Вам счастье. Ну или по дороге опознаете проблему.

кстати судя по дампам - у вас регистры левые... скорее всего уже загажены отладчиком или чем Вы там ловите. Правильно - опознание
через регистр LR. А вот он мне не нравится. Для пояснения приведу кусочек универсального обработчика на эту тему..

Код
    if (((lr & 0x0F) == 1) || ((lr & 0x0F) == 9))
    {
        CommonProcessingException(&sSave, msp);
    }
    else if ((lr & 0x0F) == 0x0D)
    {
        CommonProcessingException(&sSave, psp);
    }


У Вас явно не эти три случая. Согласны?

Сообщение отредактировал kolobok0 - Jul 8 2014, 05:56
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Quasar   STM32F417 вылетает в Hard Fault   Jul 7 2014, 14:42
- - vlad_new   Сталкивался с подобным. Помогло отключение, щас то...   Jul 7 2014, 16:16
|- - Quasar   Цитата(kolobok0 @ Jul 8 2014, 09:45) приб...   Jul 8 2014, 09:59
|- - kolobok0   Цитата(Quasar @ Jul 8 2014, 13:59) ...Код...   Jul 8 2014, 22:12
|- - Quasar   Цитата(kolobok0 @ Jul 9 2014, 02:12) загл...   Jul 9 2014, 10:04
|- - kolobok0   Цитата(Quasar @ Jul 9 2014, 14:04) Я чест...   Jul 10 2014, 06:11
- - kan35   Возможно у вас в параллельных потоках используется...   Jul 8 2014, 16:12
|- - Quasar   Цитата(kan35 @ Jul 8 2014, 20:12) Возможн...   Jul 9 2014, 11:50
- - Golikov A.   по идее в кортекс м3-м4 при в ходе в прерывание в ...   Jul 9 2014, 10:22
- - Golikov A.   А конвейеры учтены? Там есть же какие-то барьеры н...   Jul 9 2014, 13:25
|- - Quasar   Цитата(Golikov A. @ Jul 9 2014, 17:25) А ...   Jul 9 2014, 14:50
- - Golikov A.   Вот фиг знает кем. Есть мнение что программистом, ...   Jul 9 2014, 18:59
- - adnega   Очень важно во FreeRTOS правильно указывать приори...   Jul 10 2014, 06:22
- - Quasar   ЦитатаСталкивался с подобным. Помогло отключение, ...   Oct 4 2014, 07:02
|- - jcxz   Это какой именно prefetch отключили? Интересно. И ...   Oct 4 2014, 08:32
||- - Quasar   Цитата(jcxz @ Oct 4 2014, 12:32) Это како...   Oct 4 2014, 13:16
||- - AHTOXA   Цитата(Quasar @ Oct 4 2014, 19:16) Отключ...   Oct 4 2014, 20:01
||- - scifi   Цитата(AHTOXA @ Oct 4 2014, 23:01) Я испо...   Jan 26 2016, 18:07
||- - ataradov   QUOTE (scifi @ Jan 26 2016, 12:07) А заче...   Jan 26 2016, 19:07
||- - scifi   Цитата(ataradov @ Jan 26 2016, 22:07) Что...   Jan 27 2016, 07:17
||- - ataradov   QUOTE (scifi @ Jan 27 2016, 01:17) Даже н...   Jan 27 2016, 07:22
|- - SasaVitebsk   Цитата(Quasar @ Oct 4 2014, 10:02) Перера...   Jan 27 2016, 06:16
|- - Quasar   Цитата(SasaVitebsk @ Jan 27 2016, 09:16) ...   Feb 2 2016, 17:35
- - sidy   Скорее всего отключили буфер предварительной выбо...   Oct 4 2014, 11:09


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th August 2025 - 06:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.03488 секунд с 7
ELECTRONIX ©2004-2016