Загрузка данных


cmake_minimum_required(VERSION 3.20.0)

find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(semc_torture_test)

# Добавляем исходники нашего приложения
target_sources(app PRIVATE main.c)

# Подтягиваем оригинальный файл ресемплера PJMEDIA
# Замените путь на реальный относительный путь в вашей структуре проекта
set(RESAMPLE_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/resample/src)
target_sources(app PRIVATE ${RESAMPLE_SRC_DIR}/resamplesubs.c)
target_include_directories(app PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/resample/include)

# ====================================================================
#              УПРАВЛЕНИЕ КОНФИГУРАЦИЕЙ СТРЕСС-ТЕСТА
# ====================================================================

# Включаем подсистему релокации кода Zephyr
include(${ZEPHYR_BASE}/cmake/linker/code_relocation.cmake)

# --- ВАРИАНТ ТЕСТА 1: Код во Flash (XIP), Данные в SDRAM ---
# (По умолчанию в Zephyr код останется во Flash, а данные .bss/.data уйдут в оперативку/SDRAM)
# Для этого теста просто оставьте нижние директивы закомментированными.

# --- ВАРИАНТ ТЕСТА 2: Всё в SDRAM (Полный хаос на шине SEMC) ---
# Раскомментируйте эти две строки, чтобы принудительно вытолкнуть математику из Flash в SDRAM.
# (Внимание: Имя локации зависит от вашей карты памяти в dts, обычно это SDRAM_TEXT/SDRAM_DATA)
# zephyr_code_relocate(FILES ${RESAMPLE_SRC_DIR}/resamplesubs.c LOCATION SDRAM_TEXT)
# zephyr_code_relocate(FILES ${RESAMPLE_SRC_DIR}/resamplesubs.c LOCATION SDRAM_DATA)