AccueilWiki i.MX8MP → Yocto BSP

Yocto Project sur i.MX8M Plus

Guide complet : du setup initial a la creation d’une image custom deployable, en passant par tous les paquets NXP disponibles.

Vue d’ensemble

NXP fournit un BSP Linux complet pour l’i.MX8M Plus via le Yocto Project. Le BSP est distribue sous forme de manifestes repo qui assemblent toutes les couches (layers) necessaires : noyau Linux, U-Boot, firmware proprietaires, drivers GPU/VPU/NPU, stack multimedia, machine learning, et plus.

📦 Versions BSP actuelles
Yocto LTSScarthgap (5.0)
Yocto LatestStyhead (5.1)
BSP ScarthgapLF 6.6.52-2.2.x
BSP StyheadLF 6.12.3-1.0.0
Kernel ScarthgapLinux 6.6.x
Kernel StyheadLinux 6.12.x
U-Boot2024.04-lf
GCC13.x (Scarthgap)
Scarthgap vs Styhead : Scarthgap (5.0) est la version LTS (Long Term Support) de Yocto, recommandee pour la production. Styhead (5.1) apporte un kernel plus recent mais n’a pas le meme niveau de support a long terme. Pour un nouveau projet industriel, privilegiez Scarthgap.

Prerequisites systeme

Systeme d’exploitation

Ressources materielles

RessourceMinimumRecommande
Espace disque100 Go300+ Go (SSD NVMe)
RAM8 Go32+ Go
CPU4 coeurs8+ coeurs (Ryzen 7 / Xeon)
InternetStableFibre (repo sync + fetcher)
Espace disque : Un build complet imx-image-full avec le sstate-cache peut facilement depasser 200 Go. Prevoyez large. Utilisez un SSD, pas un HDD — la difference de temps de build est enorme.

Paquets systeme requis

# Ubuntu 22.04 / 24.04 : installation des dependances Yocto sudo apt-get update sudo apt-get install -y \ gawk wget git diffstat unzip texinfo gcc build-essential \ chrpath socat cpio python3 python3-pip python3-pexpect \ python3-git python3-jinja2 python3-subunit \ xz-utils debianutils iputils-ping libacl1 \ mesa-common-dev zstd liblz4-tool file locales \ libsdl1.2-dev xterm pylint # Configurer les locales (requis par bitbake) sudo locale-gen en_US.UTF-8

Installer l’outil repo

# Installer repo (Google’s repository management tool) mkdir -p ~/.bin curl https://storage.googleapis.com/git-repo-downloads/repo > ~/.bin/repo chmod a+rx ~/.bin/repo # Ajouter au PATH (dans ~/.bashrc) export PATH= »${HOME}/.bin:${PATH} » # Configurer git (requis par repo) git config –global user.name « Votre Nom » git config –global user.email « votre@email.com » git config –global color.ui auto

Installation du BSP avec repo

NXP distribue le BSP via des manifestes repo heberges sur GitHub. Le manifeste definit la liste exacte de tous les depots Git (layers Yocto, kernel, U-Boot, firmware…) avec leurs branches et commits.

Initialiser le workspace (Scarthgap LTS)

# Creer le repertoire de travail mkdir ~/imx-yocto-bsp && cd ~/imx-yocto-bsp # Initialiser avec le manifeste Scarthgap (LTS) repo init -u https://github.com/nxp-imx/imx-manifest \ -b imx-linux-scarthgap \ -m imx-6.6.52-2.2.2.xml # Telecharger toutes les sources (~15-30 min selon connexion) repo sync -j$(nproc)

Manifestes disponibles (Scarthgap)

ManifesteKernelNotes
imx-6.6.52-2.2.2.xml6.6.52Derniere release Scarthgap (recommandee)
imx-6.6.52-2.2.1.xml6.6.52Patch release
imx-6.6.52-2.2.0.xml6.6.52Release initiale 2.2
imx-6.6.36-2.1.0.xml6.6.36Release 2.1
imx-6.6.23-2.0.0.xml6.6.23Release initiale Scarthgap

Alternative : Styhead (latest)

# Pour utiliser le kernel le plus recent (6.12.x) repo init -u https://github.com/nxp-imx/imx-manifest \ -b imx-linux-styhead \ -m imx-6.12.3-1.0.0.xml repo sync -j$(nproc)

imx-setup-release.sh

NXP fournit un script qui configure automatiquement l’environnement de build. Il cree le repertoire de build, configure local.conf et bblayers.conf, et accepte le EULA NXP.

# Syntaxe generale MACHINE=<machine> DISTRO=<distro> source imx-setup-release.sh -b <build-dir> # Exemple typique pour i.MX8MP EVK avec Wayland MACHINE=imx8mp-lpddr4-evk DISTRO=fsl-imx-xwayland source imx-setup-release.sh -b build-xwayland # Le script : # 1. Cree le repertoire build-xwayland/ # 2. Configure conf/local.conf avec MACHINE et DISTRO # 3. Configure conf/bblayers.conf avec tous les layers NXP # 4. Accepte le EULA NXP (ACCEPT_FSL_EULA = « 1 ») # 5. Source l’environnement oe-init-build-env
💡
Attention : Le script imx-setup-release.sh ne doit etre execute qu’une seule fois pour creer le build directory. Pour les sessions suivantes, utilisez simplement :
source setup-environment build-xwayland

Choix de la DISTRO

La variable DISTRO determine le backend graphique utilise par le systeme. Pour l’i.MX8MP, trois options sont disponibles :

DISTROBackendDescriptionUsage
fsl-imx-xwayland Wayland + XWayland Weston compositor avec support X11 via XWayland. Applications X11 et Wayland natives. Recommande — le plus polyvalent
fsl-imx-wayland Wayland pur Weston compositor sans X11. Plus leger mais pas de retro-compatibilite X. Systemes dedies Wayland
fsl-imx-fb Framebuffer Rendu directement sur le framebuffer, sans Wayland ni X11. Headless, kiosk, ou UI custom (Qt DirectFB)
Conseil : Si vous n’avez pas de besoin specifique, utilisez fsl-imx-xwayland. C’est le defaut et il supporte le plus large eventail d’applications. Si votre produit est headless (sans ecran), fsl-imx-fb suffit.

Choix de la MACHINE

La variable MACHINE cible une carte de reference specifique. Pour l’i.MX8MP :

MACHINEDescription
imx8mp-lpddr4-evki.MX8MP EVK avec LPDDR4 — le plus courant
imx8mp-ddr4-evki.MX8MP EVK avec DDR4 classique
imx8mpevkAlias generique (ancienne denomination)
💡
Carte custom : Pour votre propre hardware, vous devrez creer un fichier machine .conf dans votre layer custom, basee sur l’EVK. On modifie principalement : le device tree, la config DDR, les peripheriques actives.

Images disponibles

NXP propose plusieurs recettes d’images, du minimal au complet :

ImageTaille ~Contenu
core-image-minimal ~30 Mo Shell BusyBox, init systeme, pas de GUI — test de boot basique
imx-image-core ~150 Mo Systeme de base NXP : systemd, networking, firmware, pas de GUI
imx-image-multimedia ~500 Mo GPU, VPU, GStreamer, Wayland/Weston, lecteur multimedia, camera ISP
imx-image-full ~2-3 Go Tout : multimedia + Qt 6 + Machine Learning (TFLite, ONNX, PyTorch) + demos NXP

imx-image-full : contenu detaille

L’image imx-image-full est l’image de reference la plus complete de NXP. Elle inclut :

Multimedia & GPU

Machine Learning / IA

Qt 6

Systeme

Lancer le build

Commandes de build

# S’assurer d’etre dans le repertoire de build cd ~/imx-yocto-bsp source setup-environment build-xwayland # Build image minimale (test rapide, ~30 min) bitbake core-image-minimal # Build image multimedia (GPU + VPU + GStreamer, ~2-4h) bitbake imx-image-multimedia # Build image complete (multimedia + Qt + ML, ~4-8h) bitbake imx-image-full # Build uniquement le kernel bitbake linux-imx # Build uniquement U-Boot bitbake u-boot-imx

Ou trouver les images generees

# Les images sont dans : ls tmp/deploy/images/imx8mp-lpddr4-evk/ # Fichiers principaux : # imx-image-full-imx8mp-lpddr4-evk.wic.zst -> Image SD card complete # imx-image-full-imx8mp-lpddr4-evk.tar.zst -> Rootfs compresse # Image -> Kernel Linux # imx8mp-evk.dtb -> Device Tree # flash.bin -> Bootloader (SPL+ATF+U-Boot) # imx-boot -> Image boot (alias flash.bin)

Parallelisme et optimisation

