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

Ethernet для TMS64x

Хотел бы узнать, где можно достать библиотеки и примеры кода реализации Ethernet на TMS320DM643 (или процессоров данного семейства) (EMAC, MDIO)? Также документы по программированию Ethernet для данного процессора. Был бы признателен, за всю информацию. Процессоры данного семейства знаю хорошо, но программировать EMAC и MDIO не приходилось. На процессоре не используется никакой операционой системы. Хотелось бы реализовать реальный обмен (Для начала возможно через петлю). Заранее признателен.

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


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

Для TSM320DM64x есть NDK. Можно взять на местном FTP или поискать где-то еще.

Для использования NDK на процессоре должно быть установлено DSP/BIOS. В данном проекте оно не используется.

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


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

Тогда придется разбираться самостоятельно - не думаю, что Вам кто-то сможет предложить готовое решение.

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


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

Есть исходный примерчик в "C:\CCStudio_v3.3\boards\evmc6424_v1\tests\emac\" по работе с Ethernet через EMAC от Spectrum Digital. Правда не доделанный какой-то. Я его взял за основу, так как мне нужно только проверить испавность изготовления платы, ни какого соединения по Ethernet создавать не надо.

  • В режиме RMII с грехом пополам тестируется с заглушкой на Ethernet-разъеме. То есть то принимает, то не принимает отосланный им пакет.
  • А в MII вообще тишина. Пример правда исходно кривой, даже не установлен был делитель для обмена по MDIO, но другого нет.

Такое впечетление, что или неправильно управляется трансивер Micrel KS8001, или что-то нужно переключить на плате для режима MII, кроме SW3. Тест в режиме LoopBack на DSP проходит на ура, как перехожу к трансиверу - глухо: ни LoopBack на нем, ни заглушка не срабатывают.

Пытаюсь решить эту проблему, если пример подходит, можно попробовать разобраться вместе.

 

С уважением, Юрий

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


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

Приветствую!

 

Для использования NDK на процессоре должно быть установлено DSP/BIOS. В данном проекте оно не используется.

 

TI пишет что функции работы с OS в NDK вынесены в отдельный модуль, можно адаптировать для себя (исходники прилагаются). Начиная с v1.94 NDK TI раздают "даром" (в виде библиотеки) можно скачать прямо с сайта. Если не нужна поддержка IP6 то v2.0 использовать не стоит - размер при линковке чуть ли не в 2 раза больше чем v1.94.

 

Где-то попадалась ссылка на uCOS и lwip для 6x

 

Успехов! Rob.

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


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

Приветствую!

TI пишет что функции работы с OS в NDK вынесены в отдельный модуль, можно адаптировать для себя (исходники прилагаются). Начиная с v1.94 NDK TI раздают "даром" (в виде библиотеки) можно скачать прямо с сайта. Если не нужна поддержка IP6 то v2.0 использовать не стоит - размер при линковке чуть ли не в 2 раза больше чем v1.94.

Где-то попадалась ссылка на uCOS и lwip для 6x

Успехов! Rob.

А оно работает?

Я взял пример из "...\boards\evmc6424_v1\tests\emac\", он глючит.

По докам на C6424-EVM и Micrel KS8001 установка регистров трансивера по умолчанию должна уже работать. Мало того с передающим каналом все нормально:

- вставляю заглушку сообщает, что передал;

- вынимаю заглушку честно говорит, что передача не прошла;

А вот прием молчит при разных режимах: LoopBack или заглушка.

 

Или я в доке что-то пропустил, или на плате кроме SW3 нужно еще что-то переключить/перепаять. Она ведь на два режима сделана: MII/RMII.

Если кто-нибудь сталкивался - подскажите.

 

А я пока посмотрю, как под OS это дело работает, может что-нибудь откопаю.

С уважением, Юрий

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


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

А оно работает?

...

А вот прием молчит при разных режимах: LoopBack или заглушка.

 

Или я в доке что-то пропустил, ....

Если кто-нибудь сталкивался - подскажите.

..

А состояние регистров в трансивере можете прочитать? Они соответствует тому, что Вы ожидаете?

