Nidanilov 0 23 мая, 2012 Опубликовано 23 мая, 2012 (изменено) · Жалоба Всем добрый день. В процессе написания 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 размер заголовка + чексам, остается в силе вторая часть вопроса. Изменено 23 мая, 2012 пользователем Ndf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 22 23 мая, 2012 Опубликовано 23 мая, 2012 (изменено) · Жалоба Всем добрый день. В процессе написания ethernet драйвера (на основе BF518F_EZBOARD_POST) столкнулся с непонятной проблемой - пакеты длинной менее 46 байт почему то не отправляются.. Протокол CSMA/CD для сетей Ethernet IEEE 802.3 требует, чтобы размер кадра Ethernet был не менее 64 байт. Изменено 23 мая, 2012 пользователем blackfin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nidanilov 0 23 мая, 2012 Опубликовано 23 мая, 2012 · Жалоба Протокол CSMA/CD для сетей Ethernet IEEE 802.3 требует, чтобы минимальный размер кадра Ethernet был не менее 64 байт. Непонятно для чего эта избыточность нужна..., спасибо за разъяснения). Относительно второго вопроса собрал VDK-LWIP проект с отправкой 1000 байт компу и обратно, получается что максимальная скорость не более 800кБайт/сек (загрузка сетевой карты 9%), ну очень медленно. Если собрать простой проект без оси и стека то сетевую карту можно загрузить на 90%. Если посмотреть код lwip и драйвера то волосы встают дыбом... хотелось бы что то по проще, например портировать микрочиповский стек под блекфин. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 22 23 мая, 2012 Опубликовано 23 мая, 2012 · Жалоба Непонятно для чего эта избыточность нужна... Чтобы обнаружить факт коллизии. Читайте стандарт CSMA/CD. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gyga 0 24 мая, 2012 Опубликовано 24 мая, 2012 · Жалоба VDK-LWIP конечно зло, но возможно вы умеете его готовить. Я лично не вижу особого смыла его применять Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nidanilov 0 28 мая, 2012 Опубликовано 28 мая, 2012 · Жалоба ... хотелось бы что то по проще, например портировать микрочиповский стек под блекфин. Ну вот :) ...если кому интересно, то на микрочиповском стеке после соответствующего допиливания получил максимальную скорость ~2 МБайта/сек (за 50 сек 100Мбайт туда и обратно) на одном udp сокете. С TCP не проверял. Бинарник стека весит 37кБайт, против 170к lwip. Из замеченных недостатков, кроме безумности кода, lwip теряет входящие udp пакеты даже при малой загрузке сети, в общем в топку его. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться