Jump to content

    
Sign in to follow this  
new123

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

Recommended Posts

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

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

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

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

Edited by new123

Share this post


Link to post
Share on other sites

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

 

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

 

Share this post


Link to post
Share on other sites

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

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

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

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

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

Share this post


Link to post
Share on other sites
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 в другом и на стройки выставлены как в родном дизайне от альтеры

 

Edited by new123

Share this post


Link to post
Share on other sites

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

Edited by new123

Share this post


Link to post
Share on other sites

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

Edited by new123

Share this post


Link to post
Share on other sites
14 hours ago, new123 said:

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

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

Edited by new123

Share this post


Link to post
Share on other sites
21 hours ago, new123 said:

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

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

Share this post


Link to post
Share on other sites
On ‎12‎/‎25‎/‎2018 at 4:02 PM, new123 said:

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

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

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

Share this post


Link to post
Share on other sites
23 minutes ago, Nik. said:

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

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

23 minutes ago, Nik. said:

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

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

Edited by new123

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this