Процессор ARM + платформа компиляции zynq-7000 в Linux C ++? [closed]

Я работал над проектом, который был построен на C ++ и скомпилирован на платформе zynq-7000 на базе Linux ARM. Что это за платформа? Я знаю, что zynq-7000 (или UltraScale) — это более новая ПЛИС. Я также много работал над процессорами ARM с использованием C ++ раньше. Когда эти два компонента (ARM и zynq-7000) вместе составляют платформу разработки на C ++, как структурирована эта платформа разработки?

Я прочитал в Интернете: «SoC на базе ARM объединяют в себе жесткий процессор ARM, контроллеры памяти и периферийные устройства с настраиваемой структурой FPGA в одной SoC» (https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/wp/wp-01167-custom-arm-soc.pdf). В этом случае этот SoC следует рассматривать как FPGA с процессором ARM, а проектирование системы должно выполняться через HDL.

Однако в моей среде разработки платформа ARM + zynq-7000 очень похожа на платформу x86, где я мог компилировать и запускать свои проекты на C ++.

Есть мысли по поводу моего замешательства здесь?

1 ответ
1

Эта ссылка описывает эмулированный процессор ARM. в матрица FPGA и представляет собой способ создания полнофункционального процессора с настраиваемым набором операций ввода-вывода по мере необходимости. ARM — популярная цель эмуляции, поскольку является общей платформой с легкодоступными библиотеками. Программирование для этого эмулируемого процессора будет выполняться через C ++, фактический процессор. основной будет запрограммирован на VHDL. Он не был бы таким эффективным или быстрым, как настоящий ЦП, но он может больше подходить для любой конкретной задачи, требующей большого количества операций ввода-вывода или специальной обработки данных, которые могут выполняться в FPGA перед передачей в ядро ​​ЦП.

То, что у вас есть в Zync, — это полноценная система ЦП на базе кремния ARM, работающая под управлением полного дистрибутива Linux с подключенной FPGA. Поскольку у вас есть реальный процессор, его можно программировать через C ++. По сути, это полноценный компьютер со встроенной ПЛИС.

Современные платформы разработки FPGA также могут позволить выполнить подмножество проектирования FGPA. через C ++ вместо VHDL или VDL, но этот язык не подходит для архитектуры FPGA, и необходимо сделать некоторые уступки.

Основное предназначение такого типа SoC — позволить динамически перепрошивать FPGA с использованием управляющей логики в процессоре ARM, а не из статической памяти. Таким образом, программа FPGA может обновляться намного быстрее и изменяться в соответствии с условиями гораздо более динамично. Процессор может проверять наличие обновлений прошивки ПЛИС и применять исправления за секунды, вместо того, чтобы отключать систему, чтобы применить их, отслеживать состояние сети или другие вещи, а также обновлять или перепрограммировать ПЛИС, чтобы применить исправления «на месте» или изменить поведение. полностью.

  • Это настоящий, а не эмулированный процессор ARM, встроенный как SoC на плате zynq-7000 FPGA? Все мои коды C ++ скомпилированы на платформе «Arm + zynq-7000». Я также могу выбрать платформу только для процессора ARM, но я должен компилировать свою программу на платформе «ARM + zynq-7000».

    — Линда
    5 часов назад

  • В Zync да, это настоящий ARM-процессор. Вполне возможно, что по крайней мере часть компиляции требует знания SoC, чтобы иметь возможность настраивать или обходить причуды платформы. «Только ARM» может не полностью настроить среду для процессора с зонами памяти и методами адресации, настроенными для всех периферийных устройств и FPGA.

    — Мокубай
    5 часов назад

  • В этом случае, поскольку FPGA и ARM SoC представляют собой единое целое, я предполагаю, что смогу использовать Vivado для программирования zync-7000. Следовательно, этот Zync-7000 должен появиться в моем диспетчере оборудования для программирования с помощью файла .bit. Это правильно?

    — Линда
    5 часов назад

  • По-разному. Если Zync FPGA доступна для хост-системы, тогда да, но она может быть доступна только для «хоста» ARM, который работает вместе с ней. Вам нужно будет посмотреть в документации.

    — Мокубай
    4 часа назад

  • Спасибо за ваши объяснения. Это очень помогает.

    — Линда
    2 часа назад

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *