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

 
 
> STM32F407: Ethernet + CHECKSUM_BY_SOFTWARE
k000858
сообщение Apr 28 2017, 08:13
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



В проект включены LwIP (1.4.0) и FreeRTOS. Ethernet интерфейс работает на прерывании, которое освобождает семафору. Задача по освобождению семафоры забирается пакеты.

Версия проекта со включенной ETH_CHECKSUM_BY_HARDWARE (в драйвере Ethernet и LwIP стеке) хорошо выдерживает тест на шторм трафика, ничего не виснет
Версия проекта с софтовым расчетом контрольной суммы при тесте на шторм трафика виснет: Ethernet прерывание перестает выстреливать при получении пакетов, LwIP перестает получать пакеты. необходима именно эта версия проекта.

Кто нибудь сталкивался с таким эффектом? есть идеи как можно подебажить проблему?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
k000858
сообщение May 3 2017, 11:13
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



пока удалось выяснить вот что:
1) при шторме UDP трафика на не открытый порт происходит сбой работы Ethernet интерфейса (дело не в стеке TCP), перестает срабатывать Eth прерывание. устройство перестает обрабатывать входящие запросы (пинг, арп и тд)
2) при этом устройство уходит в HardFault_Handler, но благодаря наличию RTOS, зависнув в вечном цикле обработчика HardFault_Handler, продолжает генерировать исходящий трафик на eth интерфейсе
3) при попытке вставать отладочный код в HardFault_Handler приводит к снятию эффекта зависания Eth интерфейса. к аналогичному эффекту приводит и хаотичное отключение различных программных блоков в ПО устройства

При этом на события нехватки стека памяти для задач ОС и кучи самой ОС стоят отладочные заглушки, памяти судя по всему хватает.
Go to the top of the page
 
+Quote Post
Forger
сообщение May 3 2017, 11:22
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(k000858 @ May 3 2017, 14:13) *
пока удалось выяснить вот что:

Я бы эту проблему решал поэтапно - для начала полностью вылечить пункт 1.
Для этого вырезал бы из проги все, что можно, кроме драйвера Eth, или даже проще - создал бы пустой отладочный проект, где отлаживается именно этот драйвер Eth (по возможности, испытать его на все случаи жизни).


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
k000858
сообщение May 3 2017, 11:29
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Цитата(Forger @ May 3 2017, 14:22) *
Я бы эту проблему решал поэтапно - для начала полностью вылечить пункт 1.
Для этого вырезал бы из проги все, что можно, кроме драйвера Eth, или даже проще - создал бы пустой отладочный проект, где отлаживается именно этот драйвер Eth (по возможности, испытать его на все случаи жизни).

Ниже пункта 1 описал, что изменение кода приводит к снятию эффекта
Причем даже отключение несвязанных между собой программных блоков приводит к снятию эффекта
Если оставить один Eth, подозреваю висяка не будет
Go to the top of the page
 
+Quote Post
Forger
сообщение May 3 2017, 11:36
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(k000858 @ May 3 2017, 14:29) *
Ниже пункта 1 описал, что изменение кода приводит к снятию эффекта
Причем даже отключение несвязанных между собой программных блоков приводит к снятию эффекта

Вероятно, код спроектирован не совсем неудачно.
Лечится создание пустого проекта и отладкой каждого модуля по-отдельности, независимо от других.
Собираем все вместе только после этого. И то собираем все по-одному модуля, проверяя и тестируя каждый шаг.

