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

 
 
> портирование стека uIP
Bakradze
сообщение Aug 13 2018, 07:41
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 432
Регистрация: 17-12-09
Пользователь №: 54 306



Подскажите, как вцелом происходит процесс портирования данного tcp/ip стека на какую-либо платформу? спасибо

Сообщение отредактировал Bakradze - Aug 13 2018, 07:41
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
haker_fox
сообщение Aug 14 2018, 03:13
Сообщение #2


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (Bakradze @ Aug 13 2018, 15:41) *
Подскажите, как вцелом происходит процесс портирования данного tcp/ip стека на какую-либо платформу? спасибо

С этим стеком не работал, но по опыту lwIP думаю, что нужно начать с документации, и портировать аппаратно-зависимый уровень, который свяжен ваш MAC+PHY и функции приёма и передачи данных стека. В lwIp это файл ethernetif.c. В нём определяются функции, которые принимают и передают данные через MAC. Есть также файл настроек, в котором задаются различные параметры стека (какие протоколы, например, нужны). В общем-то и всё.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
Bakradze
сообщение Aug 14 2018, 04:55
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 432
Регистрация: 17-12-09
Пользователь №: 54 306



Вроде принцип такой - низкоуровневая функция, работающая непосредственно с сетевым устройством, находится в режиме приема. Когда приходит пакет - эта функция наполняет данными пакета специальный буфер uip_buf и вызывает функцию uip_process из файла uip.c, которая занимается разборкой данных.
Go to the top of the page
 
+Quote Post
GeorgK
сообщение Aug 28 2018, 17:37
Сообщение #4





Группа: Участник
Сообщений: 9
Регистрация: 23-08-18
Пользователь №: 107 025



Насколько я знаю, для uIP достаточно сделать приём пакета/передача пакета. Разумеется, в начале необходимо настроить свич и адаптер Ethernet (в зависимости от того, как они там реализованы). Ну ещё несколько мелких вещей вроде таймеров.
А вот для lwIP крайне рекомендуется многопоточность. Можно конечно взгромоздить какой-нибудь freeRTOS, хотя достаточно менеджера вытесняющей многопоточности (балуясь с U-Boot для AR71XX/AR9331, прикрутил lwIP на Fthtread - точнее на то, что получилось после вдумчивой переработки) и опять же мелкой поддержки вроде таймеров, мейлбоксов, мьютексов.
Go to the top of the page
 
+Quote Post
arhiv6
сообщение Aug 28 2018, 18:10
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 633
Регистрация: 21-05-10
Из: Томск
Пользователь №: 57 423



GeorgK, что такое Fthtread? В гугле ничего не ищется.


--------------------
Go to the top of the page
 
+Quote Post
GeorgK
сообщение Aug 29 2018, 06:33
Сообщение #6





Группа: Участник
Сообщений: 9
Регистрация: 23-08-18
Пользователь №: 107 025



Сейчас оно тут. Я существенно переделал этот планировщик, сделав его стоящим вне переключаемых потоков и вызываемым по таймерному прерыванию, и учтя тонкости аппаратной платформы.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 11th August 2025 - 05:54
Рейтинг@Mail.ru


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