RX_DV меняет свое значение?

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


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

А состояние регистров в трансивере можете прочитать? Они соответствует тому, что Вы ожидаете?

RX_DV меняет свое значение?

Регистры читаются, записываются и сбрасываются по ResetSoft, но режим пока не подобрать не могу.

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


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

что-то нужно переключить на плате для режима MII, кроме SW3

Юрий,

 

В reduced работает, а в full нет - вероятно это означает, что

пины С6424, которые используются в режиме MII (но не используются

в режиме RMII), неправильно мультиплексированы. В DS должна быть

таблица мультиплексирования пинов и описание регистра (или регистров),

биты которых этим мультиплексированием управляют.

 

С грехом пополам - очень вероятно из-за того, что тест сделан без

настоящих прераваний, а _wait(10000) перед опросом регистров (busy

period) или мало или много и, как следствие, нужное событие или

ещё не произошло или пропущено. Точно сказать не возьмусь, но истина

где-то рядом.

 

> Где-то попадалась ссылка на uCOS и lwip для 6x

Для С6713 DSK, где EMAC немножко другой - нужно переписывать

всё, что относится к уровню контроллера в С6424.

 

--

AN

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


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

Всем спасибо.

Как оказалось, был прав один из участников форума - все дело в криворуких индусах, которые пишут тесты для TI. В примере из "...\boards\evmc6424_v1\tests\emac\":

  • три глюка по MDIO:

    1. не установлен делитель частоты для обмена по MDIO, можно взять стандартный - 256;
    2. установка новых данных и программый RESET в рег.0 - взаимо исключающие режимы;
    3. после программого RESET по рег.0 нужно долго ждать установки режима, лучше контролировать какой-нибудь регистр, например, рег.1F, должен быть = 0x9598;

  • один глюк по EMAC:

    1. в 1-битное поле RMIISPEED рег.MACCONTROL они умудрились послать число 1000 (0x03E8), из-за чего в 16-битном резервном поле установилось значение 0x0040, и всякая работа с RSZ8001 накрылась. Наверное там записывается какая-то служебная информация.

После этих исправлений тест прекрасно заработал.

 

С уважением, Юрий

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


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

всякая работа с RSZ8001 накрылась

И зачем на индусов валить - прекрасные ребята, написали отличный софт для отличного

устройства. Go google looking for "RSZ8001" !!! А у меня тоже с таким устройстом не

работается....

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


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

Почему-то они даже не удосужились запустить и проверить на работоспособность этот "отличный софт для отличного устройства", как делаю все нормальные люди, перед тем как выложить для всеобщего использования. Ведь он предназначен для людей, которые впервые столкнулись с программированием этого нового для себя железа, и не понимают пока всех тонкостей работы с ним. Тем кто разобрался эти библы и примеры не нужны, у них уже свои.

Очень странный подход для "прекрасных ребят": написал что-то, не проверил, и поместил в официальный совт. А там кому надо, тот пусть и доводит его до ума.

А может "прекрасные ребята" все такие, тогда, боже избавь, нас от этих "прекрасных ребят".

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


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

не удосужились запустить и проверить

(Напоминание для меня - absolutely off the topic) - я же совершенно иное имел ввиду :)

Когда речь зашла о микреловском фай девайсе, я решил, что это "KS8001", а потом

увидел, что марка другая, "RSZ8001". Я решил поискать его DS, честно набрал в

гугле (английском гугле) "Micrel RSZ8001" и получил "didn't match any". Тогда, немного

удивившись, я убрал из запроса "Micrel" и просто оставил "RSZ8001". Вот тут-то я и

догадался, что индусы всё правильно спрограммировали, только не для нужного

девайса, хотя оно тоже силикон! Англ. гугл = http://www.google.com/intl/en/

 

P.S. Не помню, кто-нибудь упоминал spraa90.pdf и spraa90.zip - можно списать из ti.com. Наверняка тоже

потребуются модификации, но вдруг окажется полезным.

Изменено пользователем AndrewN

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


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

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

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

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

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

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

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

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

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

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