Цитата
Если оставить один Eth, подозреваю висяка не будет
Все подозрения и предположения нужно заменять фактами wink.gif


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- k000858   STM32F407: Ethernet + CHECKSUM_BY_SOFTWARE   Apr 28 2017, 08:13
- - Forger   Цитата(k000858 @ Apr 28 2017, 11:13) осво...   Apr 28 2017, 09:24
|- - jcxz   Цитата(Forger @ Apr 28 2017, 11:24) ...   Apr 28 2017, 09:33
|- - k000858   Цитата(Forger @ Apr 28 2017, 12:24) Очень...   Apr 28 2017, 09:44
|- - Forger   Цитата(k000858 @ Apr 28 2017, 12:44) к со...   Apr 28 2017, 09:58
|- - jcxz   Цитата(Forger @ Apr 28 2017, 11:58) В при...   Apr 28 2017, 10:46
- - Axel   Фраза: Цитата(k000858 @ Apr 28 2017, 11:1...   Apr 28 2017, 11:09
|- - Forger   Цитата(Axel @ Apr 28 2017, 14:09) наталки...   Apr 28 2017, 11:39
||- - jcxz   Цитата(Forger @ Apr 28 2017, 13:39) Если ...   Apr 28 2017, 12:02
||- - Forger   Цитата(jcxz @ Apr 28 2017, 15:02) Вообще-...   Apr 28 2017, 13:00
||- - jcxz   Цитата(Forger @ Apr 28 2017, 15:00) Если ...   Apr 28 2017, 13:59
||- - Forger   Цитата(jcxz @ Apr 28 2017, 16:59) Каким о...   Apr 28 2017, 14:19
||- - jcxz   Цитата(Forger @ Apr 28 2017, 16:19) мьюте...   Apr 28 2017, 15:43
||- - Forger   Цитата(jcxz @ Apr 28 2017, 18:43) Ещё раз...   Apr 28 2017, 16:18
||- - jcxz   Цитата(Forger @ Apr 28 2017, 18:18) Очень...   Apr 28 2017, 19:58
||- - Forger   Цитата(jcxz @ Apr 28 2017, 22:58) Вы утве...   Apr 28 2017, 20:41
||- - jcxz   Цитата(Forger @ Apr 28 2017, 22:41) Переч...   Apr 28 2017, 21:10
||- - Forger   Цитата(jcxz @ Apr 29 2017, 00:10) ....неб...   Apr 28 2017, 22:40
||- - jcxz   Цитата(Forger @ Apr 29 2017, 00:40) Когда...   Apr 29 2017, 08:07
||- - Forger   Цитата(jcxz @ Apr 29 2017, 11:00) Если до...   Apr 29 2017, 08:09
||- - jcxz   Цитата(Forger @ Apr 29 2017, 10:09) Если ...   Apr 29 2017, 08:15
||- - Forger   Цитата(jcxz @ Apr 29 2017, 11:15) Так как...   Apr 29 2017, 08:21
||- - jcxz   Цитата(Forger @ Apr 29 2017, 10:21) Справ...   Apr 29 2017, 08:26
||- - Forger   Цитата(jcxz @ Apr 29 2017, 11:23) Разжуйт...   Apr 29 2017, 08:27
||- - jcxz   Цитата(Forger @ Apr 29 2017, 10:27) У мен...   Apr 29 2017, 09:00
||- - Forger   Цитата(jcxz @ Apr 29 2017, 12:00) Последн...   Apr 29 2017, 09:05
||- - jcxz   Цитата(Forger @ Apr 29 2017, 11:05) Но су...   Apr 29 2017, 09:36
||- - Forger   Цитата(jcxz @ Apr 29 2017, 12:36) Почитал...   Apr 29 2017, 13:20
||- - jcxz   Цитата(Forger @ Apr 29 2017, 15:20) Я рад...   Apr 29 2017, 20:26
||- - Forger   Цитата(jcxz @ Apr 29 2017, 23:26) И утвер...   Apr 29 2017, 21:44
||- - jcxz   Цитата(Forger @ Apr 29 2017, 23:44) Вообщ...   May 3 2017, 09:01
||- - Forger   Цитата(jcxz @ May 3 2017, 12:01) У меня т...   May 3 2017, 09:26
||- - jcxz   Цитата(Forger @ May 3 2017, 11:26) Вот, п...   May 3 2017, 09:46
||- - Forger   Цитата(jcxz @ May 3 2017, 12:46) У меня э...   May 3 2017, 09:56
||- - jcxz   Цитата(Forger @ May 3 2017, 11:56) И как ...   May 3 2017, 10:05
||- - Forger   Цитата(jcxz @ May 3 2017, 13:05) У меня ж...   May 3 2017, 11:07
|- - scifi   Цитата(Axel @ Apr 28 2017, 14:09) наталки...   Apr 28 2017, 13:10
|- - Forger   Цитата(scifi @ Apr 28 2017, 16:10) Знаете...   Apr 28 2017, 13:16
||- - scifi   Цитата(Forger @ Apr 28 2017, 16:16) Дабы ...   Apr 28 2017, 18:40
||- - Forger   Цитата(scifi @ Apr 28 2017, 21:40) Может ...   Apr 28 2017, 19:28
||- - scifi   Цитата(Forger @ Apr 28 2017, 22:28) Кстат...   Apr 29 2017, 04:29
|- - Axel   Цитата(scifi @ Apr 28 2017, 16:10) Знаете...   Apr 28 2017, 14:16
|- - jcxz   Цитата(Forger @ May 3 2017, 13:36) Вероят...   May 3 2017, 11:56
- - k000858   Может быть кому то поможет. Нашлось решение пробле...   May 23 2017, 10:15


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

 


RSS Текстовая версия Сейчас: 21st August 2025 - 15:17
Рейтинг@Mail.ru


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