cpl 0 7 ноября, 2006 Опубликовано 7 ноября, 2006 · Жалоба Требуется разработать TCP сервер для удаленных измерений. за основу взял Мегу128 + CS8900 + RAM 64k решил копать с сторону LWIP стека (с перспективой использования стека под арм). Вопрос чего начать, по скудной документации понятно что лучше работь в режиме callback function (попроше), несовсем понятно с чего начинать как инитить сам стек и обрабатывать пакеты. железо запустил, принимает пакеты и выводит в UART порт, подошел к стеку и попал в тупик, подскажите как с ним работать ? :ninja: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
let's see 0 7 ноября, 2006 Опубликовано 7 ноября, 2006 · Жалоба http://www.ethernut.de/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cpl 0 7 ноября, 2006 Опубликовано 7 ноября, 2006 · Жалоба Интерисует именно стек LWIP :maniac: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nanobyte 0 7 ноября, 2006 Опубликовано 7 ноября, 2006 · Жалоба Интерисует именно стек LWIP 15 секунд поиска в Yandex дали: http://www.sics.se/~adam/lwip/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cpl 0 7 ноября, 2006 Опубликовано 7 ноября, 2006 · Жалоба :cheers: :blink: с этого и начинал, примеров использования ненашел :ninja: ткните носом :smile3046: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость impatt 8 ноября, 2006 Опубликовано 8 ноября, 2006 (изменено) · Жалоба :cheers: :blink: с этого и начинал, примеров использования ненашел :ninja: ткните носом :smile3046: The lwIP API uses a connection abstraction similar to that of the BSD socket APIThe lwIP API uses a connection abstraction similar to that of the BSD socket API Это значит, что запускаешь свой любимый дистрибутив линукса, например, команда info libc sockets, там всё есть, с примерами. Заодно и проверишь на линуксе, свои примеры, а потом на контроллере. Кстати, на сайте есть pdf-ка, там есть примеры. Изменено 8 ноября, 2006 пользователем impatt Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 8 ноября, 2006 Опубликовано 8 ноября, 2006 · Жалоба Требуется разработать TCP сервер для удаленных измерений. за основу взял Мегу128 + CS8900 + RAM 64k Могу прислать описания и софт для micrel.com - KSZ8842/1 - и это будет Ethernet 10/100. Это примерно 6 Мег. И сделайте поиск по нику "Волощенко". Он только что аналогичеую вещь закончил на CS8900, подумал над жизнью и попросил образец KSZ8842.... Вот для затравки пара документов. KSZ884x_Programmer_s_Guide_v1.0.pdf ____________________________.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vesago 0 8 ноября, 2006 Опубликовано 8 ноября, 2006 · Жалоба Начать наверное лучьше с ознакомления с TCP/IP, тогда думаю и с lwip проще разобраться будет. Благо, что читать не очень много. Понравилось описание на www.protocols.ru. Можно и самому написать. Вам надо к блоку данных добавлять заголовок TCP или UDP, к этому пакету добавить заголовок IP и пулять в сеть. И обратно. По большому счету ничего сложного. Геморно только TCP реализовать - много факторов влияет на смену текущего состояния TCP. Больше всего и читать по нем. Может вам будет достаточно UDP, тогда все проще, но придется "самому" контролировать доставку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cpl 0 8 ноября, 2006 Опубликовано 8 ноября, 2006 · Жалоба :cheers: :blink: с этого и начинал, примеров использования ненашел :ninja: ткните носом :smile3046: The lwIP API uses a connection abstraction similar to that of the BSD socket APIThe lwIP API uses a connection abstraction similar to that of the BSD socket API Это значит, что запускаешь свой любимый дистрибутив линукса, например, команда info libc sockets, там всё есть, с примерами. Заодно и проверишь на линуксе, свои примеры, а потом на контроллере. Кстати, на сайте есть pdf-ка, там есть примеры. Как я понял под BSD нужно ос, чтоб разруливать, ос непредполагается, поэтому callback а на нее примеров нет Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cpl 0 8 ноября, 2006 Опубликовано 8 ноября, 2006 · Жалоба Начать наверное лучьше с ознакомления с TCP/IP, тогда думаю и с lwip проще разобраться будет. Благо, что читать не очень много. Понравилось описание на www.protocols.ru. Можно и самому написать. Вам надо к блоку данных добавлять заголовок TCP или UDP, к этому пакету добавить заголовок IP и пулять в сеть. И обратно. По большому счету ничего сложного. Геморно только TCP реализовать - много факторов влияет на смену текущего состояния TCP. Больше всего и читать по нем. Может вам будет достаточно UDP, тогда все проще, но придется "самому" контролировать доставку. С протоколом ознакомился, думаю начальство неодобрит переписывания стека :blink: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость impatt 8 ноября, 2006 Опубликовано 8 ноября, 2006 (изменено) · Жалоба Как я понял под BSD нужно ос, чтоб разруливать, ос непредполагается, поэтому callback а на нее примеров нет Неправильно. Написано, что механизм взаимодействия с библиотекой такой-же, как в BSD (такой-же, как в Линуксе, *BSD, такоей-же, как в винде 9х, если не ошибаюсь по поводу последней - та, что winsock.dll имеет). Это значит, что у тебя есть несколько функций, посредством которых ты можешь получить доступ ко всем примочкам. По поводу линукса (да хоть той-же *BSD) - эта ось на настольном компьютере поможет тебе нормально промоделировать работу твоей проги под эту библиотеку, ибо API - одинаков. Ферштеен ? Изменено 8 ноября, 2006 пользователем impatt Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cpl 0 8 ноября, 2006 Опубликовано 8 ноября, 2006 · Жалоба Как я понял под BSD нужно ос, чтоб разруливать, ос непредполагается, поэтому callback а на нее примеров нет Неправильно. Написано, что механизм взаимодействия с библиотекой такой-же, как в BSD (такой-же, как в Линуксе, *BSD, такоей-же, как в винде 9х, если не ошибаюсь по поводу последней - та, что winsock.dll имеет). Это значит, что у тебя есть несколько функций, посредством которых ты можешь получить доступ ко всем примочкам. По поводу линукса (да хоть той-же *BSD) - эта ось на настольном компьютере поможет тебе нормально промоделировать работу твоей проги под эту библиотеку, ибо API - одинаков. Ферштеен ? Спасибо теперь начинаю понимать, значит вовсе необязательно использовать низкоуровневые callback функции, (с winsock немного знаком) :smile3009: как привязывается API к железу, через какую функцию ? правильно ли я понял что низкоуровненвые функции ВВ находятся \src\netif\ ethernetif.c в частности low_level_output и low_level_input ? для чего нужен loopif.c ? slipif.c так понимаю для работы по протоколу slip. поправте если неправ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость impatt 9 ноября, 2006 Опубликовано 9 ноября, 2006 · Жалоба Спасибо теперь начинаю понимать, значит вовсе необязательно использовать низкоуровневые callback функции, (с winsock немного знаком) Никаких, как я понимаю, callback-ов. Если я и упомянул про winsock.dll (а не winsock2.dll), то только потому, что слышал, что в ней использовались фукции а-ля BSD. Сам winsock-ом не пользовался. Так как я не пользовался этой библиотекой, то точно ответить на следующие вопросы не могу. Могу посоветовать скачать доку http://www.sics.se/~adam/lwip/doc/lwip.pdf и поглядеть по главам, а также пытаться скомпилировать проект и поглядеть, что получается. как привязывается API к железу, через какую функцию ? Надо, главным образом, как я понимаю, пару функций принимающих пакет и отправляющих его. Это, условно говоря, связь с железом. правильно ли я понял что низкоуровненвые функции ВВ находятся \src\netif\ ethernetif.c в частности low_level_output и low_level_input ? Я не очень в курсе, что такое BB... К сожалению, не могу подсказать и касательно указанных функций и файлов: не имел дела я с этой библиотекой. Могу посоветовать пытаться скомпилировать проект (чего будет недостаточно, а конкретно, связь с железом - будет ошибка и там рыть надо, или, если скомпилируется, отладчиком смотреть, что куда пишется и обращается, станет понятнее), почитать доку неспеша, а также поэкспериментировать с высокоуровневыми функциями на работающей системе (Linux, *BSD). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cpl 0 9 ноября, 2006 Опубликовано 9 ноября, 2006 · Жалоба Понял, попробую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
defunct 0 9 ноября, 2006 Опубликовано 9 ноября, 2006 · Жалоба С протоколом ознакомился, думаю начальство неодобрит переписывания стека :blink: Гм.. а я думаю начальству все равно какой там будет стек, больше всего их будет волновать функциональность. На мой взгляд LwIp сделан криво. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться