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

 
 
> 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
Ответов
Quasar
сообщение Oct 4 2014, 07:02
Сообщение #2


Местный
***

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



Цитата
Сталкивался с подобным. Помогло отключение, щас точно не помню, какого то буфера в камне. Вроде бы префеч ( ну или как его там ).


Переразвел немного железку, увеличил стеки, перетащил работу FPU в один поток. Все равно продолжились вылеты. То NOCP, то Undefened Instruction. Отключил префтеч. буфер, HardFault'ы как рукой сняло.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Oct 4 2014, 08:32
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Это какой именно prefetch отключили? Интересно.
И действительно все fault-ы после этого прекратились?

PS: У Вас кстати LwIP плохо портирован (или вообще не портирован) на Cortex. Видно по куску кода в самом первом посте
(SWAP_BYTES_IN_WORD).
Go to the top of the page
 
+Quote Post
Quasar
сообщение Oct 4 2014, 13:16
Сообщение #4


Местный
***

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



Цитата(jcxz @ Oct 4 2014, 12:32) *
Это какой именно prefetch отключили? Интересно.
И действительно все fault-ы после этого прекратились?

PS: У Вас кстати LwIP плохо портирован (или вообще не портирован) на Cortex. Видно по куску кода в самом первом посте
(SWAP_BYTES_IN_WORD).


Отключил FLASH_ACR_PRFTEN. После этого, пока не было ни одного Hard_Fault. Я как-то и падения производительности не заметил. Сейчас 5 фильтров IIR использующих FPU крутятся и 50 частот обрабатывается алгоритмом Герцеля + Speex. Хватает еще и на сеть вполне.

По поводу оптимизации LwIP, это тот который в STM32Cube идет. То есть, я его ни как не правил, наверное его ни кто не оптимизировал под Cortex.
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
- - kolobok0   Цитата(Quasar @ Jul 7 2014, 18:42) Есть с...   Jul 8 2014, 05:45
|- - 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
||- - 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 Текстовая версия Сейчас: 28th July 2025 - 14:26
Рейтинг@Mail.ru


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