Введение¶
Средства разработки программного обеспечения ELcore-50 включают в себя:
компилятор, компоновщик, ассемблер и другие инструменты для сборки исполняемого файла, пригодного для выполнения на DSP;
библиотеку ElcoreCL, реализующую API похожее на OpenCL, которая позволяет запускать задания на DSP, а также обмениваться данными между пользовательским процессом и заданием;
вспомогательную статическую библиотеку elcore-runtime для DSP, содержащую код, необходимый для запуска заданий, работы с DMA и кэшем DSP.
драйвер elcore50, реализующий запуск заданий и управление памятью.
Примерный сценарий разработки ПО для ELcore-50:
Код, который планируется выполнять на DSP, пишется на ассемблере или другом поддерживаемом инструментами языке.
Код из п.1 собирается в виде статически скомпонованного исполняемого файла. Как правило это
*.so
-библиотека. Функции, которые планируется вызывать, должны быть объявлены глобальными.Исполняемые файлы из п.2 загружаются при помощи библиотеки ElcoreCL и глобальные функции, экспортируемые библиотекой, видны пользователю как ядра ElcoreCL.
Все экспортируемые функции из библиотеки с кодом для ELcore-50 должны следовать документу «Компилятор С/С++ Clang для DSP Elcore50 (32-х битный режим). Соглашение о вызовах».
Диаграмма вызовов¶