Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: портирование стека uIP
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
Bakradze
Подскажите, как вцелом происходит процесс портирования данного tcp/ip стека на какую-либо платформу? спасибо
haker_fox
QUOTE (Bakradze @ Aug 13 2018, 15:41) *
Подскажите, как вцелом происходит процесс портирования данного tcp/ip стека на какую-либо платформу? спасибо

С этим стеком не работал, но по опыту lwIP думаю, что нужно начать с документации, и портировать аппаратно-зависимый уровень, который свяжен ваш MAC+PHY и функции приёма и передачи данных стека. В lwIp это файл ethernetif.c. В нём определяются функции, которые принимают и передают данные через MAC. Есть также файл настроек, в котором задаются различные параметры стека (какие протоколы, например, нужны). В общем-то и всё.
Bakradze
Вроде принцип такой - низкоуровневая функция, работающая непосредственно с сетевым устройством, находится в режиме приема. Когда приходит пакет - эта функция наполняет данными пакета специальный буфер uip_buf и вызывает функцию uip_process из файла uip.c, которая занимается разборкой данных.
GeorgK
Насколько я знаю, для uIP достаточно сделать приём пакета/передача пакета. Разумеется, в начале необходимо настроить свич и адаптер Ethernet (в зависимости от того, как они там реализованы). Ну ещё несколько мелких вещей вроде таймеров.
А вот для lwIP крайне рекомендуется многопоточность. Можно конечно взгромоздить какой-нибудь freeRTOS, хотя достаточно менеджера вытесняющей многопоточности (балуясь с U-Boot для AR71XX/AR9331, прикрутил lwIP на Fthtread - точнее на то, что получилось после вдумчивой переработки) и опять же мелкой поддержки вроде таймеров, мейлбоксов, мьютексов.
arhiv6
GeorgK, что такое Fthtread? В гугле ничего не ищется.
GeorgK
Сейчас оно тут. Я существенно переделал этот планировщик, сделав его стоящим вне переключаемых потоков и вызываемым по таймерному прерыванию, и учтя тонкости аппаратной платформы.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.