Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM407DISCOVERY+DM-STF4BB+lwip
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
DGV
Добрый день, Господа.
Прикупил STM407DISCOVERY и DM-STF4BB (Starterkit). Имеется ethernet и примеры с использованием lwip. Хочу сделать сделать следующее:

- с компьютера идет прием/передача ethernet <-> starterkit;
- starterkit транслирует на соотв-ий порту tcp/ip USARTx, x может быть 1 .. 4 (например 172.16.10.100:1002 - соотв-ет USART2).

Помогите пожалуйста, не знаю с чего начать. Ни когда не имел дело ethernet (не было нужды). Есть примеры (рассматриваю с использованием FreeRTOS):

httpserver_netconn, httpserver_socket, udptcp_echo_server_netconn.

Спасибо за терпение и сильно не пинайте, ну не работал я с ethernet.
taoga
Здравствуйте!

FreeRTOS здесь можно не использовать. Зачем излишне усложнять? Я сам сильно не вникал в lwip хозяйство, собрал, то что мне нужно из работающих примеров.
Если есть работающий пример с lwip под ваше железо, соберите его. Напишите клиентскую программу со стороны ПК для обмена данными с железом. Разберитесь с реализацией callback функций lwip.
Поэкспериментируйте с параметрами lwip в файле:lwipopts.h
чтобы добиться максимальной скорости и минимизировать использование памяти.

Соберите работающий пример с UART.
Соберите два примера вместе.
Вот ссылка с примерами lwip: http://cvs.savannah.gnu.org/viewvc/contrib/apps/?root=lwip
Я использовал пример tcpecho_raw.
Sekat
Цитата(DGV @ Jul 8 2013, 16:44) *
- с компьютера идет прием/передача ethernet <-> starterkit;
- starterkit транслирует на соотв-ий порту tcp/ip USARTx, x может быть 1 .. 4 (например 172.16.10.100:1002 - соотв-ет USART2).

Помогите пожалуйста, не знаю с чего начать. Ни когда не имел дело ethernet (не было нужды). Есть примеры (рассматриваю с использованием FreeRTOS):

httpserver_netconn, httpserver_socket, udptcp_echo_server_netconn.


Советую все же использовать RTOS. Хотя вашу задачу можно выполнить и без нее, однако на будущее, если что-то чуть сложнее...

Возьмите для начала UDP_ECHO (Эхо сервер на основе UDP) и USB_VCP (мост между UART и USB, на том же диске) и попробуйте скрестить.

СК
DGV
Всем, еще раз, спасибо. И еще вопрос, можно ли гдг-то взять pdf на lwip? Надо бы для начала почитать.
Aleksandr Baranov
Надо поискать в гугле статью:
Adam Dunkels.
"Design and Implementation of the lwIP tcpIP stack".

Ей, правда, уже 12 лет.
Golikov A.
http://lwip.wikia.com/wiki/LwIP_Wiki

я так понял это единственный "официальный источник" данных о ЛВИП, а дальше исходники ковыряй...

сначала я не понял как этим пользоваться, потом случайно нашел.

Это что-то типа недописанного журнала знаний, там попадаются такие статьи
http://lwip.wikia.com/wiki/Netconn_send

не по всем аспектам можно найти ответы, не все параграфы дописанные, но как организовать и что можно найти.
http://lwip.wikia.com/wiki/Raw/TCP

наиболее полно естественно в разделе популярные ссылки...

У меня ЛвИп как бы заработал, но временами сбоит. От процессора приходит пакет с нулевой контрольной суммой (возможно сбой железа), и запускаются ретрансмиты, потом связь восстанавливается и все ок. С точки зрения ТСР данные не потеряны и все хорошо, но лаг в опросе для меня был критичен, и мы решили сменить решение, и уйти от ЛвИП, это нам быстрее чем разбираться что там и почему.

Но за то время пока я ковырялся я был просто удручен отсутствием документации, наверное это как раз и повлияло на смену решения.

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.