Заработал ли у кого-нибудь NicheLite с сайта NPX? Есть пара вопросов по подружить его со своим кодом (логика обработки событий в такой системе непонятна пока)
Собственно, присоединяюсь к вопросу.
Стал перекручивать его для своей платы, возникли сомнения, например по ходу майна выполняется функция netmain(), при не нулевом возврате которой все стопорится, так вот эта netmain никогда ноль не возвратит (по тем макроопределениям что по умолчанию).
Ребята, у кого MCB23хх присутсвует, можете плиз подтвердить жизнеспособность приложеного апликейшена.
Bosicc
Feb 13 2007, 11:50
Имею такую борду. Скачал проект, но к сожалению нет кряка для uVision

Посему 118к кода зашить немогу

Может кто подскажет где найти ключик ( крякчик ), то зашью и проверю.
Andrew2000
Feb 13 2007, 12:27
Скачал, собрал, DHCP отработал, ping-и к плате идут, подробнее не ковырял.
2 Andrew2000
собрали как есть или какие настройки меняли?
Andrew2000
Feb 13 2007, 13:14
Скачал из Вашего поста #2.
Собрал как есть.
Там включен DHCP, и терминалка настроена на COM0 115200 - полученный IP можно посмотреть (команда "stat").
Web-server тож работает.
Подробнее разбираться не буду - времени пока нет.
PHY оригинальное было? Есть ли список мест, где надо менять код, чтобы запустить с другим PHY? Может ли кто обьяснить их модель абстракции PHY, или такого там вообще нет?
Запутался в определениях, тем более что переменные с корнем _phy_ встречаются не только в emac.c
emac.h, но и в arp.h, но значат там совсем другое. Достаточно ли переделать emac.c emac.h под свой PHY?
Извините за чайниковские вопросы, эзернет на АРМах только осваиваю.
Ps. А как к их операционке обслуживание USB прикрутить?
Все что касается РНY это только в emac, ну а править надо (насколько я проникся) только eth_phy_init. В моем случае еще пришлось eth_phy_read подправить (KS8721), не понял по чему но если опрашивать не только MIND_BUSY бит то из цикла не выйдет, хотя по отдельности все сбрасывается.
Ну как успехи?
Я пока на приеме уперся рогом.
Пакеты принимаются но с флагом ошибки контрольной суммы

Забавная ситуация получается, когда я пингую хост со своей платы (и смотрю ethreal-ом), РС-шка получает ARP запрос и отвечает на него, а моя борда ответ РС-шки уже не понимает.
Заметил такую пакость, после n-ого TCP соединения и разрыва, система валится (примерно 50 соединений/разрывов). Стал рабираться, выяснилось: при открытии соединения инятся структуры msring_add(&ht_msring, so), а вот при закрытии соединения память не освобождается (это в демо вебсервера). С пмомщью эксплорера эксперимент не повторить т.к. страница потом из кеша берется, я экспериментировал из матлаба - открывал и закрывал соединение. Первым делом полез искать функции освобождения памяти из под сокетовых структур, нашлась быстро msring_del. Забавно, в самом демо вебсервере, после того как он отправит ответ закоментарена строка этой msring_del функции, если ее тупо раскоментарить, то не соберется (нужно явный тип указателя сделать), если все-таки ее включить то все валится при еще меньшем количестве TCP соединений. Странно это все ...
Вобщем, надо пользоваться m_close ...
Цитата(Bosicc @ Feb 13 2007, 15:50)

Имею такую борду. Скачал проект, но к сожалению нет кряка для uVision

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

Спасибо за быстрый ответ. Я как раз только начал править инициализацию (eth_phy_init()). Похоже мне с моим кристаллом KS8721 сразу не начать теститься. Под терминалом понимается подключение к компу через последовательный порт RS232 с помощью HyperTerminal? Знаете, плата не была на то расчитана, но я попробую вытащить ножки UARTа, когда совсем отчаюсь. А диагностические команды по умолчанию подключены к коду или надо в коде какой дифинишн править? Как надо настроить соединение на компе? И еще: IP-адрес в nichelite сам определяется в соответствии с ARP или его можно жестко задавать? Получается, что моя платка выступает в роли сервера, и мне надо знать его адрес, чтобы "пинговать" его? Но как я узнаю адрес (а у меня нет возможности подключить терминал), если он устанавливается сам. Если можно, то объясните на пальцах, я в этом, не то чтобы не совсем, а совсем не шарю. Но разобраться хочу.
Спасибо.
2 etoja
Спасибо, тож.
А, и еще! Не по теме: где в КЕЙЛе подсмотреть размер кода, который реально шьется во флэш? Может мне 128кБ и не хватит для nichelite?
2 khach
Спасибо за ссылку на доку и код со схемой. У меня была другая. Со временем как только буду иметь положительные результаты буду делиться ими с посетителями темы. И, конечно, буду консультироваться с вами. И вообще, все кто осваивает Ethernet в LPC23xx объединяйтесь!
Кстати, вывалил в 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
May 19 2008, 06:57
Возвращаясь к теме стека NicheLite для LPC: Портировал ли кто-нибудь этот стек на другую операционку (в частности интересует FreeRTOS)? У меня пока не очень получается разобраться со взаимодействием NicheLite и RTOS... То есть основное понятно, подставляем в файле "osport.h" свои вызовы из своей оси, заменяем тики таймера на свои из оси и т.п. Но некоторые моменты мне не ясны - получается, что в netmain создаются задачи для стека, но как они взаимодействуют между собой? как я понял в NicheLite реализованы свои очереди? или они относятся только к пакетам из/в драйвера МАС ?
Существует ли более подробное описание стека, кроме того, что представлено в дистрибутиве в папке LPC_30doc, особенно касательно взаимодействию с RTOS?
Сравнивал ли кто-нибудь этот стек, например, с lwIP в плане скорости/сложности использования/доступности для понимания?
У кого есть опыт использования NicheLite - отзовитесь
lebiga
Jun 10 2008, 09:31
Цитата(3.14 @ Feb 28 2007, 21:25)

Вобщем, надо пользоваться m_close ...
Подскажите, как в Nichelite открыть сокет по какому нибуть порту и передавать непрерывно данные в комп ( использую DELPHI, пакет INDY, клиент). Это можно сделать парой строчек или нужно писать кучу кода, как в http? Что-то совсем запутался
ecos-rtos_in_ua
Jun 10 2008, 16:59
А как к Nichelite прикрутить файловую систему FAT для MMC карточек от ChaN? Подскажите пожалуйста (есть SK-LPC-S3E)
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.