# Dans conf/local.conf, ajuster le parallelisme : BB_NUMBER_THREADS = « 8 » PARALLEL_MAKE = « -j 8 » # Activer le cache de compilation partage (sstate) # (deja active par defaut, stocke dans sstate-cache/) # Pour les builds repetes, le DL_DIR peut etre partage : DL_DIR = « /opt/yocto-downloads »

Layers NXP (meta-imx)

Le BSP NXP est organise en plusieurs layers Yocto, chacun avec un role specifique :

LayerRoleContenu principal
meta-imx-bspBSP hardwareMachine configs, kernel, U-Boot, firmware, device tree
meta-imx-sdkDistro & demosImages recipes, distro configs, applications de demo
meta-imx-mlMachine LearningTFLite, ONNX Runtime, ArmNN, OpenCV, eIQ
meta-imx-cockpiteCockpit autoApplications cockpit automobile (optionnel)
meta-imx-v2xV2XVehicle-to-Everything (optionnel, auto)
meta-freescaleBSP communautaireRecettes stables upstreamees, machines, kernel mainline
meta-freescale-distroDistro communautairePackagegroups, recettes multimedia communautaires
meta-freescale-3rdpartyCartes tiercesSoM Toradex, Variscite, SolidRun, PHYTEC, etc.
meta-nxp-demo-experienceDemos GoPointDemos interactives NXP (IA, multimedia, benchmarks)
meta-armARM firmwareATF (Trusted Firmware), OP-TEE
meta-qt6Qt 6Framework Qt 6 complet

Voir les layers actifs

# Lister les layers configures bitbake-layers show-layers # Voir les appends actifs bitbake-layers show-appends # Chercher une recette bitbake-layers show-recipes « linux-imx »

Paquets NXP cles

Voici les paquets proprietaires et open-source essentiels fournis par NXP pour l’i.MX8MP :

BSP & Firmware

PaquetLicenceDescription
firmware-imxProprietaireFirmware SDMA, EASRC, EPDC, VPU, HDMI, DSP HiFi4
linux-imxGPLv2Kernel Linux NXP (fork avec patches i.MX)
u-boot-imxGPLv2U-Boot NXP (fork avec support i.MX)
imx-atfBSD-3ARM Trusted Firmware (BL31)
optee-os-imxBSD-2OP-TEE OS pour TrustZone
imx-libLGPLv2Bibliotheques de support i.MX
imx-testGPLv2Suite de tests materiel (memoire, GPU, VPU, etc.)

GPU & Display

PaquetLicenceDescription
imx-gpu-vivProprietaireDrivers GPU Vivante : OpenGL ES 3.1, Vulkan 1.0, OpenCL 1.2, OpenVG
imx-gpu-g2dProprietaireAcceleration 2D (GPU G2D)
libdrm-imxMITExtensions DRM specifiques i.MX
wayland-protocols-imxMITExtensions Wayland specifiques
weston-imxMITWeston patche avec rendu GPU i.MX

Video & Multimedia

PaquetLicenceDescription
imx-vpu-hantroProprietaireDrivers VPU Hantro : H.265, H.264, VP8, VP9 decode/encode
imx-vpu-hantro-vcProprietaireExtensions VC8000E (encodeur H.265)
imx-codecProprietaireCodecs audio/video proprietaires (AAC, MP3, WMA, etc.)
imx-parserProprietaireParsers multimedia (MP4, AVI, MKV, FLV, etc.)
imx-gst1.0-pluginLGPLv2Plugins GStreamer specifiques i.MX (vpudec, vpuenc, v4l2)
imx8-ispProprietaireDrivers ISP camera (basler, ov5640, etc.)

Machine Learning

PaquetLicenceDescription
nn-imxMITDriver NPU (VIP8000) : VX Delegate pour TFLite, backend ONNX
tensorflow-liteApache 2.0TensorFlow Lite avec delegate VX NPU
onnxruntimeMITONNX Runtime avec acceleration NPU
armnnMITArm Neural Network SDK
opencvApache 2.0OpenCV 4.x avec module DNN
tim-vxMITTensor Interface Module (API bas niveau NPU)

Audio

PaquetLicenceDescription
imx-dspc-asrcProprietaireASRC (Asynchronous Sample Rate Converter)
imx-dspProprietaireFirmware DSP HiFi4
alsa-lib / alsa-utilsLGPLv2Stack audio ALSA (6x SAI, MICFIL, EASRC)
pipewireMITServeur audio/video moderne (remplace PulseAudio)

