Почему системный проект для проектирования bare-metal SoC показывает успех в выходных данных, но неудачу в графическом интерфейсе, препятствуя прогрессу потока?

Вопрос или проблема

Первоначально опубликовано по адресу https://adaptivesupport.amd.com/s/question/0D54U00008i81RlSAI/

Платформа и приложение успешно собраны как в вывода, так и в GUI. Компонент HLS успешно синтезирован и экспортирован. Платформа Vivado успешно экспортирована для аппаратуры и эмуляции.

Ниже приведены скриншот GUI и журналы вывода. Полные результаты можно увидеть в оригинальном посте, так как наличие их здесь вызывает отметку вопроса как спам.
GUI с ошибкой сборки

SW_EMU:

--------------------------------------------------------------------------------

[12/09/2024, 15:59:18]: Началась сборка для madd_sys::sw_emu с id '0368ab64-f29d-47e0-a528-d0a4a577b9b6'.

--------------------------------------------------------------------------------

gmake[1]: Вход в директорию '/home/user/EDA/bm_arithmetic/madd_sys/build/sw_emu'

gmake[1]: Нечего делать для 'all'.

gmake[1]: Выход из директории '/home/user/EDA/bm_arithmetic/madd_sys/build/sw_emu'

/tools/Xilinx/Vitis/2024.1/tps/lnx64/cmake-3.24.2/bin/cmake -E cmake_progress_start /home/user/EDA/bm_arithmetic/madd_sys/build/sw_emu/CMakeFiles 0

Сборка завершена успешно

--------------------------------------------------------------------------------

[12/09/2024, 15:59:19]: Сборка для madd_sys::sw_emu с id '0368ab64-f29d-47e0-a528-d0a4a577b9b6' завершена.

HW_EMU:

--------------------------------------------------------------------------------

[12/09/2024, 15:59:36]: Началась сборка для madd_sys::hw_emu с id '0bf646e9-3465-4b99-83f5-6cea3a3b7a24'.

--------------------------------------------------------------------------------

gmake[1]: Вход в директорию '/home/user/EDA/bm_arithmetic/madd_sys/build/hw_emu'

gmake[1]: Нечего делать для 'all'.

gmake[1]: Выход из директории '/home/user/EDA/bm_arithmetic/madd_sys/build/hw_emu'

/tools/Xilinx/Vitis/2024.1/tps/lnx64/cmake-3.24.2/bin/cmake -E cmake_progress_start /home/user/EDA/bm_arithmetic/madd_sys/build/hw_emu/CMakeFiles 0

Сборка завершена успешно

--------------------------------------------------------------------------------

[12/09/2024, 15:59:37]: Сборка для madd_sys::hw_emu с id '0bf646e9-3465-4b99-83f5-6cea3a3b7a24' завершена.

HW

--------------------------------------------------------------------------------

[12/09/2024, 15:59:41]: Началась сборка для madd_sys::hw с id 'f13e8028-6787-4a0f-80a1-d7d4a3f25afe'.

--------------------------------------------------------------------------------

gmake[1]: Вход в директорию '/home/user/EDA/bm_arithmetic/madd_sys/build/hw'

gmake[1]: Нечего делать для 'all'.

gmake[1]: Выход из директории '/home/user/EDA/bm_arithmetic/madd_sys/build/hw'

/tools/Xilinx/Vitis/2024.1/tps/lnx64/cmake-3.24.2/bin/cmake -E cmake_progress_start /home/user/EDA/bm_arithmetic/madd_sys/build/hw/CMakeFiles 0

Сборка завершена успешно

--------------------------------------------------------------------------------

[12/09/2024, 15:59:42]: Сборка для madd_sys::hw с id 'f13e8028-6787-4a0f-80a1-d7d4a3f25afe' завершена.

Валидатор жалуется на то, что в системе нет бинарного файла. Но опять же, поскольку это проект без операционной системы, нет смысла в поддержке ядра. Как и ожидалось, Vitis не позволяет добавлять madd в качестве бинарного контейнера. Ниже приведен скриншот для дальнейшего пояснения.
Ошибка бинарного контейнера

Я просто пытаюсь сделать это еще раз с нуля, так как не знаю, где искать что-то неправильно.

Ответ или решение

Причина, по которой проект системы успешно собирается для проектов на основе "bare-metal SoC", но терпит неудачу в графическом интерфейсе (GUI), заключается в различиях в обработке сборки и валидации между командной строкой и GUI.

Анализ проблемы

  1. Успешная сборка в командной строке:
    Из представленных логов видно, что сборка компонентов (SW_EMU, HW_EMU и HW) завершается успешно, как в командной строке, так и в GUI. Это указывает на то, что конфигурация и зависимости проекта в целом корректны.

  2. Ошибка в GUI:
    Ошибка, заявленная валидатором в GUI, заключается в отсутствии бинарного файла. Для проектов "bare-metal" действительно недостаточно поддержки ядра, и, следовательно, бинарный контейнер не является обязательным. Однако GUI может интерпретировать это как проблему из-за некорректных настройках сборки или конфигурации проекта.

  3. Проблема с бинарным контейнером:
    Судя по описанию, Vitis не позволяет добавить ваш проект как бинарный контейнер. Это может быть результатом неправильной конфигурации проекта, где он ожидает наличия бинарного файла для корректного завершения процесса сборки в GUI.

Решение проблемы

  1. Проверьте конфигурацию проекта:
    Убедитесь, что настройки проектирования (Project Settings) соответствуют требованиям "bare-metal" проектов. Проверьте, правильно ли указаны параметры для целевой платформы и компилятора. Особенно убедитесь, что режим работы установлен на "bare-metal".

  2. Пересмотрите зависимости:
    Возможно, компоненты проекта или параметры сборки не настроены корректно для поддержки bare-metal. Проверьте, не требует ли проект дополнительных файлов или библиотек.

  3. Ручная сборка бинарного файла:
    Если GUI по-прежнему показывает ошибку, попробуйте собрать бинарный файл вручную с использованием make-файлов, созданных в результате проектирования. Убедитесь, что выходные файлы настраиваются на правильные пути и типы.

  4. Логирование и детализированный вывод:
    Включите дополнительное логирование в настройках Vitis или используйте флаг отладки, чтобы лучше понять, в каком месте процесс застревает. Это может помочь выяснить, почему валидатор не находит бинарный файл.

  5. Обновление Vitis:
    Поскольку вы используете версию Vitis 2024.1, убедитесь, что у вас установлены все обновления и патчи. Иногда в новых версиях исправлены ошибки, связанные с GUI.

Заключение

Проблема между успешной сборкой в командной строке и ошибками в GUI может быть обусловлена некорректной конфигурацией проекта или отсутствием необходимых бинарных файлов. Следуйте предложенным шагам для диагностики и решения проблемы. Если после выполнения всех шагов проблематика не исчезнет, возможно, стоит обратиться в службу поддержки Xilinx с полным описанием проблемы и логами для более глубокой диагностики.

Оцените материал
Добавить комментарий

Капча загружается...