Перейти к содержанию
    

Подружить TNKernel + TNNet с LPC1768

Пытаюсь портировать стек TNNet на LPC1768, на данный момент все файлы порта переписал, но столкнулся с непонятной проблемой.

Инициализация MAC, PHY почти проходит, затыкаясь на инициализации дескрипторов.

 

UPDATE

Проблему нашел, была моя невнимательность. Но стек пока не заработал, буду двигаться дальше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

 

Проект для Eclipse + GNU ARM Plugin + Sourcery GCC.

tnnet_lpc1768.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня без проблем получилось. И изменения не значительные типа

#if __CORE__ < 7

#define MEM_DRV_START_ADDR 0x7FE00000u //-- LPC2368

#else

#define MEM_DRV_START_ADDR 0x20080000u //-- LPC1768

#endif

 

lpc_net.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня без проблем получилось.

 

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

 

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

 

Заранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ура, ура! У меня получилось :)

 

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

 

Теперь потестирую хорошенько и выложу свой вариант.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рабочий проект выложить не могу, а отдельно сделать к сожалению сейчас нет времени. Выкладываю свои изменения в стеке Юрия которому, пользуясь случаем, огромное спасибо за эту работу. Всё остальное в tcp.cpp. Основное изменение это возможность одновременно использовать для Cortex и ARM7 проектов. MAC address первые три NXP Semiconductors (0x00,0x60,0x37) остальные берутся из серийного номера. Успеха!

tn_net.zip

tcp.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выкладываю свои изменения в стеке Юрия которому, пользуясь случаем, огромное спасибо за эту работу. Всё остальное в tcp.cpp.

Спасибо! Сравнил Ваши исходники с версией Юрия - изменения только косметические. Мне удалось запустить тестовые проекты - пока полет нормальный, буду тестировать дальше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо! Сравнил Ваши исходники с версией Юрия - изменения только косметические. Мне удалось запустить тестовые проекты - пока полет нормальный, буду тестировать дальше.

 

Здравствуйте!

можете поделиться тестовым проектом? никак не получается собрать работающий вариант для LPCExpresso 1769 :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто нибудь подружил уже TNNet с STM32 и/или LPC4375? Администрация спрашивает сколько усилий мне для этого надо...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне удалось запустить тестовые проекты - пока полет нормальный, буду тестировать дальше.

 

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

 

Теме хоть и два года, но актуальна до сих пор

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот. 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 для Ваших проектов.

tnnet2.zip

cpu_lpc.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто нибудь подружил уже TNNet с STM32 и/или LPC4375? Администрация спрашивает сколько усилий мне для этого надо...

Такой же вопрос. Нужен TN-NET под STM32F4 и желательно под FreeRTOS (не под TNKernel). Мой уровень - начинающий, разбираться в ассемблерных startup-файлах все еще тяжело. Стоит ли или браться за портирование? Нужно работать по TCP с высокой скоростью (использовать в продукте UDP категорически запретили, поэтому ищу готовый стек способный ее обеспечить и несложный в освоении).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не советую портировать TNNET. Внутри используются сервисы TNKerenel, и без хорошего знания обеих осей это не получится. Под FreeRTOS есть же нормально работающий lwIP, поищите по форуму - здесь это постоянно обсуждается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...