Jump to content

    

Recommended Posts

Добрый день!

Мучаю отладочную плату с bf537. Не могли бы дать работающий пример для передачи массива данных (желательно - DMA) ethernet без LwIР? Слышала, что так работает быстрее и надежнее. Или с LwIР передачи массива данных.

На сколько обработка ethernet загружает процессор?

Заранее спасибо всем откликнушився.

Share this post


Link to post
Share on other sites

Если вдруг ещё актуально. Обработка ethernet процессор почти не загружает благодаря DMA.

Если используется TCP, основную нагрузку на процессор создаёт вычисление контрольной суммы передаваемых сегментов.

LwIP - это библиотека, в которой реализована поддержка уровней сетевого (IP, ICMP, DHCP) и выше (TCP, UDP).

Ethernet-драйвер нужен вне зависимости от того, используется ли LwIP.

Что касается сетевой подсистемы в целом, выбор конкретной реализации (LwIP, uIP и др.) и её настроек сильно зависит от назначения устройства.

Share this post


Link to post
Share on other sites
Добрый день!

Мучаю отладочную плату с bf537. Не могли бы дать работающий пример для передачи массива данных (желательно - DMA) ethernet без LwIР? Слышала, что так работает быстрее и надежнее. Или с LwIР передачи массива данных.

На сколько обработка ethernet загружает процессор?

Заранее спасибо всем откликнушився.

Ну барышня вы посмешили. Что ж проще LwIP, ну может разве что uIP? И что значит передача массива данных, вам всё равно какой-то стек IP нужен будет, или вы все уровни от сетевого до физического сами собрались руками писать? Да и наверное хотелось бы, что бы девайс на arp-запросы хотя бы отвечал (пинговался, например)? А загрузка процессора Азернетом :) в прямую зависит от сети к которой он подключён. Если вы в чистой "точка-точка", например, напрямую к компу подключены и на компе отключены всякие идиотские службы типа ДХЦП :) и прочей лабудени, то очень даже не много, буквально единицы процентов. А вот если вы его решили в конторскую сеть включить, или, тем паче, в И-нет, то тут да. Ибо бедному стеку придётся перелопачивать все входящие широковещательные, безадресные и (возможно) групповые пакеты. Кстати, что бы это предотвратить, можно ручками забраться в потроха LwIP (там всё понятно и просто) и вообще отключить обработку всех входящих пакетов. Но тогда устройство станет глухим как тетерев, даже на пинги ответить не сможет :), но слать вам данные будет исправно.

Share this post


Link to post
Share on other sites
Ну барышня вы посмешили. Что ж проще LwIP, ну может разве что uIP? ...
Сильно навороченный и тормозной стек, по сравнению с тем что мне приходилось потрошить. К тому же нестабильно себя ведет конкретно вешаясь, при средних и высоких загрузках сетевыми пакетами. ICMP отваливается ни стого ни с сего и вообще стек не держит мало мальски среднего теста. Думаю что он написан программистами ради самого процесса программирования в чем и приуспели, соответственно, а про читабельность кода вообще молчу. Если посмотреть википедию, то там пишут что применяется всеми включая Altera, Xilinx и конешно Analog Devices и это понятно - ничейный стек, без всяких гарантий работоспособности как раз подходит для оценочных плат где надо поморгать светодиодами и отправить туда сюда несколько пакетов.

 

Share this post


Link to post
Share on other sites
Сильно навороченный и тормозной стек, по сравнению с тем что мне приходилось потрошить. К тому же нестабильно себя ведет конкретно вешаясь, при средних и высоких загрузках сетевыми пакетами. ICMP отваливается ни стого ни с сего и вообще стек не держит мало мальски среднего теста. Думаю что он написан программистами ради самого процесса программирования в чем и приуспели, соответственно, а про читабельность кода вообще молчу. Если посмотреть википедию, то там пишут что применяется всеми включая Altera, Xilinx и конешно Analog Devices и это понятно - ничейный стек, без всяких гарантий работоспособности как раз подходит для оценочных плат где надо поморгать светодиодами и отправить туда сюда несколько пакетов.

А мне пока нравится, ARP и ICMP работают после инициализации стека, фрагментацию пакетов на уровне IP поддерживает. Пришлось, правда, немножко поковыряться, но пока всё работает.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this