Почему я не могу записывать / читать из пользовательских регистров AXI lite периферийных устройств?

Я работаю с платой Zynq, в которой настраиваемое ведомое периферийное устройство AXI 4 lite создается, а затем добавляется из репозитория IP. Тогда эти блоки были успешно связаны с Run Connection Automation, Затем битовый поток был сгенерирован успешно.

Далее был выпущен SDK. Был уже пустой C-проект с простым кодом для работы ZYNQ PS. Этот код был изменен, следуя pdf- файлу " Разработка пользовательского ведомого периферийного устройства AXI4 lite " (показан на следующем рисунке).

Функции записи и чтения для пользовательской ведомой периферии AXI

Теперь SDK выполняется без ошибок, но когда я наблюдаю адреса на мониторе SDK, в него не записываются данные (как показано на следующем рисунке).

Где я мог пойти не так или что я пропустил? Работа с VHDL на Vivado 16.2.

Что я уже пробовал: -обработка с консолью XSDB с помощью команды

mwr -force 0x43C00000 0x01234

без изменений там.

Проверен редактор адресов Vivado на наличие того же базового адреса xparamters.h

Заранее большое спасибо..

обновление: xparameters.h Файл не имеет той же базы и высокого адреса, что и редактор адресов vivado. Поэтому, попытавшись изменить "область памяти" в скрипте компоновщика на RAM из DDR, введите описание изображения здесь,

теперь при наблюдении в окне "переменных", когда я нажимаю на кнопку "Step Into", я получаю ожидаемое изменение значений, введите описание изображения здесь.. Вывод консоли XSDB и вывод монитора памяти остаются неизменными.

hardware platform specification Файл показывает пользовательский AXI lite с правильной ожидаемой базой и высоким адресом. введите описание изображения здесь

0 ответов

Аппаратная_платформа указана

  • Одной из причин этой проблемы была другая аппаратная платформа, связанная с конфигурациями отладки по сравнению с той, которую вы хотите использовать.

Когда мы вносим некоторые изменения в IP-адреса и обновляем их, когда битовый поток экспортируется в SDK, создается новая аппаратная платформа. Скажите, если старший TOP_WRAPPER_hw_platform_0сейчас создается новый TOP_WRAPPER_hw_platform_1,

Эта новая платформа должна быть обновлена ​​в настройках конфигурации отладки Hardware platform,

далее в настройках отладочного конфига необходимо поставить галочку в поле "Under Target Setup"

  • Сбросить всю систему
  • Программа FPGA

Под вкладкой приложения

  • Скачать приложение

  • Остановка на "главном"

Другие вопросы по тегам