ELcore-50 SDK
1.2
Введение
Компоненты
Драйвер 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
Библиотека 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-ядер в режиме отладки
Примеры работы с 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.2
Новый функционал
Обновления
Исправления ошибок
1.1
Новый функционал
Исправления ошибок
ELcore-50 SDK
»
Поиск
Активируйте JavaScript, чтобы использовать функционал поиска.