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

DeadMoroz

Свой
  • Постов

    211
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о DeadMoroz

  • Звание
    Местный
    Местный
  • День рождения 22.12.1977

Контакты

  • Сайт
    Array
  • ICQ
    Array

Посетители профиля

2 114 просмотра профиля
  1. Спасибо, тоже думал попробовать с Вивадо. Получилось найти рабочий вариант - после нескольких итераций с изменениями настроек Lane Width и Gen выяснилось, что кофигурации x4gen1 и x4gen2 работают, х1 х2 - нет. На форуме Xilinx дали итересную ссылочку на документ по отладке PCIe, может кому-то пригодится. http://www.xilinx.com/support/answers/56616.html
  2. PCIe over cable

    Здравствуйте! Я сгенерил 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 генератора - результат тотже.
  3. Здравствуйте! Может кто может подсказать - нужен сенсор, выдающий от 10000fps (400x400)? Спасибо!
  4. 1) читал, что с mmaped файлами работа выполняется быстрее (за счет неиспользования swap в том числе) 2) как же убедиться, что данные на HDD? Если сделать повторное чтение, то тоже нет гарантии, что оно не выполняется из буфера( Спасибо за обсуждение!
  5. Здравствуйте! Имеется система на Линуксе. Примерная логика части программы такова: программа получает постоянный поток данных от 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.
  6. Про нулевые секции я в курсе, я смотрел LDR c помощью ldrviewer1.2 - есть секции IGNORE, INIT, FINAL и без установленных флагов (0000). ZERO секций нет. Спасибо всем за обсуждение!
  7. Собирал тестовый проект в котором не было секций для загрузки в SDRAM, пробовал все варианты ревизий - не помогло. Проект, собранный для rev=any без проблем работает на платах с ревизией 0.3 и 0.5.
  8. Да точно. Это я уже видел. Подтяжка есть и, как я уже сказал, init code в принципе выполняется, а вот дальше нет.
  9. Всех с наступившим! Изготовили новую серию плат с запаяным BF532 silicon rev. 0.2 Проблема в том, что не загружается из флеши. Платы с rev. 0.3 и 0.5 - без проблем. После некоторого ковыряния обнаружил, что затык происходит во время выполнения инит-кода, а конкретно на инструкции IDLE. Но даже если ее выбросить, то видно, что исполнение инит-кода завершается и бутлоадер продолжает грузить остальной код, но процесс этот не останавливается. Мое подозрение на неправильный формат LDR файла + бутлоадер rev.0.2 Пробовал компилировать проект (и инит-код) с различными настройками rev, но не помогает. Что интересно, не смог найти эррату на 0.2. VisualDSP ver. 4.5 Не у кого не было что-нибудь подобного?
  10. Все можно. Я использую 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. Очень удобно, просто выбрать нужную конфигурацию.
  11. 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.
  12. Не совсем корректное сравнение. По большому счету, если микропроцессор реализовать на FPGA, то он скорее всего будет работать на более низкой частоте чем его прямой аналог.
  13. У TI есть NDK (Network Dev. Kit), вроде бы там есть возможность сконфигурировать стек как с использованием dsp/bios так и без. Список поддеживаемых процессоров довольно ограниченный.
×
×
  • Создать...