Présentation générale du NXP i.MX6
La dénomination i.MX6 décrit une gamme de processeurs ARMv7 et de plateformes de développement proposées par NXP pour des applications industrielles et automobiles. L’entreprise NXP est issue de la scission de la division semiconducteurs de Philips, et a racheté en 2015 Freescale, un nom bien connu dans l’informatique embarquée et que l’on retrouve sur les gravures des processeurs i.MX anciens et plus récents.
On peut donc considérer que NXP le créateur des bus de données i2c, i2s, avec des solutions particulièrement adaptées en environnements perturbés comme on peut en trouver dans l’automobile ou la conversion de puissance.
Cela peut expliquer la raison pour laquelle les composants NXP intègrent des composants robustes et fiables, ainsi que des bus de données adaptés aux environnements perturbés électromagnétiquement, comme par exemple le bus CAN, conçu à l’origine pour l’automobile autour d’une ligne symétrique.
NXP s’engage à supporter ses produits entre 10 et 15 ans, ce qui est de nature à rassurer les industriels sur l’utilisation de matériel de la marque.
Kits de développement pour le i.MX6
Plusieurs fournisseurs proposent des plateformes de développement et de prototypage rapide intégrant un processeur i.MX6.
Les mentions « Yocto : MACHINE=* » sont une tentative de faire correspondre le matériel aux machines supportées par le dépôt Yocto communautaire proposé par Freescale. Il est possible que mes correspondances soient erronées.
Kits de développement par NXP lui-même
NXP est le constructeur Hollandais du processeur i.MX6 lui-même, et propose également des kits de développement. On retrouve couramment l’orientation automobile et infotainment.
- SABRE for Automotive Infotainment Based on the i.MX 6 Series RDIMX6SABREAUTO. Yocto : MACHINE=imx6qdlsabreauto (Quad) ou MACHINE=imx6sxsabreauto (Solo).
- SABRE Board for Smart Devices Based on the i.MX 6QuadPlus Applications Processors RD-IMX6QP-SABRE (Réf MCIMX6Q-SDB chez Mouser). Yocto : MACHINE=imx6qdlsabresd.
- Evaluation kit for the i.MX 6ULL and 6ULZ Applications Processor MCIMX6ULL-EVK. Yocto : MACHINE=imx6ullevk ou MACHINE=imx6ulz-14×14-evk.
- i.MX 6SoloLite Evaluation Kit IMX6SLEVK (Réf MCIMX6SLEVK chez Mouser). Yocto : MACHINE=imx6slevk ou MACHINE=imx6sllevk.
- i.MX6UltraLite Evaluation Kit MCIMX6UL-EVK (Réf MCIMX6ULL-EVK chez Mouser). Yocto : MACHINE=imx6ulevk ou MACHINE=imx6ullevk
- SABRE Board for Smart Devices Based on the i.MX 6Quad Applications Processors RD-IMX6Q-SABRE. Yocto : MACHINE=imx6qdlsabresd (Quad).
- SABRE Board for Smart Devices Based on the i.MX 6SoloX Applications Processors RD-IMX6SX-SABRE (Réf MCIMX6SX-SDB chez Mouser). Yocto : MACHINE=imx6sxsabresd (Solo).
- SABRE for Automotive Infotainment Based on the i.MX 6 Series for Automotive AVB Development SABRE-AUTO-IMX6-RD2
Kits de développement Voipac
Voipac est une société Slovaque de fabrication de matériel embarqué pour le médical, les télécoms, l’automobile, la robotique, l’aviation, etc.
Bien que les processeurs NXP i.MX6 soient maintenant supportés par Freescale/NXP avec Yocto, ce n’est pas le cas du Voipac iMX6 Rex. Ce paradoxe peut être clairement bloquant si vous envisagiez le iMX6 Rex.
Sur cette page, vous trouverez les instructions pas à pas pour construire iMX6 Rex à partir du projet YOCTO. YOCTO est simplement un autre moyen de construire uBoot, le noyau Linux et le système de fichiers. La différence avec la compilation standard réside dans le fait que Freescale effectue dorénavant tout son support au travers de YOCTO. Si vous avez besoin de choses spécifiques du iMX6 comme le GPU ou les appareils photos, vous devriez probablement vouloir utiliser YOCTO pour préparer uBoot et Linux pour votre board.
Le iMX6 Rex n’a pas encore été complètement porté pour YOCTO, mais vous trouverez sur ces pages les étapes qui vous permettront de le faire par vous-même dans le cas où vous auriez besoin de YOCTO rapidement.
Source : https://www.imx6rex.com/software/how-to-start-with-yocto/
Voipac propose un afficheur TFT tactile (résistif) compatible avec le iMX6 Rex avec interface LVDS.
Attention, les plateformes Voipac iMX6 sont en phase dite de « Maturité », c’est à dire 6 à 10 ans après mise sur le marché. Les clients actuels sont fournis en grosses quantités et les demandes de fonctions additionnelles sont progressivement rejetées. Les produits dans cette phase ne sont plus recommandés pour de nouveaux designs (source). La plateforme i.MX8 (introduction phase) doit supplanter la plateforme i.MX6 chez Voipac.
Au moins deux facteurs apparaissent comme défavorables à l’adoption du iMX6 Rex dans un nouveau projet industriel : sa phase de « maturité » dans le cycle de vie produit du constructeur, et l’absence de support pour Yocto quand bien même il s’agit du seul système maintenant supporté par le fondeur Freescale/NXP.
Kits de développement par Boundary Devices
Boundary Devices est une société Américaine qui propose des kits de développement mais également du conseil sur la partie logicielle, notamment avec la librairie Qt.
- Nitrogen6X. Yocto : MACHINE=nitrogen6x.
- Nitrogen6X_MAX
- Nitrogen6_SoloX. Yocto : MACHINE=nitrogen6sx
- Nitrogen6 SOM V2
- BD-SL-i.MX6 (SABRE Lite)
Kits de développement Wandboard
Le site officiel wandboard.org redirige vers TechNexion.
- Wandboard-IMX6. Yocto : MACHINE=wandboard.
- Autres kits d’évaluation ici
Autres matériels pour mise en production rapide
Single Board Computers (SBC) et Computer on Module (CoM) Toradex
Toradex est une société Suisse qui propose des Single Board Computers (SBC) et des Computer on Module (CoM). Ils proposent un système de configurateur à base de CoM et de Carrier Board pour constituer un SBC sur mesure.
De nombreux modèles possèdent une variante IT avec plage de fonctionnement étendue -40°C à +85°C.
- Apalis iMX6 Quad et ses variantes (ici Apalis iMX6 Quad 2GB IT). Yocto : MACHINE=apalis-imx6.
- Apalis iMX6 Dual et ses variantes (ici Apalis iMX6 Dual 1GB IT). Yocto : MACHINE=apalis-imx6.
- Colibri iMX6 DualLite et ses variantes (ici Colibri iMX6 DualLite 512MB IT). Yocto : MACHINE=colibri-imx6.
- Colibri iMX6 Solo et ses variantes (ici Colibri iMX6 Solo 256MB IT). Yocto : MACHINE=apalis-imx6.
- Colibri iMX6ULL et ses variantes (ici Colibri iMX6ULL 1GB IT). Yocto : MACHINE=colibri-imx6ull.
Matériel à base iMX6 Chipsee
Chipsee est une société Chinoise qui propose des System on Modules (SoM) et des afficheurs à base de iMX6 et Raspberry Pi CM4.
Les displays tout-en-un ont la particularité d’intégrer des I/O RS232, RS485 et bus CAN. Ils ciblent ainsi une utilisation industrielle.
- System On Module CS-SOM-iMX6Q
- Displays basés sur le iMX6UL, Light. Exemple ici avec le EPC-A7-70HB-C
- Displays basés sur le iMX6Q, Quad. Exemple ici avec le EPC-A9-101-C
Single Board Computers (SBC) Gateworks
Gateworks est une société Américaine qui propose du matériel à base i.MX6, principalement orienté réseau et télécoms.
- Famille de produits Ventana (GW5510, GW5530, GW5100, GW5913, GW5200, GW5220, GW5910, GW5520, GW5300, GW5310, GW5400, GW5410)
Matériel SolidRun
- Ordinateur basse consommation CuBox-i4 (semblable au NanoPi). Yocto : MACHINE=cubox-i.
- System on Module i.MX6 (Solo, Dual et Quad)
- Ordinateurs low-cost Hummingboard (la plateforme Hummingboard semble utiliser une Carrier Board et un SOM)
- i.MX6 Evaluation Kit
Comment utiliser le i.MX6 dans une solution industrielle ?
Il semblerait que l’utilisation d’un système à base i.MX6 passe obligatoirement par l’utilisation d’une distribution créée sur mesure grâce à Yocto (documentation NXP ici) ou bien un OS Android.
On retrouve également très couramment des applications codées en Qt (cf. distribution Debian 10 par Boundary Devices), voire même packagées avec Boot2Qt (cf. site officiel).