ELcore-50 SDK
1.1
Введение
Компоненты
Драйвер elcore50
Описание
Параметры модуля ядра
Стандартные системные вызовы
Описание IOCTL для устройства
elcore50
ELCIOC_GET_CAPS
ELCORE50_IOC_CREATE_JOB
ELCORE50_IOC_ENQUEUE_JOB
ELCORE50_IOC_GET_JOB_STATUS
ELCORE50_IOC_GET_JOB_COUNT
ELCORE50_IOC_GET_JOB_LIST
ELCORE50_IOC_GET_CORE_IDX
ELCORE50_IOC_CREATE_BUFFER
ELCORE50_IOC_CREATE_MAPPER
ELCORE50_IOC_SYNC_BUFFER
Описание отладочных IOCTL
ELCORE50_IOC_DBG_MEMORY_[READ|WRITE]
ELCORE50_IOC_DBG_REGISTER_[READ|WRITE]
ELCORE50_IOC_DBG_HW_BREAKPOINT_SET
ELCORE50_IOC_DBG_HW_BREAKPOINT_CLEAR
ELCORE50_IOC_DBG_JOB_INSTANCE_INTERRUPT
ELCORE50_IOC_DBG_GET_STOP_REASON
ELCORE50_IOC_DBG_STEP
ELCORE50_IOC_DBG_JOB_INSTANCE_CONTINUE
Управление таймаутом заданий
Управление печатью дампа регистров
Управление сбросами DSP
Обработка системных вызовов DSP
Профилирование заданий DSP
Профилирование драйвера
elcore50_buf_create и elcore50_buf_release
elcore50_syscall
elcore50_mmu_map
elcore50_uptime
Управление энергопотреблением DSP
Драйвер qlic
Библиотека elcore
Создание ELFParser
Создание ELF
Создание заданий
Ожидание завершения экземпляра задания
Обработка системных вызовов DSP
Форматирование вывода DSP
Управление страницами DSP
Управление выравниванием ELF-секций
Библиотека DSP elcore-runtime
__elcore_before_main()
elcore_main_wrapper()
elcorecl_run_wrapper()
elcore_job_launcher()
elcore_kernel_wrapper
spawner_loop()
__init_elcore_environ()
get_core_id()
elcore_spawn()
elcore_sync()
Системные вызовы
Поддержка инструментального профилирования
gprof
Библиотека ElcoreCL
Общее описание библиотеки
Функции, не имеющие аналогов в OpenCL
Примеры работы с ElcoreCL при программировании DSP
Сценарий использования кэшируемых буферов на основе пользовательских указателей
Сценарий использования импортируемого dma-buf
Обработка задачи на нескольких DSP-ядрах
Утилита elcorecl-run
Утилита elcorectl
Руководства
Быстрый старт
Создание DSP-кернела
Сборка DSP-кернела
Сборка DSP-кернела вне Buildroot
Сборка DSP-кернела пакетом Buildroot
Запуск DSP-кернела
Модель параллельного программирования spawn/sync
Ограничения
Пример параллельного умножения двух векторов
Профилирование
Профилирование DSP-кернелов
Особенности профилирования программ
Профилирование драйвера elcore50
elcore-prof.py
ftrace-parser
Управление DSP в Linux
Изменение частоты DSP в Linux
Спецификации
Отладка заданий DSP
Сценарии использования
Общий сценарий работы
Выбор job_instance’а для отладки
Операции над экземпляром задания
Завершение процесса отладки
Согласование действий отладки и системных вызовов
Штатное завершение job_instance’а с точки зрения отладки и CPU-программы
Библиотека для работы с VDMA
Константы библиотеки VDMA
Запуск одиночной пересылки
Запуск множественных пересылок через цепочки
Глоссарий
Примечания к выпуску
1.1
Новый функционал
Исправления ошибок
ELcore-50 SDK
»
Средства разработки программного обеспечения DSP ELcore-50
Следующая
Средства разработки программного обеспечения DSP ELcore-50
¶
Введение
Компоненты
Драйвер elcore50
Драйвер qlic
Библиотека elcore
Библиотека DSP elcore-runtime
Библиотека ElcoreCL
Утилита elcorecl-run
Утилита elcorectl
Руководства
Быстрый старт
Модель параллельного программирования spawn/sync
Профилирование
Управление DSP в Linux
Спецификации
Отладка заданий DSP
Библиотека для работы с VDMA
Глоссарий
Примечания к выпуску
1.1