Используется микросхема XC7K70T-2FBG484. Это Kintex-7. Конфигурация храниться в SPI PROM N25Q064A13ESED.
В VIVADO 2016.2 создал проект на базе Microblaze. В SDK создал простую Hello World программу. Если записать эту прошивку в ПЛИС напрямую(не во flash) по JTAG и затем подключиться отладчиком, то все работает, но иногда при срабатывании breakpoint в консоли XMD выдается вот такая ошибка:
CODE
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()
- Появляется вот такая ошибка:
CODE
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.
Какие могут быть причины такого поведения?