Почему я не могу записывать / читать из пользовательских регистров 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
Под вкладкой приложения
Скачать приложение
Остановка на "главном"