Никто мне на форуме хилинкса не отвечает, попробую тут...
Есть система на базе ядра Microblaze MCS, в нее "из коробки" встроен блок I/O Module, экспортирующий шину I/O bus (по сути axi-lite, как я понимаю). Шина эта замаплена на часть адресного пространства микроблэйза (0xc0000000 и выше). Туда приделаны пользовательские регистры. Из программы все прекрасно читается-пишется, претензий нет. Но если я пытаюсь обратиться к тем же адресам в процессе отладки (через окно Memory среды разработки) - фиг, там сплошные нули. Приделал Chipscope - транзакция туда просто не приходит.
Более того, попытался посмотреть содержимое конфигурационных регистров самого I/O Module - и там нули. Это вообще как, что-то глючит или встроенный отладчик процессора имеет доступ только к оперативной памяти программы, но не к прочим адресам?
Сам больше с ниосом знаком - там таких проблем не было...
Ну и вопрос в воздух - какого хрена отладка постоянно отваливается, так что несколько шагов по программе делаешь и дебагер подвисает? Программа самая тупая, никаких прерываний, таймеров, только пользовательский ввод-вывод.
PS Использую ISE 14.7, кристалл Virtex6.