Анна Сергеева. Оптимизация разработки программ для встраиваемых систем в симуляторе Vista Virtual Prototyping // Современная электроника. 2014. № 9. C. 68-73.
В статье рассмотрены функциональные возможности программного пакета Vista Virtual Prototyping компании Mentor Graphics, которые позволяют оптимизировать процесс разработки встраиваемого программного обеспечения за счёт ранней отладки кода на виртуальных прототипах аппаратных платформ, в том числе на базе распространённых процессоров ARM.
Опубликовано в разделе "Проектирование и моделирование"
Эта же статья на сайте журнала
Введение
В настоящее время широко внедряются и используются всевозможные промышленные и бытовые встраиваемые системы. В том числе весьма распространены платформы на базе популярных и зарекомендовавших себя на рынке процессоров ARM.
Каждый серьезный производитель всегда стремится обеспечить высокое качество функционирования, столь критичное для подобных устройств. Ведь его потребитель вправе рассчитывать на гарантию высокой надежности, хорошей производительности и оптимального режима работы приобретаемой продукции.
Должное внимание в процессе разработки уделяется как обеспечению качества самого оборудования (аппаратуры), так и установленных на нем рабочих программ. В данной статье рассматриваются вопросы особенностей разработки программного обеспечения для встраиваемых систем, где следует учитывать ряд следующих важных моментов.
В первую очередь, разработчикам следует учитывать, что ресурсы конкретного устройства, на котором будут запущены их программы, не безграничны.
Также следует обеспечивать высокую производительность приложений и программ, причем следить за этим необходимо не всем протяжении процесса разработки. [1]
Это значит, что нужно принимать во внимание особенности конкретной аппаратуры, на которой будет развернуто и запущено ПО.
-
Учитывать такие характеристики как производительность и мощность оборудования, архитектура аппаратуры, количество ядер процессора и объем памяти.
-
Производительность системы зависит от того, какая встраиваемая ОС установлена, ибо она обладает своими особенностями, которые оказывают определенное воздействие на работу ПО. И при испытаниях/тестировании ПО может оказаться что под разными ОС программы работают по-разному (с разной скоростью, может различаться интерфейс, если он предусмотрен, и могут быть ошибки запуска под конкретными ОС).
-
И, разумеется, в рамках обеспечения бесперебойной, надежной и безошибочной работы всей встраиваемой системы, выполнять своевременную и полную отладку и тестирование всего разрабатываемого пакета программ.
При этом, потребности отрасли, как с точки зрения оптимизации цикла разработки проекта (сокращение сроков, превентивное выявление возможных проблем и сбоев), так и из соображений экономии (на приобретении физического оборудования на ранних стадиях испытаний работоспособности разрабатываемых программ), привели к необходимости в средствах создания быстрых, точных и дешевых программных моделей, симулирующих работу аппаратуры, еще до момента ее окончательной доработки и физической реализации в железе.[2] И эти модели необходимо предоставлять команде разработчиков встроенного программного обеспечения на самых ранних стадиях процесса разработки.
Такие производители как Keil или IAR, впрочем, как и все прочие разработчики встраиваемых устройств, предоставляют собственные симуляторы для разрабатываемых ими микроконтроллеров. Однако, они симулируют по сути только «голое железо», ориентированы только на процессорное ядро и имеют ограниченный набор функций. В отличие от них, рассматриваемый в этой статье симулятор Vista Virtual Prototyping от Mentor Graphics предоставляет возможности симуляции аппаратуры, шины, производительности, работы операционной системы и программ. За счет этого Vista Virtual Prototyping на порядок более удобный и информативный, чем большинство симуляторов, представленных на рынке.
Симуляторы аппаратного обеспечения Vista Virtual Prototyping
Система Vista Virtual Prototyping дает возможность инженерам проводить проверку, анализ, интегрирование и оптимизацию разрабатываемого программного обеспечения, используя раннюю модель встраиваемой аппаратуры, еще до ее физической реализации.
Vista Virtual Prototyping отвечает важным требованиям, предъявляемым к современным средствам разработки и применения виртуальных прототипов, а также симуляции работы оборудования для разработки и отладки ПО для встраиваемых систем. А именно:
-
Проверка работы программ с использованием ранних моделей аппаратуры.
-
Обеспечение высокой скорости исполнения программного кода.
-
Поддержка исполняемых файлов для виртуальных прототипов, соответствующих промышленному стандарту SystemC TLM 2.0.
-
Поддержка большинства моделей TLM и платформ на их основе.
-
Поддержка работы с двухъядерным процессором ARM Cortex-A9.
-
Расширенные возможности анализа мощности и производительности оборудования.
-
Предоставление визуального отображения всех ключевых регистров и атрибутов используемой аппаратуры.
Система Vista Virtual Prototyping содержит компоненты: Sourcery™ CodeBench (среда отладки разрабатываемого программного кода) и Sourcery™ Analyzer (анализатор программ, разрабатываемых для встраиваемых систем). [3]
Vista Virtual Prototyping использует первичную, абстрактную функциональную модель физического оборудования и предназначена для работы программистов до этапа реализации оборудования в «железе». А значит, предоставляет разработчикам встраиваемых программных продуктов возможность работы без затрат на настоящее аппаратное обеспечение.
Также следует принимать во внимание, что в дальнейшем Vista Virtual Prototyping позволяет проводить отладку и тестирование программного обеспечения и на этапах работы с реальным оборудованием, то есть, финальным продуктом. Принцип подхода показан на рисунке 1.
Рис. 1. Подход к применению симуляторов при отладке ПО на виртуальной и реальной аппаратуре
Vista Virtual Prototyping дает возможность запуска программного обеспечения на моделях встраиваемых систем, так же как и стандартные пакеты поддержки плат (board support packages, BSPs), но, вместе с тем, предоставляет больше удобств для разработчика. [4]
Так, в ней реализованы возможности виртуального оборудования и управления симуляцией, что дает возможность всесторонней взаимосвязанной отладки аппаратного и программного обеспечения, а также оптимизации разрабатываемых программ для достижения необходимых характеристик потребления мощности и производительности встраиваемого устройства.
Построение платформы
Виртуальный прототип строится на базе платформы для моделирования на уровне транзакций (transaction-level modeling, TLM).
TLM представляет первичную модель аппаратного обеспечения платформы и является абстрактным приближением к моделируемым функциональным узлам цифровых систем. Платформа TLM состоит из взаимосвязанных моделей уровня транзакций, представленных в формате структурированного кода на языке SystemC.
Vista поставляется вместе с набором библиотек, среди которых есть и библиотека предустановленных моделей уровня транзакций. Эти модули можно модифицировать или создавать новые. Таким образом, обеспечивается кастомизация ключевых атрибутов моделей TLM (таких как параметры мощности и времени арбитража).
Построение платформы TLM
С помощью редактора блок-схем (Vista Block Diagram editor) легко и удобно создать платформу TLM. Структурированному коду на языке SystemC соответствует набор соединенных друг с другом графических символов, автоматически сгенерированных системой. Так формируется топология полного проекта платформы TLM, а также схемное представление и описание всех объектов разрабатываемого проекта. Интерфейс редактора приведен на рисунке 2.
Рис.2. Редактор блок-схем Vista Block Diagram editor
Каждый раз, когда выполняется операция сохранения проекта, редактор блок-схем Vista Block Diagram editor автоматически генерирует структурированный код на языке SystemC, соответствующий схемному представлению модели.
Отметим, что такой подход является более наглядным, интуитивно понятным и простым в использовании по сравнению с кодированием в стандартном текстовом редакторе.
Редактор блок-схем поддерживает большое число полезных операций, среди которых:
-
выбор отдельных элементов или групп элементов;
-
определение атрибутов и имен, присваиваемых по умолчанию, для графических элементов;
-
изменение размеров, перемещение и копирование элементов;
-
редактирование графических символов либо в индивидуальной форме редактирования, либо на общей схеме.
Также редактор блок-схем позволяет:
-
поворачивать, удалять и дублировать графические символы;
-
добавлять и редактировать текст;
-
добавлять новые символы, соответствующие модели TLM.
Эти и другие функции редактора Vista Block Diagram editor доступны из главного и контекстного меню и из панелей инструментов, что обеспечивает гибкость и удобство использования программы для разработчиков платформ TLM.
Построение виртуального прототипа
Конечный виртуальный прототип, созданный на основе платформы TLM, является самостоятельным исполняемым файлом. Он создается либо с помощью диалога создания прототипа (Create Virtual Prototype dialog) в Vista GUI, либо с помощью специальной команды vista_create_vp.
Vista Virtual Prototyping позволяет пользователю определять параметры разрабатываемого проекта в специальном файле Vista parameters. Позже, во время работы прототипа, эти значения могут быть модифицированы (при этом повторное создание исполняемого файла не требуется).
Также пользователи могут осуществлять настройку среды исполнения, которая используется во время симуляции виртуального прототипа: устанавливать дефолтные значения переменных окружения, копировать дополнительные директории и файлы.
Виртуальные прототипы Vista можно запускать как на рабочих станциях с операционной системой Linux, так и из-под Windows.
Отметим также, что создатель платформы может контролировать использование виртуального прототипа определенными пользователями, добавив к виртуальному прототипу дополнительное условие в лицензии.
Итак, перечислим коротко ключевые возможности системы Vista, предоставляемые при создании платформы.
-
Вместе с Vista поставляется предустановленная библиотека моделей TLM.
-
Атрибуты моделей, такие как характеристики синхронизации и мощности, доступны для кастомизации пользователей.
-
Реализована возможность создавать и добавлять собственные модели TLM к имеющейся библиотеке.
-
Интерфейс достаточно удобен и интуитивно понятен для редактирования и визуального отображения создаваемой платформы.
-
Исполняемый файл виртуального прототипа создается автоматически.
-
Есть возможность запуска виртуальных прототипах под разными типами операционных систем (как Linux, так и Windows).
Управление симуляцией и взаимосвязанная отладка программ и аппаратуры
Запустить виртуальный прототип Vista можно или из командной строки, или же из интегрированной среды разработки Sourcery CodeBench IDE.
В режиме командной строки, в качестве аргументов строки есть возможность передачи переменных среды запуска прототипа.
В случае работы в интегрированной среде разработки Sourcery CodeBench IDE, можно получать визуальное представление аппаратуры, осуществлять взаимосвязанную отладку программной и аппаратной частей, выполнять взаимодействие с файловой системой. Эти функциональные возможности доступны при подключении к среде Sourcery CodeBench, которая взаимодействует с API виртуального прототипа. Интерфейс отладчика приведен на рисунке 3.
Рис.3. Интерфейс пользователя Sourcery CodeBench для отладки аппаратного и программного обеспечения
Разработка программного обеспечения
Пакет Vista Virtual Prototyping дает возможность разработки программного обеспечения, интеграции и проверки функционирования на целевой аппаратуре, поскольку виртуальный прототип обладает такими же функциональными возможностями, какими должны обладать целевые прототипы и пакеты поддержки плат (board support packages, BSPs).
Необходимое отлаживаемое программное обеспечение запускается на виртуальном прототипе точно так же, как оно позже будет запущено на вновь разработанной аппаратуре. Есть поддержка пользовательского интерфейса, стеков приложений, промежуточной прошивки и драйверов, запускаемых поверх таких операционных систем как Linux, Android и Nucleus, а также в режиме без операционной системы – на “голом железе” (Bare-Metal). Система предоставляет все средства, необходимые для построения kernel-ядер Linux, а также для быстрой загрузки операционной системы.
Виртуальные прототипы Vista могут подключаться к физическим устройствам, таким как терминалы и дисплеи рабочих хост-станций, что дает программистам возможность управления прототипами. С помощью соединений, устанавливаемых через Ethernet и USB, виртуальный прототип можно запустить на рабочих хост-станциях, используя их в качестве реальной среды функционирования. В режиме семихостинга пользователь может выводить на экран сообщения о прохождении операций, отслеживать текущее время симуляции и устанавливать детализацию сообщений об ошибках.
Режимы симуляции аппаратуры и привязка ко времени исполнения
Vista Virtual Prototyping может запускать симуляцию аппаратуры в двух режимах: в функциональном режиме и в режиме представления.
В функциональном режиме производится интеграция, верификация и отладка программного обеспечения. Режим представления позволяет проводить анализ и оптимизацию программного обеспечения для достижения лучшей производительности и снижения энергопотребления. Для работы в этих режимах, модель виртуального прототипа строится на двух уровнях детализации синхронизации: синхронизация, не привязанная ко времени исполнения, (loosely timed, LT) и синхронизация, учитывающая время исполнения (approximately timed, AT).
При работе в функциональном режиме, виртуальные прототипы задействуют уровень синхронизации, не привязанной ко времени исполнения. Здесь каждая транзакция представляет собой завершенный перенос данных по аппаратной шине, вне зависимости от того, как именно возник перенос данных, и от того, сколько времени это заняло. В этом режиме скорость симуляции измеряется в сотнях MIPS, что равняется или очень близко к скорости обработки в реальном времени.
При работе в режиме представления, виртуальные прототипы задействуют уровень синхронизации, учитывающий время исполнения транзакций. Здесь каждая транзакция представляет фазу переноса данных по конкретному протоколу шины, применяемой в модели (например, фазы адресации и данных для записи или чтения по шине AHB). Однако, стоит учесть, что такая повышенная точность в режиме представления приведет к тому, что симуляция виртуального прототипа будет проводиться значительно медленнее, чем в функциональном режиме.
Vista Virtual Prototyping дает пользователю возможность выбора и переключения между двумя доступными режимами синхронизации непосредственно во время работы прототипа.
Функциональный режим является вполне достаточным для верификации и для отладки большей части программного обеспечения верхнего уровня, такого как операционная система и уровни приложений.
А вот для анализа мощности и производительности аппаратного обеспечения под программным управлением и для низкоуровневого программного кода (такого как различные драйверы и программы реального времени), требуется работа виртуального прототипа в режиме представления. Отметим, что под программами реального времени понимаются те, для которых время исполнения программного кода зависит от задержек аппаратного обеспечения или от того, как данные разбиты по фазам синхронизации.
Визуальное представление аппаратуры
Интегрированная среда разработки Sourcery CodeBench IDE также обеспечивает непосредственное визуальное представление и управление аппаратными объектами разрабатываемой платформы. Эти объекты включают все периферийные регистры и локальные переменные, которые декларированы при создании компонента модели TLM.
Для распознавания объектов используется их иерархические пути, а связанные с ними величины представлены в отдельных ветках дерева, доступного в окне просмотра регистров Sourcery CodeBench Register. Все значения объектов являются редактируемыми, также в процессе отладки можно добавлять новые значения.
Взаимосвязанная отладка программ и аппаратуры
Пользователи могут проводить взаимосвязанную отладку аппаратной и программной частей, устанавливая точки прерывания в аппаратном обеспечении, что остановит его симуляцию при условии достижения точки останова. Позже симуляция может быть возобновлена, поскольку программный отладчик останавливается после завершения обработки инструкции, которая и привела к срабатыванию останова.
Эта возможность позволяет пользователю проверить состояние программы в данной точке и затем перейти к следующим программным инструкциям, в то же время просматривая состояние аппаратных объектов, которые меняются в зависимости от выполнения той или иной программной инструкции.
Управление симуляцией аппаратуры
Для управления симуляцией аппаратуры, имеется набор команд, доступных из консоли Sourcery CodeBench. С помощью этих команд пользователь может:
-
Выполнить перезапуск ядра CPU, обрабатывающего программный код, подключенный к отладчику, или произвести перезапуск всех узлов платформы, включая ядра.
-
Установить точку прерывания, которая остановит симуляцию по завершении обработки инструкции, получившей доступ к аппаратному объекту (регистру или переменной). Точка прерывания подобна триггеру, срабатывающему на чтение, запись или на оба типа доступа.
-
Запросить место нахождения точки прерывания и получить иерархический путь к нему.
-
Удалить точку прерывания.
-
Загрузить готовый файл в формате ELF в память текущего ядра CPU.
-
Управлять режимом запуска платформы (функциональный или режим представления).
-
Отображать режим функционирования, который установлен для платформы в данный момент.
-
Отключить обработку DMI (Direct Memory Interface), что, в функциональном режиме, позволит более быстро отслеживать транзакции через шинную архитектуру платформы и опционально отображать их на встроенном осциллографе Vista Waveform.
-
Отображать, установлена ли платформа в режим DMI.
-
Отображать текущее время симуляции кода SystemC.
-
Отображать информацию о процессе симуляции.
-
Прерывать процесс симуляции с опционально заданным кодом выхода.
Дополнительно, система Vista Virtual Prototyping позволяет проводить управление трассировкой ядер CPU с помощью предустановленных вызовов (callbacks) по значащим событиям. Например, когда ядро перешло в режим сна. Это может использоваться для дополнительной отладки и анализа, задаваемого пользователем. Также для управления симуляцией обеспечивается доступ по API, с поддержкой семихостинга и других полезных задач.
В системе Vista Virtual Prototyping также можно манипулировать файлами, посредством запросов встроенной операционной системы, которая загружена на виртуальный прототип.
Это позволяет пользователю разрабатывать, выполнять сборку и отлаживать программные пакеты на хост-машине, затем получать к ним доступ с консоли целевой ОС без необходимости повторной симуляции и перезапуска ОС на виртуальном прототипе. Например, файлы могут копироваться с файловой системы хост-машины в целевую локальную директорию на прототипе (или наоборот) с использованием Linux-команды cp, вызываемой из встроенной операционной системы Linux.
Еще раз перечислим коротко ключевые возможности системы Vista, предоставляемые для совместной отладки аппаратуры и программ, а также для управления симуляцией.
-
Реализовано управление симуляцией с использованием интегрированной среды разработки Sourcery CodeBench IDE.
-
Выбор и переключение между двумя доступными режимами синхронизации (функциональным и режимом представления) может осуществляться непосредственно во время работы прототипа.
-
Визуальное отображение и управление виртуальной аппаратурой выполняется из среды Sourcery CodeBench IDE.
-
Есть возможность остановки симуляции по достижении точек прерывания, устанавливаемых в аппаратном или программном обеспечении.
-
Для встроенных операционных систем доступны манипуляции с файлами.
-
Управление симуляцией может осуществляться и из командной строки, с использованием набора специальных команд.
Возможности анализа виртуальной аппаратуры и разрабатываемых программ
Программный пакет Vista Virtual Prototyping предоставляет богатый набор функциональных возможностей для анализа встроенного программного обеспечения и аппаратуры с программным управлением.
Результаты анализа могут быть представлены для просмотра в виде графиков и таблиц, а также в формате сводных отчетов.
Анализ программного обеспечения
Анализ программного обеспечения в Vista Virtual Prototype осуществляется с помощью программы Mentor Embedded Sourcery Analyzer. Она работает с виртуальными прототипами Vista, интегрирует данные от одноядерных и многоядерных CPU, и поддерживает операционные системы типа Linux, RTOS, а также работает в режиме без операционной системы – на “голом железе” (Bare-Metal).
Sourcery Analyzer включает библиотеку популярных и интуитивно понятных инструментов системного анализа и визуализации. Эти инструменты содержат большинство возможностей, широко востребованных программистами для оценки влияния функционирования CPU/ядра и программ на работоспособность, производительность и мощность конечного продукта.
Они позволяют пользователю отслеживать статистику и состояние CPU, активность файловой системы во времени, функциональные вызовы и статистику по ним, запасы задержки, таймеры ожидания блокировки и удержания, а также состояния потоков и процессов.
С помощью программы Sourcery Analyzer пользователь дополнительно может сделать свои инструменты для воздействия на производительность, а также и в отладочных целях. Такие инструменты, написанные на языке Java, помогают обеспечить анализ и визуализацию, характерную для конкретных приложений, а также достичь и оптимизировать требуемую производительность всего проекта.
С помощью программы Sourcery Analyzer пользователь получает доступ ко всему тому API, который использует все встроенные аналитические программы данного инструмента. Он также снабжен визардом для более легкого удобного создания новых аналитических программ.
Наиболее важные аналитические характеристики программы Sourcery Analyzer:
-
Состояние CPU. Показывает состояние CPU/ядра: работа, бездействие, прерывание процесса (рис.4).
-
Статистика по CPU. Какое количество времени каждое из ядер находилось в том или ином состоянии.
-
Активность файловой системы. Активность файловой системы во времени.
-
Функциональные вызовы. Когда и какие функции были запущены.
-
Статистика по функциональным вызовам. Какие функциональные вызовы, кем и как часто осуществлялись.
-
Запас задержки. На каких элементах израсходован запас задержки.
-
Таймеры ожидания, блокировки и удержания. Сколько времени занимает выполнение операции блокировки, и как долго сохранялось удержание.
-
Состояние потоков и процессов. Когда программные потоки были запущены, когда они были в режиме сна, и когда осуществляли системные вызовы (рис.5).
-
Размещение памяти приложения. Использование «кучи».
-
Уровень сбоев страницы памяти. Частота сбоев страницы памяти.
-
Мощность виртуального прототипа. Мощность, потребляемая виртуальным прототипом (общая и по элементам).
-
Коэффициент успешных/неуспешных обращений к кэшу виртуального прототипа. Отношение числа успешных и неуспешных обращений к кэш-памяти процессора виртуального прототипа (также раздельно для режимов READ и WRITE).
Рис.4. Просмотр состояния CPU в окне Sourcery Analyzer
Рис.5. Просмотр состояния потоков и процессов в окне Sourcery Analyzer
Эти функциональные возможности в сочетании с атрибутами аппаратного обеспечения, такими как мощность и коэффициент успешных и неуспешных обращений к кэш-памяти, позволяют пользователю проводить анализ влияния работы его программного обеспечения на функциональность, производительность и на потребление мощности у разрабатываемого изделия.
Анализ виртуальной аппаратуры
Средства анализа виртуальной аппаратуры в Vista Virtual Prototype позволяют отслеживать следующие ключевые атрибуты разрабатываемого проекта:
-
Пропускная способность (Throughput). Уровень активности выбранных объектов, измеряемый как число транзакций или число переданных байтов за указанный период времени.
-
Задержка (Latency). Среднее время задержки за указанный период времени, необходимое для выполнения транзакции указанного типа (например, чтение или прерывание). Время задержки отобразится для каждой транзакции выбранного типа.
-
Мощность (Power). Динамическая мощность, статическая (утечка), и мощность, расходуемая для дерева синхронизации. Отобразится для полной схемы, а также и для выбранных ее элементов.
-
Распределение мощности (Power Distribution). Вклад каждого элемента в суммарную мощность энергопотребления.
-
Атрибуты (Attributes of User Customized Analysis) (аналитические данные, настраиваемые пользователем). Значения атрибутов с изменением времени. В качестве таких атрибутов могут быть определяемые пользователем переменные, заданные в модели TLM.
-
Пропускная способность шины/Полоса пропускания (Bus Throughput/Bandwidth). Для каждой шины, добавленной на разрабатываемую схему, можно открыть окно аналитических данных о пропускной способности шины (Bus Throughput analysis view).
-
Анализ уровня конкуренции (Contention Level Analysis). Предоставляет взвешенное по времени среднее значение запросов, ожидающих доступа к тому или иному компоненту схемы, подключенному к сокету шины.
-
Анализ уровня арбитража (Arbitration Level Analysis). Предоставляет среднее время, необходимое для доступа транзакций к шине по заданному сокету.
-
Коэффициент успешных/неуспешных обращений к кэшу виртуального прототипа (Cache Hit/Miss Ratio Analysis). Отношение числа успешных и неуспешных обращений к кэш-памяти процессора виртуального прототипа (также раздельно для режимов READ и WRITE).
Анализатор Vista Virtual Prototyping предоставляет значительную гибкость в плане выбора отображаемых данных. Для графиков может варьироваться степень детализации, а также установка начальных и конечных значений.
При каждом новом просмотре все данные обновляются. И при движении мышью по графику можно увидеть значение данных в каждый момент времени. Пользователь может произвести замер изменения значении между двумя точками на графике как по вертикали, так и по горизонтали. При этом можно изменять масштаб графиков как по горизонтали, так и по вертикали. Это позволяет задать требуемую точность для измерений.
Анализатор Vista Virtual Prototyping позволяет выполнять анализ и сравнение результатов нескольких сеансов симуляции, дабы определить эффективность изменения системных конфигураций, выбора протокола, программных изменений (рис.6).
Рис.6. Сравнение распределения мощности для двух архитектур
Заключение
Итак, в данной статье показано, что симуляторы аппаратуры, с одной стороны, являются необходимыми инструментами для создания надежных встраиваемых систем. Будучи внедренными на самых ранних этапах проектирования и разработки программ и аппаратуры, симуляторы позволяют значительно сократить сроки работы над проектом и в то же время повысить качество производимого продукта.
С другой стороны, симуляторы весьма удобны в работе, поскольку не требуют привязки к конкретному оборудованию и позволяют программистам создавать свой код еще до того, как реальное оборудование будет выпущено с конвейера.
Были рассмотрены основные функциональные возможности программного пакета Vista Virtual Prototyping:
-
Поддержка операционных систем типа Linux, RTOS, а также возможность работы в режиме без операционной системы – на “голом железе” (Bare-Metal).
-
Использование анализатора Sourcery Analyzer и встроенных агентов-анализаторов.
-
Предоставляется отслеживание и отображение ключевых аналитических данных, связанных с состояниями CPU, функциональными вызовами и обрабатываемыми процессами.
-
Реализована возможность отслеживания характеристик производительности аппаратного обеспечения, таких как полоса пропускания и задержка,а также мощности оборудования.
-
Среди предоставляемых аналитических характеристик есть такие важные как данные о конкуренции, арбитраже и успешности обращений к кэшу виртуального прототипа.
Также, программный пакет Vista Virtual Prototyping удобен и тем, что инструменты, входящие в его состав, могут использоваться как на этапах раннего проектирования, так и на этапах работы с реальным оборудованием, то есть, с финальным продуктом.
Литература
[1] А. Сергеева. Тестирование работоспособности промышленного компьютера. // Компоненты и технологии. 2014. № 2.
[2] А. Сергеева. Одновременная разработка программ и аппаратуры для встраиваемых систем при помощи симулятора аппаратуры Vista Virtual Prototyping. // Компоненты и технологии. 2014. № 3.