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


SUMMARY = "i.MX M4/M7/M33 core Demo images"
SECTION = "app"
LICENSE = "Proprietary"

inherit deploy fsl-eula2-unpack2

# ... (ваши существующие переменные SOC и MCORE_TYPE остаются без изменений) ...

IMX_PACKAGE_NAME = "${SOC}-${MCORE_TYPE}-demo-${PV}"

# --- ДОБАВЛЕНИЕ ВАШИХ ФАЙЛОВ ---
# 1. Добавляем ваши файлы в SRC_URI. 
# Ключевой момент: subdir=${BP} принудительно развернет их в папку ${S} (${WORKDIR}/${BP})
SRC_URI:append = " \
    file://my_firmware.bin;subdir=${BP} \
    file://my_firmware.elf;subdir=${BP} \
"
# Исходная строка NXP (не забудьте оставить её, если она была)
SRC_URI:append = ";name=${SOC}"

SCR = "SCR-${SOC}-${MCORE_TYPE}-demo.txt"

MCORE_DEMO_FILE_EXTENSION               ?= "bin"
MCORE_DEMO_FILE_EXTENSION:mx7ulp-nxp-bsp = "img"

do_install () {
    install -d ${D}${nonarch_base_libdir}/firmware
    
    # Скрипт использует wildcard (*). Так как ваши файлы лежат в ${S}, 
    # они автоматически подхватятся оригинальным кодом:
    if ls ${S}/*.elf > /dev/null 2>&1; then
        install -m 0644 ${S}/*.elf ${D}${nonarch_base_libdir}/firmware
    fi
    install -m 0644 ${S}/*.${MCORE_DEMO_FILE_EXTENSION} ${D}${nonarch_base_libdir}/firmware
}

do_deploy () {
    # Здесь оригинальный код копирует только файлы с расширением из MCORE_DEMO_FILE_EXTENSION (*.bin).
    # Если вы хотите, чтобы ваш .elf файл ТОЖЕ попадал в deploy/mcore-demos, добавьте строку для .elf:
    install -d ${DEPLOYDIR}/mcore-demos
    if ls ${S}/*.elf > /dev/null 2>&1; then
        install -m 0644 ${S}/*.elf ${DEPLOYDIR}/mcore-demos/
    fi
    install -m 0644 ${S}/*.${MCORE_DEMO_FILE_EXTENSION} ${DEPLOYDIR}/mcore-demos/
}

addtask deploy after do_install

PACKAGE_ARCH = "${MACHINE_SOCARCH}"

# ВАЖНО: Так как вы добавляете кастомные бинарники, 
# Yocto может выдать ошибку QA о том, что бинарники не оптимизированы или содержат неверную архитектуру.
# Эти строки отключают проверки безопасности для firmware-файлов:
INSANE_SKIP:${PN} = "arch textrel dev-so"
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_SYSROOT_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"