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

Зависание при записи в BAR

Форумчане, доброй ночи.

Подскажите, может кто сталкивался. Бьюсь третий день.

1) Развернул корку на Stratix V, PCIE avalon 256bit + DMA
2) пытаюсь драйвер сделать, ничего не идет.
3) Что выяснил. При попытке записать что то в BAR0, BAR4, вешается компьютер. Ровно после тридцать девятой попытки записи четырех байт происходит зависание. При это сразу считываю, что там записалось, а ничего ничего не записалось.
4) Jungo Wizard пишет что BAR0, BAR locked. В Jungo так же пытаюсь записать и сразу прочитать. Не записывает значения.

Уже начинаю склоняться, что то с альтерой или коркой. Может кто сталкивался с такой проблемой.

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

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


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

Похожая ситуация была у меня с Artix7. В проекте была ошибка - поступающие TLP не забирались из корки. После какого-то обращения хост вешался наглухо. Исправил ошибку, проблема исчезла. Вглубь не копал, но подозреваю, что просто линк (все его буфра) забивается данными, т.к. ендпоинт не выгребает их на своём конце, и это блокирует аппаратную часть на каком-то уровне, что приводит к зависанию ОС. Но это было на прикладном уровне. У вас же что-то видимо с коркой.

 

Попробуйте посмотреть по косвенным признакам, происходит ли что-то в корке - например, за количеством кредитов последить.

 

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


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

14 hours ago, dxp said:

Попробуйте посмотреть по косвенным признакам,

спасибо, решил уже завтра лезть в глубь. Пока правда не представляю как =))

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


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

Сколько ядер у вашего ПК?

Иногда дело бывает в неверно подвешенных прерываниях. Сперва вешается одно ядро у ПК на 100%, потом могут и остальные.

Сперва проверьте прерывания, потом копайте в сторону диагностики PCIe со стороны ПЛИС.

Ошибка на поверхности.

Если кит - запустите рефернс дизайн. Если самоделка - переделайте референс дизайн ;)

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


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

3 hours ago, warrior-2001 said:

Сколько ядер у вашего ПК?

Иногда дело бывает в неверно подвешенных прерываниях. Сперва вешается одно ядро у ПК на 100%, потом могут и остальные.

спасибо, попробую глянуть через htop. 2 ядра у меня. В плавном зависании проца я тоже сразу обратил внимание, так как когда я делаю cat /sys/bus/pci/.../resource0 (либо F3 в mc - просмотреть содержимое) при загруженном драйвере, то видно как музыка играет и начинает планомерно заедать и в итоге виснет, это все случается в течении пары сек.

3 hours ago, warrior-2001 said:

Сперва проверьте прерывания, 

если не сложно, что именно нужно проверить? из прерываний у меня в коде только вот это и в dmesg все отрабатывает правильно

 rc = pci_enable_msi(_device);
    if (rc) {
        dev_info(&_device->dev, "pci_enable_msi() failed\n");
        dev_data_ptr->msi_enabled = 0;
    } else {
        dev_info(&_device->dev, "pci_enable_msi() successful\n");
        dev_data_ptr->msi_enabled = 1;
    }

попробую, почитать, в любом случае спасибо.

 

3 hours ago, warrior-2001 said:

Если кит - запустите рефернс дизайн. Если самоделка - переделайте референс дизайн ;)

даже не знаю как охарактеризовать свой дизайн =)) . Тот что идет на сайте альтеры, у меня не запускается, lmsstate зависает в 00010 (Poling). Я создал точно такой же, только выкинул из него Altera PCIe Reconfig Driver, и  Transcivier Recondig Driver вывел из дизайна то же, завел в отдельный sys и скоммутировал их в главном модуле квартуса (не помню точно причину почему, квартус ругался warning'ами насчет его подключения).

получается pcie_avmm_dma + on-memory-chip в одном sys, Transcivier Reconfig Driver в другом и на стройки выставлены как в родном дизайне от альтеры

 

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

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


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

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

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

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


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

Ребята, еще раз спасибо, что натолкнули. Проблема была действительно в констрейнах. Сейчас пишет и читает через раз, направление разбирательства понятна. Слаки в корке, пока фиг знает, как их побороть

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

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


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

14 hours ago, new123 said:

 Тот что идет на сайте альтеры, у меня не запускается, lmsstate зависает в 00010. Я создал точно такой же, только выкинул из него Altera PCIe Reconfig Driver, и  Transcivier Recondig Driver вывел из дизайна то же,

это тоже из за отсутствия констрейнов.. проблема полностью решилась. И пишет и читает норм. Спасибо форуму

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

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


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

21 hours ago, new123 said:

Слаки в корке, пока фиг знает, как их побороть

вдруг кому будет интересно. Вычитал, что слаки в корке может убрать квартус новее. Поставил 18 версию и действительно ушли.

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


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

On ‎12‎/‎25‎/‎2018 at 4:02 PM, new123 said:

вдруг кому будет интересно. Вычитал, что слаки в корке может убрать квартус новее. Поставил 18 версию и действительно ушли.

Вот это интересно. Надо попробовать. Заметил, что допустим Q12 нормально компилит и без ошибок и укладывается в консрейны. А вот тоже самое на Q17 и там уже ошибки.
Получается, что если я переду на 18ть, то может они пропадут ???

У меня впрос, еще, а где вы про это прочитали ?

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


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

23 minutes ago, Nik. said:

У меня впрос, еще, а где вы про это прочитали ?

не вспомню. Но я постоянно сижу на этом форуме и форуме altera. Скорее всего там.

23 minutes ago, Nik. said:

Получается, что если я переду на 18ть, то может они пропадут ???

на тот момент да, я взял один и тот же проект и ушли. Для меня это была слабая тема. Сейчас активно борюсь с этой проблемой. Если так форумы и обращения ковырять, то можно понять, что от версии к версии качуют различные недоработки, которые иногда исправляются.
Форум альтеры наводнен сообщениями типа "У меня тут варнинг страшный...", "У меня тут слак непонятный, можно его в set_false_path..."   с их ответами "Ой да, это косяк версии, в следующей исправим." И они не исправляются =))

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

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


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

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

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

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

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

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

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

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

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

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