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

 
 
> Lwip, Retransmission
Kot_Schrodingera
сообщение Mar 30 2018, 11:14
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 28-11-17
Пользователь №: 100 395



Всем привет обывателям форума

Имеется stm32f7, прикручен lwip
Идет постоянный обмен с железкой(на железке поднят linux)
При подключении через хаб, всё работает более или менее, но когда подключено "точка-точка" начинают сыпаться сообщения об retransmission.(Если кому понадобиться могу скинуть dump)
Из dump видно, что теряется пакет, отсюда вопрос, как его можно отследить на stm32?

При включении debug сыпется много сообщений, так как на сообщения тратиться время, retransmission пропадает, то есть по моим выводам lwip или драйвер eth не успевает что-либо делать

И ещё один вопрос, для получения оптимальной скорости был впилен костыль в виде уменьшения времени вызова timer tmr до 1 ms(TCP_TMR_INTERVAL 1) - как это может повлиять на систему и LWIP, кроме как загрузки цп?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
scifi
сообщение Mar 30 2018, 12:53
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Кажется, здесь где-то сообщали, что драйвер Ethernet от STM кривой - не учитывает кеши у Cortex-M7.
Go to the top of the page
 
+Quote Post
Kot_Schrodingera
сообщение Mar 30 2018, 13:13
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 28-11-17
Пользователь №: 100 395



это конечно "приятная новость"
а есть где-нибудь информация, как добавить учитывание кеша?
Go to the top of the page
 
+Quote Post
Kabdim
сообщение Mar 30 2018, 13:31
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



тык
Забавно что в моем гугле это не искалось. Но на будущее поисковики великая сила.
Go to the top of the page
 
+Quote Post
scifi
сообщение Mar 30 2018, 14:41
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Кто-то по недоразумению закинул топик в раздел Linux. Модераторы, не тормозите wacko.gif
Go to the top of the page
 
+Quote Post
Kot_Schrodingera
сообщение Mar 30 2018, 14:59
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 28-11-17
Пользователь №: 100 395



Вообще, видимо увидели слово Linux
Scifi, Вы были правы, убрал cache заработало, но то что скинул Kabdim, я использовал в ethernet драйвере, единственное я использовал функцию SCB_CleanInvalidateDCache()
Go to the top of the page
 
+Quote Post
Kot_Schrodingera
сообщение Apr 4 2018, 13:09
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 28-11-17
Пользователь №: 100 395



Но retransmission всё равно возникает
И почему SCB_CleanInvalidateDCache() не помог?
Перенес буферы приёма и передачи, дескрипторы в область DTCM, значительного улучшения не увидел

Сообщение отредактировал Kot_Schrodingera - Apr 4 2018, 13:32
Go to the top of the page
 
+Quote Post
BioWolf2000
сообщение Apr 6 2018, 07:01
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 11-01-05
Из: Беларусь, Минск
Пользователь №: 1 897



Я правил файл stm32f7xx_hal_eth.c добавляя инструкцию __DSB();


CODE
heth->TxDesc = (ETH_DMADescTypeDef *)(heth->TxDesc->Buffer2NextDescAddr);
}
}

//////////////////////
__DSB();

/////////////////////

/* When Tx Buffer unavailable flag is set: clear it and resume transmission */
if (((heth->Instance)->DMASR & ETH_DMASR_TBUS) != (uint32_t)RESET)
{
/* Clear TBUS ETHERNET DMA flag */
(heth->Instance)->DMASR = ETH_DMASR_TBUS;
/* Resume DMA transmission*/
(heth->Instance)->DMATPDR = 0;
}



--------------------
ex740104/103 БГУИР
Go to the top of the page
 
+Quote Post
Kot_Schrodingera
сообщение Apr 9 2018, 11:31
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 28-11-17
Пользователь №: 100 395



Цитата
Я правил файл stm32f7xx_hal_eth.c добавляя инструкцию __DSB();


Не помогает
Go to the top of the page
 
+Quote Post

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

 


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


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