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


# =====================================================================
# ЖЕСТКИЙ ПРИОРИТЕТ РЕЛОКАЦИИ КОДА (ФУНКЦИИ -> ITCM_TEXT)
# =====================================================================

# ПРИОРИТЕТ 1: Ваша функция ресемплинга аудио-потока (ВЫСШИЙ ПРИОРИТЕТ)
# (Исключает простои ядра при расчете аудио-конвертации частоты)
zephyr_code_relocate(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/audio_convert.c LOCATION ITCM_TEXT)

# ПРИОРИТЕТ 2: Низкоуровневый драйвер вашего аудио-тракта и прерывания DMA/SAI
# (Убирает микросекундный джиттер при переключении аудио-полубуферов)
zephyr_code_relocate(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/zephyr_i2s_dev.c LOCATION ITCM_TEXT)
zephyr_code_relocate(FILES ${ZEPHYR_BASE}/drivers/i2s/i2s_mcux_sai.c LOCATION ITCM_TEXT)
zephyr_code_relocate(FILES ${ZEPHYR_BASE}/drivers/dma/dma_mcux_edma.c LOCATION ITCM_TEXT)

# ПРИОРИТЕТ 3: Потоковое медиа-ядро pjsip и встроенный аудио-кодек G.711
# (Ускоряет нарезку RTP фреймов и их потоковое декодирование)
zephyr_code_relocate(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pjproject/pjmedia/src/pjmedia/stream.c LOCATION ITCM_TEXT)
zephyr_code_relocate(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pjproject/pjmedia/src/pjmedia/rtp.c LOCATION ITCM_TEXT)
zephyr_code_relocate(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pjproject/pjmedia/src/pjmedia/g711.c LOCATION ITCM_TEXT)

# ПРИОРИТЕТ 4: Криптография реального времени (Симметричное шифрование SRTP-потока)
# (Разгружает конвейер Cortex-M7 от криптографических вычислений над фреймами)
zephyr_code_relocate(FILES ${ZEPHYR_BASE}/modules/crypto/mbedtls/library/aes.c LOCATION ITCM_TEXT)
zephyr_code_relocate(FILES ${ZEPHYR_BASE}/modules/crypto/mbedtls/library/sha256.c LOCATION ITCM_TEXT)
zephyr_code_relocate(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pjproject/pjmedia/src/pjmedia/transport_srtp.c LOCATION ITCM_TEXT)

# ПРИОРИТЕТ 5: Системный таймер и планировщик квантования ОС Zephyr
# (Ускоряет контекст-свитчи потоков pa_thread_hnd_in/out и обработку системных тайм-аутов)
zephyr_code_relocate(FILES ${ZEPHYR_BASE}/kernel/timeout.c LOCATION ITCM_TEXT)
zephyr_code_relocate(FILES ${ZEPHYR_BASE}/kernel/timeslicing.c LOCATION ITCM_TEXT)
zephyr_code_relocate(FILES ${ZEPHYR_BASE}/drivers/timer/cortex_m_systick.c LOCATION ITCM_TEXT)

# ПРИОРИТЕТ 6: Сетевой драйвер Ethernet низкого уровня и UDP-транспорт (НИЗШИЙ ПРИОРИТЕТ)
# (Ускоряет обработку сокетов pjsip, переносить только при наличии места в 64 КБ)
zephyr_code_relocate(FILES ${ZEPHYR_BASE}/drivers/ethernet/eth_mcux.c LOCATION ITCM_TEXT)
zephyr_code_relocate(FILES ${ZEPHYR_BASE}/subsys/net/buf.c LOCATION ITCM_TEXT)
zephyr_code_relocate(FILES ${ZEPHYR_BASE}/subsys/os/fdtable.c LOCATION ITCM_TEXT)