Pavel V.
Dec 26 2010, 05:34
Пытаюсь портировать стек TNNet на LPC1768, на данный момент все файлы порта переписал, но столкнулся с непонятной проблемой.
Инициализация MAC, PHY почти проходит, затыкаясь на инициализации дескрипторов.
UPDATE
Проблему нашел, была моя невнимательность. Но стек пока не заработал, буду двигаться дальше.
Pavel V.
Dec 27 2010, 02:27
К сожалению, пока пришлось прекратить попытки запустить этот стек из-за отсутствия времени и переключиться на более простой и понятный uIP. Выкладываю проект со своими потугами портирования. В нем содержится TNKernel и TNNet адаптированные для lpc1768.
Проект нормально собирается и запускается. Даже какие-то пакеты по сети проходят судя по логам Wireshark-а, но праздника первого пинга так и не получилось, к сожалению. Может быть кто-нибудь доведет до ума.
Скорее всего там проблема с прерываниями, я тут пока еще профан, т.к. АРМами плотно занимаюсь всего неделю.
Проект для Eclipse + GNU ARM Plugin + Sourcery GCC.
У меня без проблем получилось. И изменения не значительные типа
#if __CORE__ < 7
#define MEM_DRV_START_ADDR 0x7FE00000u //-- LPC2368
#else
#define MEM_DRV_START_ADDR 0x20080000u //-- LPC1768
#endif
Pavel V.
Dec 27 2010, 13:32
Цитата(prgjz @ Dec 27 2010, 17:01)

У меня без проблем получилось.
Огромное спасибо!
Не могли бы Вы проект целиком выложить (не обязательно, чтобы он собирался, основные исходники можно вырезать, оставить только инициализацию периферии, обработчики прерываний и т.д.). Можно в личку, а я потом проверю, причешу это дело и выложу в виде порта.
Заранее спасибо!
Pavel V.
Dec 28 2010, 05:42
Ура, ура! У меня получилось

Распечатал на бумаге оригинальный порт 2368, свой порт, порт от
prgjz и начал сравнивать

В своем варианте нашел одну опечатку (вместо Rx было Tx), немного подкорректировал инициализацию MAC и все полетело

Теперь потестирую хорошенько и выложу свой вариант.
Рабочий проект выложить не могу, а отдельно сделать к сожалению сейчас нет времени. Выкладываю свои изменения в стеке Юрия которому, пользуясь случаем, огромное спасибо за эту работу. Всё остальное в tcp.cpp. Основное изменение это возможность одновременно использовать для Cortex и ARM7 проектов. MAC address первые три NXP Semiconductors (0x00,0x60,0x37) остальные берутся из серийного номера. Успеха!
Pavel V.
Dec 28 2010, 14:22
Цитата(prgjz @ Dec 28 2010, 12:28)

Выкладываю свои изменения в стеке Юрия которому, пользуясь случаем, огромное спасибо за эту работу. Всё остальное в tcp.cpp.
Спасибо! Сравнил Ваши исходники с версией Юрия - изменения только косметические. Мне удалось запустить тестовые проекты - пока полет нормальный, буду тестировать дальше.
user_electronix
May 26 2013, 21:05
Цитата(Pavel V. @ Dec 28 2010, 18:22)

Спасибо! Сравнил Ваши исходники с версией Юрия - изменения только косметические. Мне удалось запустить тестовые проекты - пока полет нормальный, буду тестировать дальше.
Здравствуйте!
можете поделиться тестовым проектом? никак не получается собрать работающий вариант для LPCExpresso 1769
Кто нибудь подружил уже TNNet с STM32 и/или LPC4375? Администрация спрашивает сколько усилий мне для этого надо...
megajohn
Jul 22 2013, 14:26
Цитата(Pavel V. @ Dec 28 2010, 18:22)

Мне удалось запустить тестовые проекты - пока полет нормальный, буду тестировать дальше.
Удалось ли вам допилить TN-NET для LPC1768 ? Поделитесь ли с остальными участниками ?
Теме хоть и два года, но актуальна до сих пор
ecomp42
Jul 23 2013, 13:34
Вот. Pavel V. на каком-то форуме выкладывал часть TNNET для LPC1768, это сделано на его основе. Сначала под стартеркитовскую SKMLPC1768, текущий проект для устройства на LPC1758 с кварцем на 18.432 МГц. Для LPC175x реализован программный MDIO ввиду неработоспосбности аппаратного.
Для переделки под LPC1768 надо убрать в defines проекта определение __175x__. И для кварца на 12 МГц вместо файла system_LPC17xx_18M43-73M74.c подключить system_LPC17xx_12M-72M.c, или поправить настройки PLL руками.
На всякий случай в cpu_lpc соотв. подкаталог из рабочего проекта с автоопределением адреса PHY.
Работает с PHY KS8721 (на стартеркитовских платах) и KSZ8031.
Сейчас при выборе стека я бы посоветовал обратить внимание на актуальность IPv6 для Ваших проектов.
remi700
Jan 30 2014, 21:58
Цитата(prgjz @ Jul 15 2013, 15:17)

Кто нибудь подружил уже TNNet с STM32 и/или LPC4375? Администрация спрашивает сколько усилий мне для этого надо...
Такой же вопрос. Нужен TN-NET под STM32F4 и желательно под FreeRTOS (не под TNKernel). Мой уровень - начинающий, разбираться в ассемблерных startup-файлах все еще тяжело. Стоит ли или браться за портирование? Нужно работать по TCP с высокой скоростью (использовать в продукте UDP категорически запретили, поэтому ищу готовый стек способный ее обеспечить и несложный в освоении).
ecomp42
Jan 31 2014, 04:41
Не советую портировать TNNET. Внутри используются сервисы TNKerenel, и без хорошего знания обеих осей это не получится. Под FreeRTOS есть же нормально работающий lwIP, поищите по форуму - здесь это постоянно обсуждается.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.