LINUX.ORG.RU

TCP\IP стек (lwIP) для МК (для stm32f3)

 ,


0

1

Здравствуйте)

Может вопрос немного не стандартен для этой ветки, но очень интересный для меня, недавно мне с Китая пришла посылка с разными модулями для мк, и одним из них был - enc28j60 (модуль ethernet), я думал что с ним будет как с другими модулями, которые работают по spi, то есть выставить CS, записать в какой-то регистр мк и прочитать данные, но когда я начал вникать в вопрос, то понял, что не так все просто, нужен еще TCP\IP стек, как я посмотрел в интернете TCP\IP стек для встраиваемых систем реализуют - lwIP и uIP и прочее, как я заметил самый популярный - это lwIP. Я так и не понял ЗАЧЕМ? эта обвертка (как я думаю она нужна для реализации разных сетевых протоколов), и особенно как она взаимодействует с самим железом!!!. Питался искать примеры, почти все реализации были на RTOS'ах с которыми я не знаком. На сайте st уже есть готовые решение для TCP\IP для всех мк, кроме моего stm32f3. Мне этот модуль нужен для отправки запросов (GET) на сервер по http.

Можете, пожалуйста, поделиться со мной, embedded-гуру, своими знаниями по этому вопросу. Заранее спасибо)

Эта штука может принимать и отправлять только eth-фреймы. Если вы готовы обходится только ими (с адресацией по MAC и т.д.) то понятно что никакие стеки вам не понадобятся. Но чтобы написать утилиту ping вам придется уже и arp поднимать и icmp и т.д.

yax123 ★★★★★
()
Ответ на: комментарий от yax123

эта «штука» умеет IP, ARP, ICMP, UDP и ТСР - достаточно для организации сетевого взаимодействия

anonymous
()
Ответ на: комментарий от yax123

то есть, если я правильно понял, то в lwip хранятся структуры данных, которые формируют фреймы в зависимости от протокола, который нам нужен?

swfvova
() автор топика
Ответ на: комментарий от anonymous

Значит у меня устаревшая инфа (думал что это какой-то примитивный аналог w5200).

yax123 ★★★★★
()
Ответ на: комментарий от swfvova

Если эта хрень функциональный аналог w5200 (на что намекает анонимус). Там есть буфер, куда в соответствии с настройками (фильтрации и т д) прилетают фреймы который просто нужно к себе копировать через SPI (и возможно с использованием DMA) и все. А все эти библы скорей всего (на шоколадку не поспорю) всего лишь обертки над аппаратным функционалом. Ну и могут иметь структуры для формирования пакетов (чтобы руками не велосипедить).

Сам я в эту тему не погружался еще, но скоро придется кое что сваять.

yax123 ★★★★★
()
Последнее исправление: yax123 (всего исправлений: 1)
Ответ на: комментарий от yax123

как я читал эта библиотека платформонезависимая, то есть это какие-то структуры, которые вынесли, как стандарт.

И если я правильно понял, то для роботы с eth нужно сначала настроить связь - мк <--> модуль <--> сеть, что бы был какой-то ping, а уже потом подключать разные либы?

swfvova
() автор топика

enc28j60 - это изделие микрочипа. Попробуй использовать стек микрочипа.

aiqu6Ait ★★★★
()
Ответ на: комментарий от swfvova

а Вы не знаете, с помощью таких модулей можно отсылать http запросы

«вы» - пишется с маленькой. При помощи каких модулей, я не знаю. А вам рекомендую просто изучить http протокол, тогда модули вам не понадобятся. А если захотите использовать, то сделаете это не задумываясь.

yax123 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.