Перейти к содержанию
    

BF518F_EZBOARD_POST

Всем добрый день.

В процессе написания ethernet драйвера (на основе BF518F_EZBOARD_POST) столкнулся с непонятной проблемой - пакеты длинной менее 46 байт почему то не отправляются, хотя оранжевый светодиод передачи при этом зажигается. Для проверки этого можно взять проект C:\Program Files\Analog Devices\VisualDSP 5.0\Blackfin\Examples\ADSP-BF518F EZ-Board\Power_On_Self_Test\ , где в файле ethernet_test.c изменить #define SEND_BUFSIZE 1000 на любое число меньше 46 и комментируем прием, дабы была только отправка. Нажимаем комбинацию 1-1-2-2-2 и...ни один пакет не отправится. В чем может быть причина и что за магическое число 46??? Сразу говорю, что в родном драйвере BF518 разобраться не смог, единственное как я понял он заточен под VDK и работает через драйвер менеджер совместно с DMA менеджером. Если кто подскажет как его можно использовать после инициализации, буду очень признателен.

 

PS: Извиняюсь немного ступил :)... видимо 42 размер заголовка + чексам, остается в силе вторая часть вопроса.

Изменено пользователем Ndf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем добрый день.

В процессе написания ethernet драйвера (на основе BF518F_EZBOARD_POST) столкнулся с непонятной проблемой - пакеты длинной менее 46 байт почему то не отправляются..

 

Протокол CSMA/CD для сетей Ethernet IEEE 802.3 требует, чтобы размер кадра Ethernet был не менее 64 байт.

Изменено пользователем blackfin

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Протокол CSMA/CD для сетей Ethernet IEEE 802.3 требует, чтобы минимальный размер кадра Ethernet был не менее 64 байт.

Непонятно для чего эта избыточность нужна..., спасибо за разъяснения). Относительно второго вопроса собрал VDK-LWIP проект с отправкой 1000 байт компу и обратно, получается что максимальная скорость не более 800кБайт/сек (загрузка сетевой карты 9%), ну очень медленно. Если собрать простой проект без оси и стека то сетевую карту можно загрузить на 90%. Если посмотреть код lwip и драйвера то волосы встают дыбом... хотелось бы что то по проще, например портировать микрочиповский стек под блекфин.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Непонятно для чего эта избыточность нужна...

Чтобы обнаружить факт коллизии. Читайте стандарт CSMA/CD.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

VDK-LWIP конечно зло, но возможно вы умеете его готовить. Я лично не вижу особого смыла его применять

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... хотелось бы что то по проще, например портировать микрочиповский стек под блекфин.

Ну вот :) ...если кому интересно, то на микрочиповском стеке после соответствующего допиливания получил максимальную скорость ~2 МБайта/сек (за 50 сек 100Мбайт туда и обратно) на одном udp сокете. С TCP не проверял. Бинарник стека весит 37кБайт, против 170к lwip. Из замеченных недостатков, кроме безумности кода, lwip теряет входящие udp пакеты даже при малой загрузке сети, в общем в топку его.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...