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

 
 
> stm32 LwIp, Как работать с фреймами Ethernet
TolikG
сообщение Jan 21 2014, 13:19
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 86
Регистрация: 19-03-10
Пользователь №: 56 071



Использую STM32F4 + FreeRtos + LwIp.
Возникла задача принимать некоторые фреймы Ethernet, обрабатывать их не пропуская в стек LwIp, после обработки посилать в Ethernet. При этом не нарушить работоспособность стека LwIp.
Подскажите в каком месте следует перефатывать принятые фреймы, и как передать свой фрейм. Разобраться в исходниках ядра не смог - натыкаюсь на бесконечные переопределения, указатели, семафоры, очереди.
Вобщем не смог проследить путь от netconn_write() до места где данные уходят наружу, там мог бы и подменить буфер с фреймом.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
scifi
сообщение Jan 22 2014, 06:40
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(TolikG @ Jan 21 2014, 17:19) *
Подскажите в каком месте следует перефатывать принятые фреймы, и как передать свой фрейм. Разобраться в исходниках ядра не смог - натыкаюсь на бесконечные переопределения, указатели, семафоры, очереди.

Если прямо кадры Ethernet - то в так называемом "драйвере" STM32 Ethernet MAC. Драйвер написан кодерами-индусами из ST, так что разбираться тоже будет непросто. Кстати, мой самописный драйвер имеет размер всего 450 строк.
Если достаточно перехвата пакетов IP, то в lwip для этого есть штатные средства.
Go to the top of the page
 
+Quote Post
TolikG
сообщение Jan 23 2014, 06:14
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 86
Регистрация: 19-03-10
Пользователь №: 56 071



Цитата(scifi @ Jan 22 2014, 10:40) *
Если прямо кадры Ethernet - то в так называемом "драйвере" STM32 Ethernet MAC. Драйвер написан кодерами-индусами из ST, так что разбираться тоже будет непросто. Кстати, мой самописный драйвер имеет размер всего 450 строк.
Если достаточно перехвата пакетов IP, то в lwip для этого есть штатные средства.

В lwIp я не шибко силен - читал что есть raw-функции, которые можно использовать если не используется многозадачность. Я так понял, что либо FreeRtos без lwip - либо lwIp без многозадачности?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jan 23 2014, 08:10
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата(TolikG @ Jan 23 2014, 10:14) *
В lwIp я не шибко силен - читал что есть raw-функции, которые можно использовать если не используется многозадачность. Я так понял, что либо FreeRtos без lwip - либо lwIp без многозадачности?


это не про LwIP просто, а про LwIP на софтварных процах микроблайза. Там LwIP завернут в библиотеку, и у него 2 режима работы. Raw и Socket, первый без операционок, а второй требует операционки. Но это все про ксалинкс, плис, и их микроблайз.

Для АРМ и прочего может быть не так, если вы только ихнюю же библиотеку как то не прикрутите, или вам не попались их исходники, или в LwIP для армов изначально тоже все это есть...
Go to the top of the page
 
+Quote Post
scifi
сообщение Jan 23 2014, 10:06
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Golikov A. @ Jan 23 2014, 12:10) *
Для АРМ и прочего может быть не так, если вы только ихнюю же библиотеку как то не прикрутите, или вам не попались их исходники, или в LwIP для армов изначально тоже все это есть...

При чём тут плис и арм?
lwip - вполне себе нормальная библиотека, написанная на языке Си. Работает одинаково как на армах, так и на софткорах. Процессор - он ведь и в Африке процессор.
Полистайте для разнообразия исходники lwip. Возможно, развеются какие-нибудь заблуждения.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- TolikG   stm32 LwIp   Jan 21 2014, 13:19
- - Log_in   Вот пример от терраэлектроники как они реализуют п...   Jan 22 2014, 06:02
||- - scifi   Цитата(TolikG @ Jan 23 2014, 10:14) Я так...   Jan 23 2014, 06:47
||- - Golikov A.   Цитата(scifi @ Jan 23 2014, 14:06) При чё...   Jan 23 2014, 10:20
||- - kolobok0   Цитата(Golikov A. @ Jan 23 2014, 14:20) ....   Jan 24 2014, 10:08
|- - kolobok0   Цитата(scifi @ Jan 22 2014, 10:40) ...раз...   Jan 23 2014, 07:31
- - MALLOY2   ЦитатаВобщем не смог проследить путь от netconn_wr...   Jan 24 2014, 06:44
|- - TolikG   Цитата(MALLOY2 @ Jan 24 2014, 10:44) 1. В...   Jan 30 2014, 13:16
|- - scifi   Цитата(TolikG @ Jan 30 2014, 17:16) - мар...   Jan 30 2014, 13:34
|- - TolikG   Цитата(scifi @ Jan 30 2014, 17:34) Пересы...   Jan 31 2014, 05:49
|- - scifi   Цитата(TolikG @ Jan 31 2014, 09:49) Чтобы...   Jan 31 2014, 06:03
|- - TolikG   Цитата(scifi @ Jan 31 2014, 10:03) Ни кап...   Feb 3 2014, 06:19
- - sergey sva   Разбираюсь с исходниками lwip, настроек очень мног...   Jan 27 2014, 12:45
- - MALLOY2   Цитатакак бы роу - в контексте стэка, имеется ввид...   Jan 28 2014, 06:03
- - Golikov A.   ну да. Вам и контрольную сумму посчитают, и мак ад...   Jan 30 2014, 16:19
- - Golikov A.   и не понятно откуда возьмутся независящие от прото...   Jan 31 2014, 11:07
|- - kolobok0   Цитата(Golikov A. @ Jan 31 2014, 15:07) ....   Jan 31 2014, 20:00
|- - scifi   Цитата(kolobok0 @ Feb 1 2014, 00:00) это ...   Feb 1 2014, 10:27
|- - kolobok0   Цитата(scifi @ Feb 1 2014, 14:27) Между п...   Feb 2 2014, 10:34
- - Golikov A.   какой бы протокол ни был всегда можно его посылку ...   Feb 3 2014, 08:23


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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 06:23
Рейтинг@Mail.ru


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