Пример nvme_blockdevice

Пример демонстрирует использование твердотельного накопителя информации, подключаемого по шине PCI Express и поддерживающего протокол NVMe (Non-Volatile Memory Express). Для доступа к накопителю используется драйвер блочного устройства.

Твердотельный накопитель информации подключается к аппаратной платформе Radxa ROCK 3A к разъему M.2 M-key.

Директория примера в SDK

Код примера и скрипты для сборки находятся по следующему пути:

/opt/KasperskyOS-Community-Edition-<platform>-<version>/examples/nvme_blockdevice

Список программ

При сборке примера для целевой аппаратной платформы в решение автоматически включаются платформенно-зависимые драйверы:

Описание инициализации

Файл описания инициализации решения init.yaml генерируется в процессе сборки решения на основе шаблона ./einit/src/init.yaml.in. Макросы вида @INIT_*@, которые содержатся в шаблоне, автоматически раскрываются в итоговом файле init.yaml. Подробнее см. "Шаблон init.yaml.in".

Описание политики безопасности

Файл security.psl содержит описание политики безопасности решения на базе KasperskyOS и находится в директории ./einit/src. Декларации в PSL-файле снабжены комментариями, которые поясняют назначение этих деклараций.

Сценарий работы

Программа NvmeBlockdevice выполняет следующие действия:

  1. Инициализирует драйвер блочного устройства.
  2. Перечисляет все обнаруженные блочные устройства.
  3. Открывает первое блочное устройство, поддерживающее интерфейс NVMe и выводит информацию о нем.
  4. Записывает 64 МБ данных на открытое устройство, начиная с первого блока, и выводит время (в мс), затраченное на эту операцию.
  5. Выполняет на открытом устройстве операцию Flush.
  6. Считывает 64 МБ данных с открытого устройства и выводит время, затраченное на эту операцию.
  7. Стирает записанные на устройство данные и выводит время, затраченное на эту операцию.
  8. Закрывает устройство и деинициализует драйверы.

Сборка и запуск примера

Перед запуском примера на аппаратной платформе необходимо выполнить сборку драйверов согласно инструкции в разделе "Сборка драйверов для аппаратной платформы Radxa ROCK 3A".

Для сборки и запуска примера используется система CMake из состава KasperskyOS Community Edition.

Этот пример предназначен только для запуска на Radxa ROCK 3A.

См. "Сборка и запуск примеров".

В начало