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

 
 
> RangeError в RxStatus на LPC1768, Во всех принимаемых пакетах выставлен флаг RangeError
codier
сообщение Jan 25 2011, 12:47
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 21-01-05
Пользователь №: 2 113



Здравствуйте! Разбираюсь с Ethernet-ом на контроллере LPС1768. Опыта работы с EMAC на других контроллерах не имею. Сделал инициализацию EMAC, PHY и т.д., пытаюсь принимать фреймы, вроде всё работает, но во всех фреймах в RxStatus выставлен бит ошибки RangeError. Читаю документацию и не понимаю что это такое sad.gif

Как я понимаю, RangeError должен выставиться если длина пакета не совпадает с максимальной длиной фрейма, который EMAC может принять, но MAXF выставлен в 1536, а ARP пакеты, на которых я проверяю явно меньше.

Может кто сталкивался с подобным?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
codier
сообщение Jan 27 2011, 15:12
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 21-01-05
Пользователь №: 2 113



2 andrewlekar:

Уже разобрался, но спасибо! Я даташиту тоже читал, но в упор не видел сути написанного :-)

Вообще, глупость какая-то получается. В Ethernet фрейме поле type/length одно и как его использовать определяет пользователь - допустим. Но если такая свобода заложена в протоколе, то почему нельзя было сделать отключаемой проверку этой ошибки? Это при том, что массовое применение (TCP/IP) использует это поле именно в type режиме. А получается, что все IP пакеты метятся как RangeError и обобщённый флаг Error по сути не работает.

Ладно.. переживём :-)
Go to the top of the page
 
+Quote Post



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

 


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


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