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

портирование стека uIP

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

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

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


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

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

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

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


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

Вроде принцип такой - низкоуровневая функция, работающая непосредственно с сетевым устройством, находится в режиме приема. Когда приходит пакет - эта функция наполняет данными пакета специальный буфер uip_buf и вызывает функцию uip_process из файла uip.c, которая занимается разборкой данных.

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


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

Насколько я знаю, для uIP достаточно сделать приём пакета/передача пакета. Разумеется, в начале необходимо настроить свич и адаптер Ethernet (в зависимости от того, как они там реализованы). Ну ещё несколько мелких вещей вроде таймеров.

А вот для lwIP крайне рекомендуется многопоточность. Можно конечно взгромоздить какой-нибудь freeRTOS, хотя достаточно менеджера вытесняющей многопоточности (балуясь с U-Boot для AR71XX/AR9331, прикрутил lwIP на Fthtread - точнее на то, что получилось после вдумчивой переработки) и опять же мелкой поддержки вроде таймеров, мейлбоксов, мьютексов.

 

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


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

Сейчас оно тут. Я существенно переделал этот планировщик, сделав его стоящим вне переключаемых потоков и вызываемым по таймерному прерыванию, и учтя тонкости аппаратной платформы.

 

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


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

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

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

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

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

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

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

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

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

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