Столкнулся со следующей проблемой.
Принимаю данные по Ethernet, по приему срабатывает прерывание. Обрабатываю полученные данные и затем сбрасываю OWNERSHIP_BIT в каждом буфере, где размещался обработанный пакет, и выхожу из прерывания.
Пакеты идут потоком 40 пакетов/сек. Так вот проблема - если для приема я использую 8 буферов по 128 байт, все работает как надо. Если же увеличиваю количество буферов - 16, 32, 64, то прием достаточно быстро прекращается (1-3 сек). Судя по регистру EMAC_RRE, пакеты принимаются, но не копируются в отведенную для них память и соответственно не вызывается прерывание.
Если кто подскажет в чем может быть дело, заранее большое спасибо.
|