Содержание
Репозиторий содержит тесты и демонстрации, запускаемые на DSP.
Перед запуском тестов и демонстраций на целевом устройстве необходимо выполнить:
# Выгрузить модуль драйвера avico modprobe -r avico # Отключить драйвер DMA echo 37220000.dma > /sys/bus/amba/drivers/dma-pl330/unbind # Перезагрузить модуль драйвера delcore30m modprobe -r delcore30m && modprobe delcore30m
Тест выполняет сложение двух чисел на DSP.
Формат запуска:
delcore30m-paralleltest <jobs> <cores>
Описание параметров:
jobs
- количество одновременно запускаемых задач на DSP-ядре;cores
- количество DSP-ядер, на которых запускается тест.
Перед запуском теста необходимо выполнить пункты, описанные в разделе Подготовка.
Тест выполняет расчет чисел Фибоначчи на двух ядрах DSP в параллель.
Формат запуска:
delcore30m-fibonacci [-h] [-v] [-i <iterations>] [-f <firmware_path>]
Описание параметров:
-h
- вывод справки;-v
- печать дополнительных сообщений;-i
- количество запускаемых итераций. Значение по умолчанию: 5;-f
- путь к прошивке для DSP. По умолчанию прошивка берется из файла/usr/share/delcore30m-tests/fibonacci.fw.bin
.
Перед запуском теста необходимо выполнить пункты, описанные в разделе Подготовка.
Тест выполняет инверсию цветов для входного изображения на DSP-ядре.
Формат запуска:
delcore30m-inversiontest [-h] [-p <firmware_path>] -i <input_file> -o <output_file>
Описание параметров:
-h
- вывод справки;-p
- путь к прошивке для DSP. По умолчанию прошивка берется из файла/usr/share/delcore30m-tests/inversiontest.fw.bin
;-i
- путь до файла с входным изображением в форматах jpeg или png;-o
- путь для сохранения выходного изображения в формате png.
Перед запуском теста необходимо выполнить пункты, описанные в разделе Подготовка.
Утилита delcore30m-test.py выполняет автоматический запуск тестов delcore30m-paralleltest, delcore30m-fibonacci и delcore30m-inversiontest с различными параметрами.
Формат запуска:
delcore30m-test.py
Note
Утилита delcore30m-test.py самостоятельно выполняет пункты, описанные в разделе Подготовка. При завершении утилита загружает обратно модуль драйвера avico и драйвер DMA.
В рамках демонстрации выполняется захват видео с видеомодуля с последующей инверсией цветов на DSP и выводом на HDMI-дисплей.
Формат запуска:
delcore30m-inversiondemo -i <iface> [-o <file>] [-w <width>] [-h <height>] [-v] [-c <id>]
Описание параметров:
-i
- номер интерфейса видеомодуля. Доступные значения:- 0 - PInterface0;
- 1 - PInterface1;
- 2 - SInterface0(CSI0);
- 3 - SInterface1(CSI1).
-o
- путь к файлу framebuffer. По умолчанию используется/dev/fb0
;-w
- ширина видеокадра. По умолчанию берется из framebuffer;-h
- высота видеокадра. По умолчанию берется из framebuffer;-v
- печать дополнительных сообщений;-c
- идентификатор коннектора DRM. По умолчанию используется первый доступный.
Перед запуском демонстраций необходимо выполнить пункты, описанные в разделе Подготовка.
В случае успеха на HDMI-мониторе можно наблюдать инвертированные данные с видеомодуля, а также данные о производительности и загрузке CPU.
Завершение демонстрации осуществляется путем нажатия клавиш Ctrl+C.
В рамках демонстрации выполняется захват видео с видеомодуля с последующей детекцией движения и выводом на HDMI-дисплей.
Детекция движения выполняется на CPU и DSP для утилит delcore30m-cpudetector
и
delcore30m-dspdetector
соответственно.
Формат запуска:
delcore30m-cpudetector -i <iface> [-o <file>] [-w <width>] [-h <height>] [-v] [-c <id>] delcore30m-dspdetector -i <iface> [-o <file>] [-w <width>] [-h <height>] [-v] [-c <id>]
Описание параметров:
-i
- номер интерфейса видеомодуля. Доступные значения:- 0 - PInterface0;
- 1 - PInterface1;
- 2 - SInterface0(CSI0);
- 3 - SInterface1(CSI1).
-o
- путь к файлу framebuffer. По умолчанию используется/dev/fb0
;-w
- ширина видеокадра. По умолчанию берется из framebuffer;-h
- высота видеокадра. По умолчанию берется из framebuffer;-v
- печать дополнительных сообщений;-c
- идентификатор коннектора DRM. По умолчанию используется первый доступный.
В демонстрации выполняется накопление сцены в течение первых тридцати кадров. Начиная с 31 кадра, выполняется детекция движения согласно алгоритму вычитания фона.
Перед запуском демонстраций необходимо выполнить пункты, описанные в разделе Подготовка.
В случае успеха на HDMI-мониторе можно наблюдать детекцию движения с данных видеомодуля, а также данные о производительности и загрузке CPU.
Для утилиты delcore30m-dspdetector
возможен сброс сцены при нажатии клавиши u
.
Завершение демонстрации осуществляется путем нажатия клавиш Ctrl+C.
Более детальное описание демонстраций находится в документе "Инструкция по захвату видео с последовательного сенсора на модулях на базе 1892ВМ14Я".