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

Ethernet. "Подрался" с Программистом-линуксоидом.

Ситуация(тут обсуждалась): ARM-проц - шлёт по RGMII данные, сырые, без TCP и прочего. Тупо, пакеты без подтверждения о приходе. Я с помощью ПЛИСа это слушаю, выдёргиваю нужные мне заголовки и всё прекрасно. Было...

MDIO - не используется.

RX- не используется, висит в воздухе, клоки на RX не заводятся.

Слушаю только TX, а точнее :ARM, тупо, заливает по TX данные в разделяемую память ПЛИСа...

То есть, я ни как не могу уведомить ПРОЦ о состоянии ETHERNETa и переданных пакетов.

Раз в сутки возникает ситуация, что проц перестаёт гнать данные, заявляя, что ETHERNET-буфер - FULL. Кто ARMу говорит, что буфер у него FULL и как такое может произойти? Я ведь, никак ничем не маячу.

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


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

Ситуация(тут обсуждалась): ARM-проц - шлёт по RGMII данные, сырые, без TCP и прочего. Тупо, пакеты без подтверждения о приходе. Я с помощью ПЛИСа это слушаю, выдёргиваю нужные мне заголовки и всё прекрасно. Было...

MDIO - не используется.

RX- не используется, висит в воздухе, клоки на RX не заводятся.

Слушаю только TX, а точнее :ARM, тупо, заливает по TX данные в разделяемую память ПЛИСа...

То есть, я ни как не могу уведомить ПРОЦ о состоянии ETHERNETa и переданных пакетов.

Раз в сутки возникает ситуация, что проц перестаёт гнать данные, заявляя, что ETHERNET-буфер - FULL. Кто ARMу говорит, что буфер у него FULL и как такое может произойти? Я ведь, никак ничем не маячу.

ПЛИС и ARM в сети или на одной плате и без сети? Если на вход трансивера не приходит Rx то не трансивер не даст сигнал LINK...

 

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


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

ПЛИС и ARM в сети или на одной плате и без сети? Если на вход трансивера не приходит Rx то не трансивер не даст сигнал LINK...

Там нет понятия LINK. Проггер напрямую в обход драйвера работает. Точнее: на своём драйвере.

 

Наверное, тему лучше переместить в ARM раздел...

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

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


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

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

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


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

Кароче, шихуя какая-то.

Две платы:

1. ПРОЦ с двумя эзернетами, один НАСТОЯЩИЙ, второй на ПЛИС.

2. ПРОЦ с одним эзернетом на ПЛИС.

 

Прошивки идентичные. Как с моей стороны, так и программиста.

В первом случае: всё пашет.

Во втором: вчера пахало, один раз повис. Сегодня завалился окончательно и не хочет работать вообще.

 

Так, полный затык решили: второе ядро процессора перехватывало эзернет и конфигурировала по своему усмотрению. Для понимания этого, пришлось всё разобрать и воспользоваться осциллом.

Самое странное, что в "биосе" я запретил стартовать второму ядру.

Осталось теперь выяснить временный затык.

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

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


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

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

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

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

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

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

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

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

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

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