Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Кто нибудь поднял уже IP стек на LPC23xx
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
khach
Заработал ли у кого-нибудь NicheLite с сайта NPX? Есть пара вопросов по подружить его со своим кодом (логика обработки событий в такой системе непонятна пока)
3.14
Собственно, присоединяюсь к вопросу.
Стал перекручивать его для своей платы, возникли сомнения, например по ходу майна выполняется функция netmain(), при не нулевом возврате которой все стопорится, так вот эта netmain никогда ноль не возвратит (по тем макроопределениям что по умолчанию).
Ребята, у кого MCB23хх присутсвует, можете плиз подтвердить жизнеспособность приложеного апликейшена.
Bosicc
Имею такую борду. Скачал проект, но к сожалению нет кряка для uVision sad.gif Посему 118к кода зашить немогу sad.gif
Может кто подскажет где найти ключик ( крякчик ), то зашью и проверю.
Andrew2000
Скачал, собрал, DHCP отработал, ping-и к плате идут, подробнее не ковырял.
3.14
2 Andrew2000
собрали как есть или какие настройки меняли?
Andrew2000
Скачал из Вашего поста #2.
Собрал как есть.
Там включен DHCP, и терминалка настроена на COM0 115200 - полученный IP можно посмотреть (команда "stat").
Web-server тож работает.
Подробнее разбираться не буду - времени пока нет.
khach
PHY оригинальное было? Есть ли список мест, где надо менять код, чтобы запустить с другим PHY? Может ли кто обьяснить их модель абстракции PHY, или такого там вообще нет?
Запутался в определениях, тем более что переменные с корнем _phy_ встречаются не только в emac.c
emac.h, но и в arp.h, но значат там совсем другое. Достаточно ли переделать emac.c emac.h под свой PHY?
Извините за чайниковские вопросы, эзернет на АРМах только осваиваю.
Ps. А как к их операционке обслуживание USB прикрутить?
3.14
Все что касается РНY это только в emac, ну а править надо (насколько я проникся) только eth_phy_init. В моем случае еще пришлось eth_phy_read подправить (KS8721), не понял по чему но если опрашивать не только MIND_BUSY бит то из цикла не выйдет, хотя по отдельности все сбрасывается.
3.14
Ну как успехи?
Я пока на приеме уперся рогом.
Пакеты принимаются но с флагом ошибки контрольной суммы sad.gif
Забавная ситуация получается, когда я пингую хост со своей платы (и смотрю ethreal-ом), РС-шка получает ARP запрос и отвечает на него, а моя борда ответ РС-шки уже не понимает.
3.14
Заметил такую пакость, после n-ого TCP соединения и разрыва, система валится (примерно 50 соединений/разрывов). Стал рабираться, выяснилось: при открытии соединения инятся структуры msring_add(&ht_msring, so), а вот при закрытии соединения память не освобождается (это в демо вебсервера). С пмомщью эксплорера эксперимент не повторить т.к. страница потом из кеша берется, я экспериментировал из матлаба - открывал и закрывал соединение. Первым делом полез искать функции освобождения памяти из под сокетовых структур, нашлась быстро msring_del. Забавно, в самом демо вебсервере, после того как он отправит ответ закоментарена строка этой msring_del функции, если ее тупо раскоментарить, то не соберется (нужно явный тип указателя сделать), если все-таки ее включить то все валится при еще меньшем количестве TCP соединений. Странно это все ...
3.14
Вобщем, надо пользоваться m_close ...
Цырен
Цитата(Bosicc @ Feb 13 2007, 15:50) *
Имею такую борду. Скачал проект, но к сожалению нет кряка для uVision sad.gif Посему 118к кода зашить немогу

Разве там столько кода требуется? Как сказано в на сайте NXP, для nichelite требуется 12кБ кода, если брать ХЕКС то он в thumb режиме занимает 195кБ, а в ARM режиме и того больше. Может я чего-то не понял?
Но вернусь к своим баранам.
1) Я не всосал как работает этот стэк (что у него к сокетам подключено, протокол какой-нить)?
2) Нужно ли править код перед прошивкой?
3) Как проверить работоспособность платки (она у меня своя, LPC2364, физ.уровень обесп. МС KS8721)? Подключить к компу через перекрестный кабель и набрать адрес типа \\192.168.0.161?
4) Что значит когда говорят "пингуется"?
help.gif
3.14
2 Цырен
Видел Вашу просьбу, вечером отвечу ...
NicheLite это не просто стек, это как бы ОС со стеком и кучей мелочей, поэтому может сам стек и весит 12к, но все вместе сотни килобайт.
1) Дык у него по умолчанию по WEB сервер по 80 порту, еще DHCP, TFTP.
2)?
3)Начните разбираться с инициализации PHY, подключитесь через терминал, NicheLite имеет кучу диагностических команд ...
4) это означает, что ваше устройство живет в сети и ему там не плохо smile.gif
etoja
Пингуется - это значит подать команду типа

