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"