STM32F217+Micrel KSZ8995
Взял за основу проект STM32F2x7_ETH_LwIP_V1.1.0 с сайта STM, в котором использовал 2 варианта проекта веб-сервера (Standalone и FreeRTOS). Переделал в обоих проектах инициализацию PHY под микрель.
Демка заработала, пинг пошёл.
Но замечена была следующая особенность:
В FreeRTOS-версии если ненадолго остановить выполнение программы и вновь возобновить его, пинг после возобновления становится огромным (скачет от десятков мс до нескольких секунд), большая часть пакетов пропадает и через несколько минут пинги перестают проходить вовсе. То же самое (пропуски, обрывы) случаются периодически в FreeRTOS-версии демки раз в несколько минут-часов.
В Standalone-версии такого не бывает. Если приостановить выполнение программы - пинг прекращается, после возобновления - пинг отличный и никаких пропаданий пакетов.
Инициализация в обоих проектах переделана под микрель одинаково (изменения проводились одинаковые), проверил уже раз 10.
Единственное отличие в работе и микрелем на беглый взгляд, что FreeRTOS-проект использует ETH_DMA, а Standalone - нет.
В потроха стека ещё не лазил, подскажите в какую сторону копать?
Сталкивался ли кто-нибудь с подобными багами в этой демке или в связке с micrel ksz8995 под FreeRTOS?