Firmware proprietaires

Le paquet firmware-imx contient les blobs binaires indispensables au fonctionnement de l’i.MX8MP. Sans eux, de nombreux peripheriques ne fonctionnent pas.

FirmwarePeripheriqueImpact si absent
sdma-imx7d.binSDMA (DMA engine)Pas de transferts DMA audio/SPI/UART
easrc/easrc-imx8mn.binEASRCPas de conversion de frequence audio
vpu/*.binVPU HantroPas de decodage/encodage video hardware
hdmi/cadence/*.binHDMI TXPas de sortie HDMI
dsp/hifi4/*.binHiFi4 DSPPas de traitement audio DSP
EULA NXP : Les firmware proprietaires necessitent l’acceptation du EULA NXP. Le script imx-setup-release.sh l’accepte automatiquement. En mode manuel, ajoutez ACCEPT_FSL_EULA = « 1 » dans local.conf.

Personnaliser local.conf

Le fichier conf/local.conf est le point central de configuration du build. Voici les variables les plus utiles :

Variables essentielles

# Machine cible MACHINE = « imx8mp-lpddr4-evk » # Distribution (backend graphique) DISTRO = « fsl-imx-xwayland » # Accepter le EULA NXP (requis pour firmware-imx, imx-gpu-viv, etc.) ACCEPT_FSL_EULA = « 1 » # Parallelisme BB_NUMBER_THREADS = « 8 » PARALLEL_MAKE = « -j 8 » # Repertoire de telechargement partage DL_DIR = « /opt/yocto-downloads » # Repertoire sstate-cache partage SSTATE_DIR = « /opt/yocto-sstate »

Ajouter des paquets supplementaires

# Ajouter des paquets a l’image CORE_IMAGE_EXTRA_INSTALL:append =  » htop nano strace gdb » # Ajouter des paquets specifiques au dev IMAGE_INSTALL:append =  » openssh-sftp-server rsync curl » # Activer le serveur SSH par defaut EXTRA_IMAGE_FEATURES += « ssh-server-openssh » # Permettre le login root sans mot de passe (dev uniquement !) EXTRA_IMAGE_FEATURES += « debug-tweaks » # Ajouter le support package management (opkg/apt/dnf) EXTRA_IMAGE_FEATURES += « package-management » PACKAGE_CLASSES = « package_deb »

Configuration kernel

# Ajouter un fragment de config kernel KERNEL_CONFIG_FRAGMENTS += « ${THISDIR}/files/my-config.cfg » # Forcer une option kernel KERNEL_MODULE_AUTOLOAD += « snd-soc-imx-audio » # Utiliser un device tree custom KERNEL_DEVICETREE:append =  » freescale/imx8mp-my-custom-board.dtb »

Options de debug

# Garder les sources du kernel dans le rootfs (pour perf/debug) EXTRA_IMAGE_FEATURES += « dbg-pkgs dev-pkgs » # Activer les symboles de debug DEBUG_BUILD = « 1 » # Ajouter des outils de debug CORE_IMAGE_EXTRA_INSTALL:append =  » valgrind perf ltrace »

Creer un layer custom

Pour un projet serieux, il faut toujours creer un layer dedie. Ne modifiez jamais les layers NXP directement.

Creer le layer

# Depuis le repertoire racine du BSP cd ~/imx-yocto-bsp/sources # Creer le squelette du layer bitbake-layers create-layer meta-mon-projet # Structure creee : # meta-mon-projet/ # conf/ # layer.conf -> Configuration du layer # recipes-example/ # example/ # example_0.1.bb -> Recette d’exemple (a supprimer) # Ajouter le layer au build cd ~/imx-yocto-bsp/build-xwayland bitbake-layers add-layer ../sources/meta-mon-projet

Structure recommandee

meta-mon-projet/ conf/ layer.conf machine/ mon-board-imx8mp.conf # Config machine custom distro/ mon-distro.conf # Config distro custom (optionnel) recipes-bsp/ u-boot/ u-boot-imx_%.bbappend # Patch U-Boot linux/ linux-imx_%.bbappend # Patch kernel, DTS files/ imx8mp-mon-board.dts # Device Tree custom mon-kernel.cfg # Fragment config kernel recipes-core/ images/ mon-image.bb # Image custom base-files/ base-files_%.bbappend # Personnaliser hostname, etc. recipes-app/ mon-app/ mon-app_1.0.bb # Application custom

Modifier une recette (.bbappend)

Les fichiers .bbappend permettent de modifier une recette existante sans la copier. C’est le mecanisme standard pour customiser le kernel, U-Boot, ou tout autre paquet.

Exemple : ajouter un device tree custom au kernel

# Fichier : meta-mon-projet/recipes-bsp/linux/linux-imx_%.bbappend FILESEXTRAPATHS:prepend := « ${THISDIR}/files: » SRC_URI += « file://imx8mp-mon-board.dts;subdir=git/arch/arm64/boot/dts/freescale » SRC_URI += « file://mon-kernel.cfg » KERNEL_DEVICETREE:append =  » freescale/imx8mp-mon-board.dtb » # Fragment de config kernel KERNEL_CONFIG_FRAGMENTS += « ${WORKDIR}/mon-kernel.cfg »

Exemple : modifier la config U-Boot

# Fichier : meta-mon-projet/recipes-bsp/u-boot/u-boot-imx_%.bbappend FILESEXTRAPATHS:prepend := « ${THISDIR}/files: » SRC_URI += « file://0001-mon-board-defconfig.patch »

Exemple : ajouter un service systemd

# Fichier : meta-mon-projet/recipes-app/mon-service/mon-service_1.0.bb SUMMARY = « Mon service custom » LICENSE = « MIT » LIC_FILES_CHKSUM = « file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302 » SRC_URI = « file://mon-service.sh \ file://mon-service.service » inherit systemd SYSTEMD_SERVICE:${PN} = « mon-service.service » SYSTEMD_AUTO_ENABLE = « enable » do_install() { install -d ${D}${bindir} install -m 0755 ${WORKDIR}/mon-service.sh ${D}${bindir}/ install -d ${D}${systemd_system_unitdir} install -m 0644 ${WORKDIR}/mon-service.service ${D}${systemd_system_unitdir}/ }

Creer une image custom

Plutot que d’utiliser CORE_IMAGE_EXTRA_INSTALL dans local.conf, creez une recette d’image dediee pour votre projet :

# Fichier : meta-mon-projet/recipes-core/images/mon-image.bb SUMMARY = « Image custom pour mon produit i.MX8MP » # Heriter de l’image multimedia NXP comme base require recipes-fsl/images/imx-image-multimedia.bb # Ou partir de core-image-base pour une image plus legere : # inherit core-image IMAGE_INSTALL:append =  » \ mon-app \ mon-service \ htop nano curl \ openssh-sftp-server \ python3 python3-pip \ tensorflow-lite \ opencv \ v4l-utils \ alsa-utils \ i2c-tools \ can-utils \ ethtool \  » # Caracteristiques de l’image EXTRA_IMAGE_FEATURES += « ssh-server-openssh package-management » # Taille du rootfs IMAGE_ROOTFS_EXTRA_SPACE = « 1048576 »
# Builder l’image custom bitbake mon-image

Deployer / Flasher

Flasher sur carte SD

# L’image .wic.zst est prete a flasher sur SD card # Identifier la carte SD (attention a ne pas ecraser le mauvais disque !) lsblk # Decompresser et flasher zstdcat tmp/deploy/images/imx8mp-lpddr4-evk/imx-image-full-imx8mp-lpddr4-evk.wic.zst | \ sudo dd of=/dev/sdX bs=1M conv=fsync status=progress # Alternative avec bmaptool (plus rapide) sudo bmaptool copy tmp/deploy/images/imx8mp-lpddr4-evk/imx-image-full-imx8mp-lpddr4-evk.wic.zst /dev/sdX

Flasher sur eMMC

# Methode 1 : via UUU (USB) depuis le PC host sudo uuu -b emmc_all imx-boot imx-image-full-imx8mp-lpddr4-evk.wic.zst # Methode 2 : depuis U-Boot via UMS (USB Mass Storage) # Sur la cible (console U-Boot) : ums 0 mmc 2 # L’eMMC apparait comme un disque USB sur le PC host # Puis flasher normalement avec dd

Flasher uniquement le bootloader

# Sur SD card : ecrire flash.bin a l’offset 32K sudo dd if=flash.bin of=/dev/sdX bs=1K seek=32 conv=notrunc # Sur eMMC (depuis U-Boot) : mmc dev 2 fatload mmc 1 ${loadaddr} flash.bin mmc write ${loadaddr} 0x40 0x1000

SDK & cross-compilation

Yocto peut generer un SDK complet pour cross-compiler des applications en dehors de l’environnement Yocto.

# Generer le SDK bitbake imx-image-multimedia -c populate_sdk # Le SDK est genere dans : # tmp/deploy/sdk/fsl-imx-xwayland-glibc-x86_64-imx-image-multimedia-cortexa53-crypto-imx8mp-lpddr4-evk-toolchain-*.sh # Installer le SDK chmod +x tmp/deploy/sdk/*.sh ./tmp/deploy/sdk/*.sh # Chemin par defaut : /opt/fsl-imx-xwayland/ # Utiliser le SDK source /opt/fsl-imx-xwayland/6.6-scarthgap/environment-setup-cortexa53-crypto-poky-linux # Compiler une application $CC -o mon-app mon-app.c $(pkg-config –cflags –libs opencv4) # Compiler avec CMake cmake -DCMAKE_TOOLCHAIN_FILE=$OECORE_NATIVE_SYSROOT/usr/share/cmake/OEToolchainConfig.cmake .. make
💡
eSDK : Pour un SDK extensible (ajout de paquets a la demande), utilisez bitbake imx-image-multimedia -c populate_sdk_ext. L’eSDK est plus lourd mais permet d’installer de nouveaux paquets sans refaire le build Yocto complet.

Problemes courants

ProblemeCauseSolution
EULA not accepted EULA NXP non accepte Ajouter ACCEPT_FSL_EULA = « 1 » dans local.conf
do_fetch failed Source introuvable / timeout Verifier la connexion. Relancer bitbake -c cleanall <recipe> puis rebuild
No space left on device Espace disque insuffisant Liberer de l’espace ou deplacer DL_DIR / SSTATE_DIR / TMPDIR
OOM Killer RAM insuffisante Reduire BB_NUMBER_THREADS, ajouter du swap
Kernel ne boot pas Device tree incorrect Verifier KERNEL_DEVICETREE, tester avec le DTB de l’EVK
GPU ne fonctionne pas DISTRO framebuffer au lieu de Wayland Utiliser fsl-imx-xwayland et verifier imx-gpu-viv
NPU non detecte Driver galcore absent ou config kernel Verifier CONFIG_MXC_GPU_VIV=y et presence de nn-imx
locale error Locales non configurees sur le host sudo locale-gen en_US.UTF-8
Build U-Boot echoue sur Ubuntu 20.04 GCC/binutils trop anciens pour Scarthgap Migrer vers Ubuntu 22.04+ ou utiliser un container Docker

Commandes de debug bitbake

# Voir le log d’erreur d’une tache bitbake -c compile linux-imx -v # Nettoyer et reconstruire un paquet bitbake -c cleanall linux-imx bitbake linux-imx # Ouvrir un shell dans l’environnement de build bitbake -c devshell linux-imx # Voir les dependances d’un paquet bitbake -g imx-image-full # Genere task-depends.dot (visualisable avec Graphviz) # Chercher a quel paquet appartient un fichier oe-pkgdata-util find-path « /usr/lib/libGAL.so » # Lister les paquets dans une image bitbake -e imx-image-full | grep ^IMAGE_INSTALL=

Astuces & bonnes pratiques

Accelerer les builds

Gestion des versions

Docker

# Utiliser Docker pour un environnement de build reproductible # Image CROPS (Yocto Project officielle) docker run –rm -it \ -v ~/imx-yocto-bsp:/workdir \ -v /opt/yocto-downloads:/downloads \ crops/poky:ubuntu-22.04 \ –workdir=/workdir # Avantage : meme version de GCC/Python/libs sur toutes les machines

Builds CI/CD

Ressources

Documentation NXP

Depots GitHub NXP

Communaute Yocto

i.MX8M Plus →
Presentation complete du SoC : CPU, GPU, NPU, DSP, video, audio, connectivite.
U-Boot i.MX8MP →
Boot chain, SPL, ATF, Secure Boot, DDR init, Falcon Mode, troubleshooting.
Yocto BSP — Page actuelle
Build, paquets NXP, images, customisation, deploiement.

Besoin d’aide pour votre BSP Yocto i.MX8MP ?

Creation de layer custom, portage sur votre carte, optimisation d’image, integration CI/CD — je vous accompagne.

Discuter de votre projet →