Пример демонстрирует использование драйвера широтно-импульсной модуляции (ШИМ, англ. Pulse-Width Modulation, PWM) для управления светодиодом в решении на базе KasperskyOS.
Директория примера в SDK
Код примера и скрипты для сборки находятся по следующему пути:
/opt/KasperskyOS-Community-Edition-<platform>-<version>/examples/pwm_led
Список программ
PwmLed – прикладная программа, которая использует интерфейс драйвера PWM для управления яркостью светодиода.PWM – драйвер, обеспечивающий низкоуровневый доступ к аппаратным регистрам PWM-контроллера и управление параметрами выходного сигнала (частота, скважность, полярность).DCM – системная программа, предоставляющая функциональность для динамического создания IPC-каналов.При сборке примера для целевой аппаратной платформы в решение автоматически включается платформенно-зависимый драйвер BSP – пакет поддержки аппаратной платформы (Board Support Package), обеспечивающий кросс-платформенную настройку периферии.
Для корректной работы драйвера PWM необходимо скомпоновать программу PwmLed с клиентской библиотекой pwm::client.
Описание инициализации
Файл описания инициализации решения init.yaml генерируется в процессе сборки решения на основе шаблона ./einit/src/init.yaml.in. Макросы вида @INIT_*@, которые содержатся в шаблоне, автоматически раскрываются в итоговом файле init.yaml. Подробнее см. "Шаблон init.yaml.in".
Описание политики безопасности
Файл security.psl содержит описание политики безопасности решения на базе KasperskyOS и находится в директории ./einit/src. Декларации в PSL-файле снабжены комментариями, которые поясняют назначение этих деклараций.
Ресурсы
В директории ./resources/xdl/pwm_led содержится файл PwmLed.edl – EDL-описание для программы PwmLed.
Сценарий работы
Программа PwmLed выполняет следующие действия:
pwm0 для работы.EXIT_SUCCESS при отсутствии ошибок, иначе – EXIT_FAILURE.Сборка и запуск примера
Для сборки и запуска примера используется система CMake из состава KasperskyOS Community Edition.
Этот пример предназначен только для запуска на Radxa ROCK 3A.
Для корректной работы примера примените DTBO-оверлей rk3568-pwm0-m0.dtbo к бинарному файлу описания аппаратной конфигурации rk3568-rock-3a.dtb согласно инструкции по применению оверлеев в разделе "Сборка драйверов для аппаратной платформы Radxa ROCK 3A".
См. "Сборка и запуск примеров".
В начало