[an error occurred while processing this directive]
Я, правда не детально знаком с DM642, но глобально - наверное можно. Однако предвижу здесь следующие проблемы:
1. Сonfiguration registers самого DM642 будет некому сконфигурировать, т.к. нет host-hub на Вашей плате. Как следствие - Вы не сможете использовать PCI MASTERING Вашей NIC-платы для передачи данных в/из DSP, т.к. PCI интерфейс DSP будет не активирован (только может откливаться на CNF CCLs). Как следствие, NIC сможет работать только как TARGET.
2. Не совсем уверен, что можно использовать PCI I/F DM642 в режиме MASTER, если у него BARs не законфигурированы. В общем-то это к делу отношение не имеет, но зная как TI делает свои DSP, этот случай очень вероятен.
3. Даже, если предположить, что Вы сможете организовать PCI MASTERING из NIC, это особенно ничего не даст, т.к. PCI-порт в C6x очень медленный, т.к. работает под управлением внутреннего EDMA, кторый заведомо ниже по приоритету чем CPU. Поэтому, любая "прямая программа" без BRANCHей в коде Вам даст задержку по EDMA/PCI. Кроме того, все задержки будут сильно зависеть от того, куда Вы хотите загнать массив из NIC. Другими словами, C6x PCI I/F - это тот-же HPI-порт, только непосредственно на шине PCI, а HPI порт у C64xx может иметь задерки готовности до 2uS (в зависимости от того, что делат DSP). Поэтому уж об 1G-E надо забыть как об дурном сне.
Арбитраж сделать просто: если DM642 будет единственный MASTER, то просто сделайте GNT=REQ с задержкой на один PCI CLK. Если еще кто-то будет, то сделайте простую логику снаружи.
А CNF CCL TYPE #1 Вам не надо, т.к. он определен для PC только и использует I/O по адресам 0x0cf8 и 0x0cfс для генерации индивидуального IDSEL и доступа в CNF пр-во PCI-плат/слотов. Вам надо генерить IDSEL из DSP-программы, например через какой-нибудь бит/биты GPIO.
Вообще-то вар-т этот кривой. Если хочется 1G приценить, то надо цеплять как минимум на DSP-магистраль (133MHz clock @ 32bits), однако 1G Вы все-равно не никогда там достигните (только в теоретическом пределе), т.к. внутренний арбитраж и работающая DSP-программа Вам не пропустит весь поток. Не даром у DM642 только fast-E (100Mbit/s), чтобы внутренняя архитектура была сбалансирована и было время другим портам (VIDEO-IN/OUT) поработать. Чтобы задействовать 1G-E, надо сажать его только внутрь CPU и делать широкую маг-ль с DMA, как это делают в грамотных специализированных процессорах. DM642 хорош, но только для вполне определенных целей и никак не более, не надо из него выдавливать больше, чем он может.
В общем, Вам лучше забыть об этой затее.
С уважением,
Павел
E-mail: info@telesys.ru