ping 192.168.99.1 -t

и наблюдать ответы сервера.
Цырен
Цитата(3.14 @ Jun 28 2007, 16:23) *
2 Цырен
Видел Вашу просьбу, вечером отвечу ...
NicheLite это не просто стек, это как бы ОС со стеком и кучей мелочей, поэтому может сам стек и весит 12к, но все вместе сотни килобайт.
1) Дык у него по умолчанию по WEB сервер по 80 порту, еще DHCP, TFTP.
2)?
3)Начните разбираться с инициализации PHY, подключитесь через терминал, NicheLite имеет кучу диагностических команд ...
4) это означает, что ваше устройство живет в сети и ему там не плохо smile.gif


Спасибо за быстрый ответ. Я как раз только начал править инициализацию (eth_phy_init()). Похоже мне с моим кристаллом KS8721 сразу не начать теститься. Под терминалом понимается подключение к компу через последовательный порт RS232 с помощью HyperTerminal? Знаете, плата не была на то расчитана, но я попробую вытащить ножки UARTа, когда совсем отчаюсь. А диагностические команды по умолчанию подключены к коду или надо в коде какой дифинишн править? Как надо настроить соединение на компе? И еще: IP-адрес в nichelite сам определяется в соответствии с ARP или его можно жестко задавать? Получается, что моя платка выступает в роли сервера, и мне надо знать его адрес, чтобы "пинговать" его? Но как я узнаю адрес (а у меня нет возможности подключить терминал), если он устанавливается сам. Если можно, то объясните на пальцах, я в этом, не то чтобы не совсем, а совсем не шарю. Но разобраться хочу.
Спасибо.

2 etoja
Спасибо, тож.


А, и еще! Не по теме: где в КЕЙЛе подсмотреть размер кода, который реально шьется во флэш? Может мне 128кБ и не хватит для nichelite?
Цырен
2 khach
Спасибо за ссылку на доку и код со схемой. У меня была другая. Со временем как только буду иметь положительные результаты буду делиться ими с посетителями темы. И, конечно, буду консультироваться с вами. И вообще, все кто осваивает Ethernet в LPC23xx объединяйтесь!
khach
Кстати, вывалил в upload/OS/Micrium примеры для 23хх, 24хх и 28хх. Там тоже ip стек есть ( от uCOS)
Цырен
2 khach
Я из своей платки вытащил ножки TxD, RxD и GND и перекинул их на USB мост... Короче, я подключил платку к компу и хочу теперь выводить сообщения через UART. Вопросы: настраивается ли в проге УАРТ (PINSEL в том числе) и выводились ли у тебя сообщения на мониторе с кодом без поправок? Спасибо.
Помоему, где-то прога виснет, ожидая чего-то. Весь день сидел привыкал к этому КЕЙЛу...
Цырен
Короче не стартанула плата нашего изготовления и я заказал eval.board LPC-2378-STK от OLIMEX. Ревизия b. Прошил код примера uIP - не работает! Попарился-попарился и нешел в коде то, как исправить плату! Черте что. А еррат на саму борду нет. Ну я поправил как в описании и все стартануло. Теперь надо будет схемку на нашей плате подкорректировать и вшить uIP.
Цырен
В продолжение темы скажу, что я поднял TCP/IP стэк, но есть вопросы. Они тут
http://electronix.ru/forum/index.php?showt...160&hl=TFTP
std-logic
Возвращаясь к теме стека NicheLite для LPC: Портировал ли кто-нибудь этот стек на другую операционку (в частности интересует FreeRTOS)? У меня пока не очень получается разобраться со взаимодействием NicheLite и RTOS... То есть основное понятно, подставляем в файле "osport.h" свои вызовы из своей оси, заменяем тики таймера на свои из оси и т.п. Но некоторые моменты мне не ясны - получается, что в netmain создаются задачи для стека, но как они взаимодействуют между собой? как я понял в NicheLite реализованы свои очереди? или они относятся только к пакетам из/в драйвера МАС ?

Существует ли более подробное описание стека, кроме того, что представлено в дистрибутиве в папке LPC_30doc, особенно касательно взаимодействию с RTOS?

Сравнивал ли кто-нибудь этот стек, например, с lwIP в плане скорости/сложности использования/доступности для понимания?

У кого есть опыт использования NicheLite - отзовитесь help.gif
lebiga
Цитата(3.14 @ Feb 28 2007, 21:25) *
Вобщем, надо пользоваться m_close ...



Подскажите, как в Nichelite открыть сокет по какому нибуть порту и передавать непрерывно данные в комп ( использую DELPHI, пакет INDY, клиент). Это можно сделать парой строчек или нужно писать кучу кода, как в http? Что-то совсем запутался
ecos-rtos_in_ua
А как к Nichelite прикрутить файловую систему FAT для MMC карточек от ChaN? Подскажите пожалуйста (есть SK-LPC-S3E)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.