Разработка

Для разработки примера применима схема, описанная в главе Быстрый старт ELcore-50 SDK.

Рассмотрим подключение и использование библиотеки elcore50-dsplib (другие библиотеки подключаются аналогичным образом).

  1. Создать C-приложение для DSP с использованием API.

    main.c
    #include <elcore50-dsplib/asm_func.h>
    
    int main() {
     // Код с использованием библиотеки elcore50-dsplib
    }
    
  2. Создать CMakeLists.txt и подключить библиотеку через find_package(). Библиотека elcore-runtime подключается для поддержки запуска приложения через утилиту elcorecl-run.

    CMakeLists.txt
    cmake_minimum_required(VERSION 3.10)
    project(users-app)
    find_package(elcore50-dsplib REQUIRED)
    find_package(ElcoreRuntime REQUIRED)
    add_executable(users-app main.c)
    target_link_libraries(users-app PRIVATE elcore50-dsplib elcore-runtime)
    
  3. Собрать программу, используя aarch64-buildroot-linux-gnu_sdk-buildroot из MCom-03 Linux SDK:

    mkdir build && cd build
    
    cmake \
      -DCMAKE_TOOLCHAIN_FILE=<путь/до/aarch64-buildroot-linux-gnu/opt/toolchain-elcore50/share/cmake/elcore50-toolchain.cmake> \
      -DElcoreRuntime_DIR=<путь/до/aarch64-buildroot-linux-gnu/sysroot/usr/lib/cmake/ElcoreRuntime> \
      -Delcore50-dsplib_DIR=<путь/до/usr/share/elcore50/libraries/lib/cmake/elcore50-dsplib> \
      ..
    make
    
  4. Открыть терминал на хосте, к которому подключено целевое устройство. Подключиться через UART и выполнить команду:

    minicom -D /dev/ttyUSBX
    # здесь X - номер USB устройства
    
  5. Загрузить Linux на целевом устройстве.

  6. Скопировать собранный исполняемый файл users-app на целевое устройство.

  7. Запустить приложение с использованием утилиты elcorecl-run:

    elcorecl-run -e users-app