-
Постов
211 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о DeadMoroz
-
Звание
Местный
- День рождения 22.12.1977
Контакты
-
Сайт
Array
-
ICQ
Array
Посетители профиля
2 188 просмотров профиля
-
PCIe over cable
DeadMoroz ответил DeadMoroz тема в ISA/PCI/PCI-X/PCI Express
Спасибо, тоже думал попробовать с Вивадо. Получилось найти рабочий вариант - после нескольких итераций с изменениями настроек Lane Width и Gen выяснилось, что кофигурации x4gen1 и x4gen2 работают, х1 х2 - нет. На форуме Xilinx дали итересную ссылочку на документ по отладке PCIe, может кому-то пригодится. http://www.xilinx.com/support/answers/56616.html -
PCIe over cable
DeadMoroz опубликовал тема в ISA/PCI/PCI-X/PCI Express
Здравствуйте! Я сгенерил PCIe корку для Kintex 7 (7 Series Integrated Block for PCI Express). Все настройки - по умолчанию (x1 gen.1), кроме целевой платы - KC705 rev. C. С этой коркой, как известно, идет тестовый проект (PIO). Если я запускаю его на плате, которая воткнута непосредственно в слот материнки - то все ОК, если подключаю через OneStopSystems PCIe x4 expansion cable adapter ( http://www.onestopsystems.com/pcie_over_cable_n.php) - линк не устанавливается. Chipscope показывает: pl_initial_link_width=000 (link not trained), pl_ltssm_state=000100 (polling active). Использую ISE 14.7, Coregen 14.7, 7 Series Integrated Block for PCI Express IP core ver. 1.11. Плата - KC705 rev. 1.2. На КС705 имеется прошитый тестовый проект PCIe (не знаю какой), он работает нормально и из слота и через кабель. Также нормально работает пара других прошивок (проекты XTP197 и UG927). На адаптере имеются переключатели (equalization, amplification and de-emphasis). Изменение настроек ничего не дает. Еще пробовал конфигурацию с использованием on-board генератора - результат тотже. -
Здравствуйте! Может кто может подсказать - нужен сенсор, выдающий от 10000fps (400x400)? Спасибо!
-
1) читал, что с mmaped файлами работа выполняется быстрее (за счет неиспользования swap в том числе) 2) как же убедиться, что данные на HDD? Если сделать повторное чтение, то тоже нет гарантии, что оно не выполняется из буфера( Спасибо за обсуждение!
-
Здравствуйте! Имеется система на Линуксе. Примерная логика части программы такова: программа получает постоянный поток данных от FPGA (64 байта/мс * 12 каналов), если при этом установлено соединение (100Мбит изернет) с GUI, то весь поток должен передаваться туда. Если соединения нет, то поток должен писаться в файл на HDD (EXT3\4). Размер файла может быть до 170Гбайт на канал (30 дней), 12 файлов соответственно. Данные из потока должны передаваться последовательно, т.е. перестановка недопустима. В данный момент собираюсь реализовать это следующим образом: 1) для каждого из каналов создать/открыть файл размером 230Мбайт (1 час данных), отобразить файл в память с mmap(). 2) писать данные в файл в независимости от состояния соединения с GUI как в ФИФО буфер. 3) если соединение установлено - читать данные из файла как из ФИФО буфера, при этом файл не будет превышать первоначального/текущего размера. 4) если соединения нет, продолжать писать в файл, при достижении максимального размера, увеличивать размер файла опять на 230Мбайт (1 час) и делать mremap(). По этой реализации у меня такие вопросы: 1) будет ли это достаточно быстро работать (mmap|mremap)? 2) насколько это все надежно (питание может пропасть в произвольный момент), как делать сброс буфера на диск (как fflush)? 3) что лучше один файл на 30 дней или куча файлов (например 1 час) с точки зрения надежности и быстродействия? 4) какие есть альтернативные варианты? P.S. Это мой первый проект под Линукс. Подобное ранее не делал. Система на TI OMAPL-138, 128MB DDR, SATA HDD.
-
спасибо!
-
Про нулевые секции я в курсе, я смотрел LDR c помощью ldrviewer1.2 - есть секции IGNORE, INIT, FINAL и без установленных флагов (0000). ZERO секций нет. Спасибо всем за обсуждение!
-
Отдал на переплавку)
-
Собирал тестовый проект в котором не было секций для загрузки в SDRAM, пробовал все варианты ревизий - не помогло. Проект, собранный для rev=any без проблем работает на платах с ревизией 0.3 и 0.5.
-
Да точно. Это я уже видел. Подтяжка есть и, как я уже сказал, init code в принципе выполняется, а вот дальше нет.
-
Всех с наступившим! Изготовили новую серию плат с запаяным BF532 silicon rev. 0.2 Проблема в том, что не загружается из флеши. Платы с rev. 0.3 и 0.5 - без проблем. После некоторого ковыряния обнаружил, что затык происходит во время выполнения инит-кода, а конкретно на инструкции IDLE. Но даже если ее выбросить, то видно, что исполнение инит-кода завершается и бутлоадер продолжает грузить остальной код, но процесс этот не останавливается. Мое подозрение на неправильный формат LDR файла + бутлоадер rev.0.2 Пробовал компилировать проект (и инит-код) с различными настройками rev, но не помогает. Что интересно, не смог найти эррату на 0.2. VisualDSP ver. 4.5 Не у кого не было что-нибудь подобного?
-
Все можно. Я использую cmd-файл, состоящий из двух секций: #ifdef LINK_SRAM ... #endif и #ifdef LINK_FLASH ... #endif Далее для CCS3 и CCS4 немного по-разному. Для 3.3: создаю две конфигурации - SRAM и FLASH, ну или можно использовать стандартные DEBUG и RELEASE. Затем для каждой конфигурации задаю Build options->Linker->Advanced(2)->Pre-define preproc. macros (name=value) LINK_SRAM (для SRAM конфигурации) и LINK_FLASH (для FLASH соответственно). Для 4.х: тоже самое Build Properties->C2000 Linker->Command File Preprocessing->Pre-define preprocessor macro name LINK_SRAM или LINK_FLASH для двух конфигураций. Разница между 3.3 и 4.2 в том, что компилятор в 3.3 также видит этот макрос, что удобно например при определении необходимости перегрузки из FLASH в SRAM. Для 4.2 приходится дополнительно прописывать эти defines в: Build Properties->C2000 Compiler->Predefined Symbols. Очень удобно, просто выбрать нужную конфигурацию.
-
tms320dm368 нет в списке: http://focus.ti.com/docs/toolsw/folders/print/ndktcpip.html The Network Developers Kit (NDK) provides a TCP/IP stack, some network applications, and EMAC device drivers that work with DSP/BIOS on various DaVinci Digital Media devices and TMS320C600 High Performance DSPs, including: DM643x, DM648, DM642, C6424, C6452, C6455, C6474, C6747 and TCI648x devices.
-
Не совсем корректное сравнение. По большому счету, если микропроцессор реализовать на FPGA, то он скорее всего будет работать на более низкой частоте чем его прямой аналог.
-
У TI есть NDK (Network Dev. Kit), вроде бы там есть возможность сконфигурировать стек как с использованием dsp/bios так и без. Список поддеживаемых процессоров довольно ограниченный.