Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подружить TNKernel + TNNet с LPC1768
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Pavel V.
Пытаюсь портировать стек TNNet на LPC1768, на данный момент все файлы порта переписал, но столкнулся с непонятной проблемой.
Инициализация MAC, PHY почти проходит, затыкаясь на инициализации дескрипторов.

UPDATE
Проблему нашел, была моя невнимательность. Но стек пока не заработал, буду двигаться дальше.
Pavel V.
К сожалению, пока пришлось прекратить попытки запустить этот стек из-за отсутствия времени и переключиться на более простой и понятный uIP. Выкладываю проект со своими потугами портирования. В нем содержится TNKernel и TNNet адаптированные для lpc1768.

Проект нормально собирается и запускается. Даже какие-то пакеты по сети проходят судя по логам Wireshark-а, но праздника первого пинга так и не получилось, к сожалению. Может быть кто-нибудь доведет до ума.

Скорее всего там проблема с прерываниями, я тут пока еще профан, т.к. АРМами плотно занимаюсь всего неделю.

Проект для Eclipse + GNU ARM Plugin + Sourcery GCC.
prgjz
У меня без проблем получилось. И изменения не значительные типа
#if __CORE__ < 7
#define MEM_DRV_START_ADDR 0x7FE00000u //-- LPC2368
#else
#define MEM_DRV_START_ADDR 0x20080000u //-- LPC1768
#endif

Pavel V.
Цитата(prgjz @ Dec 27 2010, 17:01) *
У меня без проблем получилось.


Огромное спасибо!

Не могли бы Вы проект целиком выложить (не обязательно, чтобы он собирался, основные исходники можно вырезать, оставить только инициализацию периферии, обработчики прерываний и т.д.). Можно в личку, а я потом проверю, причешу это дело и выложу в виде порта.

Заранее спасибо!
Pavel V.
Ура, ура! У меня получилось sm.gif

Распечатал на бумаге оригинальный порт 2368, свой порт, порт от prgjz и начал сравнивать sm.gif В своем варианте нашел одну опечатку (вместо Rx было Tx), немного подкорректировал инициализацию MAC и все полетело sm.gif

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

Спасибо! Сравнил Ваши исходники с версией Юрия - изменения только косметические. Мне удалось запустить тестовые проекты - пока полет нормальный, буду тестировать дальше.
user_electronix
Цитата(Pavel V. @ Dec 28 2010, 18:22) *
Спасибо! Сравнил Ваши исходники с версией Юрия - изменения только косметические. Мне удалось запустить тестовые проекты - пока полет нормальный, буду тестировать дальше.


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


Удалось ли вам допилить TN-NET для LPC1768 ? Поделитесь ли с остальными участниками ?

Теме хоть и два года, но актуальна до сих пор
ecomp42
Вот. 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
Цитата(prgjz @ Jul 15 2013, 15:17) *
Кто нибудь подружил уже TNNet с STM32 и/или LPC4375? Администрация спрашивает сколько усилий мне для этого надо...

Такой же вопрос. Нужен TN-NET под STM32F4 и желательно под FreeRTOS (не под TNKernel). Мой уровень - начинающий, разбираться в ассемблерных startup-файлах все еще тяжело. Стоит ли или браться за портирование? Нужно работать по TCP с высокой скоростью (использовать в продукте UDP категорически запретили, поэтому ищу готовый стек способный ее обеспечить и несложный в освоении).
ecomp42
Не советую портировать TNNET. Внутри используются сервисы TNKerenel, и без хорошего знания обеих осей это не получится. Под FreeRTOS есть же нормально работающий lwIP, поищите по форуму - здесь это постоянно обсуждается.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.