|
TCP/IP + ATMEGA128 + CS8900, Подскажите с чего начать, примеры |
|
|
|
Nov 7 2006, 17:51
|
Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 6-12-04
Пользователь №: 1 340

|
Требуется разработать TCP сервер для удаленных измерений. за основу взял Мегу128 + CS8900 + RAM 64k решил копать с сторону LWIP стека (с перспективой использования стека под арм). Вопрос чего начать, по скудной документации понятно что лучше работь в режиме callback function (попроше), несовсем понятно с чего начинать как инитить сам стек и обрабатывать пакеты. железо запустил, принимает пакеты и выводит в UART порт, подошел к стеку и попал в тупик, подскажите как с ним работать ?
|
|
|
|
|
Nov 7 2006, 21:19
|

За битами по регистрам гоняюсь
  
Группа: Свой
Сообщений: 457
Регистрация: 24-04-06
Из: Таганрог
Пользователь №: 16 446

|
Цитата(cpl @ Nov 8 2006, 00:53)  Интерисует именно стек LWIP 15 секунд поиска в Yandex дали: http://www.sics.se/~adam/lwip/
--------------------
Курсор влево, курсор вправо - считается хакерством. FORMAT C: производится без предупреждения
|
|
|
|
|
Nov 8 2006, 05:48
|
Частый гость
 
Группа: Validating
Сообщений: 169
Регистрация: 10-11-04
Из: Челябинск
Пользователь №: 1 088

|
Цитата(cpl @ Nov 8 2006, 00:31)  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-ка, там есть примеры.
Сообщение отредактировал impatt - Nov 8 2006, 05:53
|
|
|
|
|
Nov 8 2006, 06:37
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(cpl @ Nov 7 2006, 21:51)  Требуется разработать TCP сервер для удаленных измерений. за основу взял Мегу128 + CS8900 + RAM 64k Могу прислать описания и софт для micrel.com - KSZ8842/1 - и это будет Ethernet 10/100. Это примерно 6 Мег. И сделайте поиск по нику "Волощенко". Он только что аналогичеую вещь закончил на CS8900, подумал над жизнью и попросил образец KSZ8842.... Вот для затравки пара документов.
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Nov 8 2006, 10:52
|
Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 6-12-04
Пользователь №: 1 340

|
Цитата(impatt @ Nov 8 2006, 08:48)  Цитата(cpl @ Nov 8 2006, 00:31)  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 а на нее примеров нет
|
|
|
|
|
Nov 8 2006, 11:45
|
Частый гость
 
Группа: Validating
Сообщений: 169
Регистрация: 10-11-04
Из: Челябинск
Пользователь №: 1 088

|
Цитата(cpl @ Nov 8 2006, 13:52)  Как я понял под BSD нужно ос, чтоб разруливать, ос непредполагается, поэтому callback а на нее примеров нет Неправильно. Написано, что механизм взаимодействия с библиотекой такой-же, как в BSD (такой-же, как в Линуксе, *BSD, такоей-же, как в винде 9х, если не ошибаюсь по поводу последней - та, что winsock.dll имеет). Это значит, что у тебя есть несколько функций, посредством которых ты можешь получить доступ ко всем примочкам. По поводу линукса (да хоть той-же *BSD) - эта ось на настольном компьютере поможет тебе нормально промоделировать работу твоей проги под эту библиотеку, ибо API - одинаков. Ферштеен ?
Сообщение отредактировал impatt - Nov 8 2006, 11:46
|
|
|
|
|
Nov 8 2006, 12:58
|
Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 6-12-04
Пользователь №: 1 340

|
Цитата(impatt @ Nov 8 2006, 14:45)  Цитата(cpl @ Nov 8 2006, 13:52)  Как я понял под BSD нужно ос, чтоб разруливать, ос непредполагается, поэтому callback а на нее примеров нет
Неправильно. Написано, что механизм взаимодействия с библиотекой такой-же, как в BSD (такой-же, как в Линуксе, *BSD, такоей-же, как в винде 9х, если не ошибаюсь по поводу последней - та, что winsock.dll имеет). Это значит, что у тебя есть несколько функций, посредством которых ты можешь получить доступ ко всем примочкам. По поводу линукса (да хоть той-же *BSD) - эта ось на настольном компьютере поможет тебе нормально промоделировать работу твоей проги под эту библиотеку, ибо API - одинаков. Ферштеен ? Спасибо теперь начинаю понимать, значит вовсе необязательно использовать низкоуровневые callback функции, (с winsock немного знаком) как привязывается API к железу, через какую функцию ? правильно ли я понял что низкоуровненвые функции ВВ находятся \src\netif\ ethernetif.c в частности low_level_output и low_level_input ? для чего нужен loopif.c ? slipif.c так понимаю для работы по протоколу slip. поправте если неправ
|
|
|
|
|
Nov 9 2006, 03:10
|
Частый гость
 
Группа: Validating
Сообщений: 169
Регистрация: 10-11-04
Из: Челябинск
Пользователь №: 1 088

|
Цитата(cpl @ Nov 8 2006, 15:58)  Спасибо теперь начинаю понимать, значит вовсе необязательно использовать низкоуровневые callback функции, (с winsock немного знаком) Никаких, как я понимаю, callback-ов. Если я и упомянул про winsock.dll (а не winsock2.dll), то только потому, что слышал, что в ней использовались фукции а-ля BSD. Сам winsock-ом не пользовался. Так как я не пользовался этой библиотекой, то точно ответить на следующие вопросы не могу. Могу посоветовать скачать доку http://www.sics.se/~adam/lwip/doc/lwip.pdf и поглядеть по главам, а также пытаться скомпилировать проект и поглядеть, что получается. Цитата(cpl @ Nov 8 2006, 15:58)  как привязывается API к железу, через какую функцию ? Надо, главным образом, как я понимаю, пару функций принимающих пакет и отправляющих его. Это, условно говоря, связь с железом. Цитата(cpl @ Nov 8 2006, 15:58)  правильно ли я понял что низкоуровненвые функции ВВ находятся \src\netif\ ethernetif.c в частности low_level_output и low_level_input ? Я не очень в курсе, что такое BB... К сожалению, не могу подсказать и касательно указанных функций и файлов: не имел дела я с этой библиотекой. Могу посоветовать пытаться скомпилировать проект (чего будет недостаточно, а конкретно, связь с железом - будет ошибка и там рыть надо, или, если скомпилируется, отладчиком смотреть, что куда пишется и обращается, станет понятнее), почитать доку неспеша, а также поэкспериментировать с высокоуровневыми функциями на работающей системе (Linux, *BSD).
|
|
|
|
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|