Reffum2 0 26 января, 2017 Опубликовано 26 января, 2017 · Жалоба Используется микросхема XC7K70T-2FBG484. Это Kintex-7. Конфигурация храниться в SPI PROM N25Q064A13ESED. В VIVADO 2016.2 создал проект на базе Microblaze. В SDK создал простую Hello World программу. Если записать эту прошивку в ПЛИС напрямую(не во flash) по JTAG и затем подключиться отладчиком, то все работает, но иногда при срабатывании breakpoint в консоли XMD выдается вот такая ошибка: Error: MicroBlaze Pipeline Stalled on a Blocking Instruction or Invalid Bus Access Stalled PC: 0x00001180 Try Resetting the Processor to Continue.. Адрес в строке: "Stalled PC: 0x00001180" - это адрес на котором произошел останов. Далее, если прошить конфигурацию во flash и подключиться к ней отладчиком, появляется большое кол-во непонятных ошибок. - Программа иногда возвращается к началу main() - Появляется вот такая ошибка: MicroBlaze is in Sleep mode and Wake up is being executed MicroBlaze is in Sleep mode and Wake up is being executed ERROR: Unable to Stop Processor Time out: Unable to Wake up MicroBlazeTime out: Unable to Wake up MicroBlazeUNABLE to STOP MicroBlaze Она может быть как сразу при попытке подключения, так и потом, во время работы. Я проверил целостность данных, зашитых во flash. Какие могут быть причины такого поведения? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexadmin 0 26 января, 2017 Опубликовано 26 января, 2017 · Жалоба Какие могут быть причины такого поведения? Постою послушаю (ц) У меня сложилось ощущение, что у них очень глючная инфраструктура работы отладчика по JTAG. В свое время я попал в полный тупик, когда обнаружил, что Chipscope и дебагер микроблейза вместе не хотят работать - пошаговое исполнение программ намертво повисает в случайный (весьма быстрый) момент времени. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Reffum2 0 26 января, 2017 Опубликовано 26 января, 2017 (изменено) · Жалоба Постою послушаю (ц) У меня сложилось ощущение, что у них очень глючная инфраструктура работы отладчика по JTAG. В свое время я попал в полный тупик, когда обнаружил, что Chipscope и дебагер микроблейза вместе не хотят работать - пошаговое исполнение программ намертво повисает в случайный (весьма быстрый) момент времени. Попробовал отладку с помощью XSDB. Проблем стало меньше, точнее только 1: при запуске из FLASH программа почему-то зависает. К процессору можно подключиться, но остановить его командой stop нельзя. XSDB пишет: xsdb% targets 1 xc7k70t 2 Debug Module at USER2 3* MicroBlaze #0 (Running) xsdb% state Running xsdb% stop Cannot stop MicroBlaze Изменено 26 января, 2017 пользователем Олег Гаврильченко Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 31 января, 2017 Опубликовано 31 января, 2017 · Жалоба Можно ли взглянуть на "строение системы" Microblaze? Там где блоки между собой соединяются? Когда работал с Microblaze подобных проблем не видел, разве что если линия Reset как-то не так сделана. В таком случае и на Nios2 подобные глюки вылезают. И как правило это не потому что "у них глючит", а скорее из-за собственного недопонимания. Верю что в сложных ядрах и системах проявятся проблемы, но на таких простейших - едва ли. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Reffum2 0 31 января, 2017 Опубликовано 31 января, 2017 · Жалоба Можно ли взглянуть на "строение системы" Microblaze? Там где блоки между собой соединяются? Когда работал с Microblaze подобных проблем не видел, разве что если линия Reset как-то не так сделана. В таком случае и на Nios2 подобные глюки вылезают. И как правило это не потому что "у них глючит", а скорее из-за собственного недопонимания. Верю что в сложных ядрах и системах проявятся проблемы, но на таких простейших - едва ли. Я перешел на отладку с помощью XSDB, исправил несколько ошибок и эта проблема ушла. Но появилась другая - все работает, если загружать прошивку по JTAG, но при старте из Flash программа некоторое время работает и затем повисает в непонятном состоянии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitus_strom 0 31 января, 2017 Опубликовано 31 января, 2017 · Жалоба У Вас наверняка блейз в ресете сидит по какой то причине. Было такое тоже... Возможно длл/плл не залочилась которая кормит блейз клоками, ну или вы ее не подключили. Покажите верхний уровень куда блейз включен и блок схему проц системы с блейзом Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Reffum2 0 31 января, 2017 Опубликовано 31 января, 2017 (изменено) · Жалоба У Вас наверняка блейз в ресете сидит по какой то причине. Было такое тоже... Возможно длл/плл не залочилась которая кормит блейз клоками, ну или вы ее не подключили. Покажите верхний уровень куда блейз включен и блок схему проц системы с блейзом Верхний уровень Block Design. Сигналы clock_rtl и reset_rtl приходят прямо с пинов ПЛИС. Частота clock_rtl 20 MHz mb_system_copy.pdf Изменено 31 января, 2017 пользователем Олег Гаврильченко Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitus_strom 0 31 января, 2017 Опубликовано 31 января, 2017 · Жалоба Полярность ресетов проверьте, и aux_reset лучше к основному прикрутить. В остальном вроде все нормально Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitus_strom 0 31 января, 2017 Опубликовано 31 января, 2017 · Жалоба ну и качество клока проверьте чтобы длл лок выставил Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Reffum2 0 2 февраля, 2017 Опубликовано 2 февраля, 2017 · Жалоба ну и качество клока проверьте чтобы длл лок выставил Соединил aux_reset и ext_reset. Проверил их полярность. Все осталось по прежнему. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitus_strom 0 2 февраля, 2017 Опубликовано 2 февраля, 2017 · Жалоба ну тогда могу порекомендовать повесить ILA на все управляющие сигналы на блейзе чтобы посмотреть кто гадит, имею ввиду внутри Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Reffum2 0 3 февраля, 2017 Опубликовано 3 февраля, 2017 · Жалоба ну тогда могу порекомендовать повесить ILA на все управляющие сигналы на блейзе чтобы посмотреть кто гадит, имею ввиду внутри Этой проблемы еще ни разу не возникало если я подключаюсь к ПЛИС по JTAG. И это стабильно. К тому же, я даже не знаю, какие сигналы смотреть. Обмен по шине с памятью? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitus_strom 0 3 февраля, 2017 Опубликовано 3 февраля, 2017 · Жалоба ресеты на ресет контроллере и ресет на микроблейзе ну и не забудте обконстрейнить сам микроблейз Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться