i.MX Processors Knowledge Base

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX Processors Knowledge Base

Discussions

Sort by:
When using Gigabit Ethernet on boards i.MX running Windows 10 IoT Core users may experience network unstability and low latency using build W1809_1_1_0_imx-iotcore. This was fixed by increasing the size of Rx/Tx buffer in ethernet driver. Fix will be part of the next release of BSP, to apply fix to current version a patch was created. To apply patch, copy content of zip archive to appropriate location in folder structure and rebuild BSP.
View full article
This document is describe the control method of USB Power based on I.MX6ULL-EVK.   1. Hardware Design USB OTG can be working as device mode, host mode, or switching between both device mode and host mode. (a) USB OTG Device mode When USB OTG is working as device mode, the USB OTG ID pin should be pulled up by a resistor. And the 5V power comes from the VBUS pin of MicroUSB which is the 5V from the external USB HOST. From the above schematic :- When the USB OTG1 ID is pulled to high, the G/S of the NMOSFET Q2SK3018 is turned on. The ENA pin of U1101 is low, and then no 5V output from OUTA. If USB OTG1 is connected to the external USB HOST, a 5V power source will enter the board and supply to the USB OTG1 VBUS pin. (b) Switch between Device and Host mode This is also called USB OTG’s Dual Role. When we plug in MicroUSB with USB TYPE-AB to USB TYPE-A-F cable, USB OTG1 will switch from USB device to Host mode. At this time, the USB OTG1 ID pin will be pulled down to low, the G / S of the NMOSFET will be turned off, the ENA pin of U1101 will be pulled low, and OUTA will output 5V voltage to the VBUS pin of MicroUSB. (c) USB OTG Host mode When USB OTG is working as host mode,  USB OTG1 ID pin connect an external resistor to pull it down or use internal resistor to pull it down. If using external resistor, 2.2K/3.3K ohm resistor is recommended. The USB_OTG1_PWR should output High to enable ENA of U1101, then OUTA will output 5V to USB OTG1 VBUS. On i.MX6ULL-EVK, USB OTG2 port is designed to be Host mode. It can be a design reference. When the USB_OTG2_PWR pulled to high, the U1101 supplies 5V to the outside. 2. Software modification The GPIO1_IO04 can be used to control USB OTG1 power.
View full article
Platform: i.MX8QXP/8QM OS: Linux Supported Camera Modules: Max9286 + Max9271 + OV10635, Default BSP Max9286 + Max96705 + AR0144, patch Max9286 + Max96705 + OV9284, patch Max9286 + Max96705 + AP0101 + AR0132, patch NVP6324 + NVP2431 + IMX225, patch TP2855 + TP3812 + IMX307, patch ISL7998x + NTSC/PAL Sensor, patch adv7180 + NTSC/PAL Sensor, patch Detailed description in the attachment.
View full article
View the OSS Security and Maintenance Community
View full article
         In recent months, some I.MX customers hope to compile u-boot-fw-utils in yocto and get fw_printenv & fw_setenv tools.          Although there are u-boot-fw-utils bblayers in Yocto recipes, by default, u-boot-fw-utils is not based on u-boot-imx, but downloaded from the u-boot source website, when using bitbake When u-boot-fw-utils compiles it, it will fail to compile.          For example: # cd  ~/imx-yocto-bsp-5.4.3_1.0.0 # DISTRO=fsl-imx-fb MACHINE=imx6sxsabresd source imx-setup-release.sh -b build_sabresd # bitbake u-boot-fw-utils -c compile          If changing .config to be mx6sxsabresd_optee_defconfig in the top directory of u-boot source code, new errors will occur, like descriptions in the link:          https://community.nxp.com/message/1318081?commentID=1318081#comment-1318081            The root cause is that the u-boot is not u-boot-imx.          If we did the test below, it is easy to validate it.      Compiling u-boot # bitbake u-boot-imx -c compile          After compilation is done, u-boot-imx source code will be released .      Changing u-boot source code of u-boot-fw-utils directory          Replace u-boot source code in u-boot-fw-utils directory with u-boot-imx source code. Then continue to compile u-boot-fw-utils # bitbake u-boot-fw-utils -c compile          We will find it can be compiled successfully. This shows that when u-boot-fw-utils is compiled, the downloaded u-boot source code must be u-boot-imx.          In order to achieve this, we need to add recipes to yocto's u-boot-imx, and we can successfully compile fw_printevn and fw_setenv through the bitbake command. Please follow these steps to add u-boot-fw-utils for i.mx to yocto! copy 2 files in attacments to ~/imx-yocto-bsp-5.4.3_1.0.0/sources/meta-imx/meta-bsp/recipes-bsp/u-boot cd ~/imx-yocto-bsp-5.4.3_1.0.0 run below comands # DISTRO=fsl-imx-fb MACHINE=imx6sxsabresd source imx-setup-release.sh -b build_sabresd # bitbake u-boot-imx-fw-utils -c compile # bitbake u-boot-imx-fw-utils -c install   Then you will get fw_printenv & fw_setenv [Comment]          If i.MX users are using other version of linux BSP, she only need to modify the following content of u-boot-imx-common_2019.04.inc to compile u-boot-fw-utils. …… LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"   UBOOT_SRC ?= "git://source.codeaurora.org/external/imx/uboot-imx.git;protocol=https" SRCBRANCH = "lf-5.4.y_v2019.04" SRC_URI = "${UBOOT_SRC};branch=${SRCBRANCH} \ " SRCREV = "228843cdf5435d4bd69f42a6015f78761ff4cc0d" ……          Then compile it following above steps.          Example for L4.14.98_2.0.0: 1.Copy u-boot-imx-common_2019.04.inc & u-boot-imx-fw-utils_2019.04.bb to ~/imx-release-bsp-4.14.98-2.0.0/sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-bsp/u-boot/ 2.Rename files name according to u-boot version u-boot-imx-common_2018.03.inc     u-boot-imx-fw-utils_2018.03.bb 3.Modifying u-boot-imx-common_2018.03.inc In the directory, there is u-boot-imx_2018.03.bb file, open it, and find the link of u-boot and check sum, and use lines below to replace those lines in u-boot-imx-common_2018.03.inc In u-boot-imx_2018.03.bb file: …… LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"   UBOOT_SRC ?= "git://source.codeaurora.org/external/imx/uboot-imx.git;protocol=https" SRCBRANCH = "imx_v2018.03_4.14.98_2.0.0_ga" SRC_URI = "${UBOOT_SRC};branch=${SRCBRANCH}" SRCREV = "87a19df5e462f1f63e8a6d2973c7fb9e95284d04" …… Then in u-boot-imx-common_2018.03.inc, there is the same contents as above: Save it and exit. Go back to the top directory of yocto: ~/imx-release-bsp-4.14.98-2.0.0 # cd ~/imx-release-bsp-4.14.98-2.0.0 # DISTRO=fsl-imx-fb MACHINE=imx6sxsabresd source fsl-setup-release.sh -b build_sabresd # bitbake u-boot-imx-fw-utils -c compile # bitbake u-boot-imx-fw-utils -c install          The same method can be used for other Linux BSP versions.       NXP TIC Team Weidong Sun 05/28/2020
View full article
Some processor’s GPIO settings on the i.MX Pins Tool version 7 may not show allow to select direction and just show an option “Input/Output” as shown. This will be fixed, but the settings can be changed on the local processor data as a workaround. For more information and documentation for the Pins Tool for i.MX please visit its home page on the link below: https://www.nxp.com/design/designs/pins-tool-for-i-mx-application-processors:PINS-TOOL-IMX   First, find where the Pins Tool data package is stored. To do this open the Pins Tool and click Help > About. On the About screen click the Details button. Take also note of the name of the package that needs to be fixed.   Go to the location where the data package is stored and find the processor data. The file that would need to be updated is signal_configuration.xml    Find the GPIO pin data and change the directions from the string ““inOut”to the string “in out”. Then save this file.    Close and reopen the Pins Tool. The direction on the updated package should now show the options Input and Output.  
View full article
SW: Linux 4.14.98_2.2.0 bsp release , gpu sdk 5.3.0 and patch in this doc HW: i.MX8QXP MEK board Inspired by the GIMP adjust color curve tool,  I write similar gui test code for i.MX8QXP gamma curve tuning. That is on display will show one linear curve first, use mouse to change any part of this curve, after that calculate value of point on changed curve , then pass related value to i.MX8QXP DPU gammcor unit , at last the display effect will be changed by DPU. When test code start up , will draw Y=X curve on display, that will from (0,0) to (500, 500) to (1023,1023). After you use mouse drag some part of the curve, will generated a new point (x_new, y_new) which is not on original Y=X curve. Then need draw a new curve that pass  through the (0,0) , (500, 500) , (x_new, y_new), (1023,1023).  That new curve , i choose to use Catmull-Rom Splines to get it. Use Catmull-Rom Splines for approximate a curve that pass through n point, then need n+2 control point. Extra 2 point could be selected as you want ,and they will affect the shape of the curve. Catmull-Rom Splines could pass through all control point, it is C1 continuity, no convex hull property. For example, there is four control point p0, p1 , p2 , p3,  to draw the curve pass through all of them, it could divide to segment p0 to p1 , segment p1 to p2 , segment p2 to p3. For segment p1 to p2 , select four control point as p0,p1, p2, p3, use Catmull-Rom Splines as below: For segment p0 to p1 , need use four control point as p0, p0, p1, p2: For segment p2 to p3, need use four control point as p1, p2, p3, p3: In this test code,  i will use gpu vertex shader to calculate each segment of curve, then use transform feedback to read back point value of each segment to cpu side, cpu side will pass related value to DPU gammcor unit for gamma tuning.   Test steps: Apply 8qxp_dpu_gammacor_4.14.98_2.2.0.diff on linux-imx for i.MX8QXP DPU device driver. Apply dpu_gamma_curve_gpusdk5.3.0.diff on imx-gpu-sdk for build this gui test code. Update the new kernel image, and copy test code to rootfs. Run any other application first to draw some thing on screen, for example  /usr/share/cinematicexperience-1.0/Qt5_CinematicExperience. Then run gui test code in this code, S01_SimpleTriangle_Wayland. Then there will show one linear curve on display , use mouse to change the curve as you like by put mouse cursor close to the curve, press the mouse button , drag it and release the mouse button, you will see the new curve on display , and also the display effect also be changed. Reference: 1>https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-8-processors/i-mx-8x-family-arm-cortex-a35-3d-graphics-4k-video-dsp-error-correcting-code-on-ddr:i.MX8X  2>https://www.nxp.com/design/software/embedded-software/linux-software-and-development-tools/embedded-linux-for-i-mx-applications-processors:IMXLINUX?tab=Design_Tools_Tab  3>https://github.com/NXPmicro/gtec-demo-framework  4>https://en.wikipedia.org/wiki/Cubic_Hermite_spline  5>http://www.mvps.org/directx/articles/catmull
View full article
[中文翻译版] 见附件   原文链接: https://community.nxp.com/docs/DOC-342059 
View full article
[中文翻译版] 见附件   原文链接: https://community.nxp.com/docs/DOC-342174 
View full article
[中文翻译版] 见附件   原文链接: https://community.nxp.com/docs/DOC-342420 
View full article
[中文翻译版] 见附件   原文链接: https://community.nxp.com/docs/DOC-342654 
View full article
[中文翻译版] 见附件   原文链接: https://community.nxp.com/docs/DOC-341996 
View full article
i.MX6UL/ULL extend uart port and integrate SIP I2C device. Contents 1 硬件设计说明 ............................................................. 2 硬件框图 ........................................................................ 2 硬件模块设计 ................................................................. 4 IOMUX 表 ....................................................................... 8 2 编译环境搭建 ............................................................. 8 编译环境文档及镜像下载。 ............................................ 8 编译环境搭建 ............................................................... 11 3 移植BSP 到扩展串口板 ........................................... 15 Uboot 中支持新的DTB ................................................ 15 Uboot 中调试串口改成UART6 ..................................... 16 去除掉无用的驱动及其IOMUX .................................... 18 增加i.MX6UL/ULL 本身串口支持 ................................. 18 增加GPIO 输出支持(GPIO_LED) ............................ 26 增加GPIO 输入支持(GPIO_KEY) ........................... 30 增加PWM支持 ............................................................ 34 增加i.MX6UL 本身ADC 支持 ....................................... 38 修改网口驱动仅支持一个网口 ...................................... 41 增加NXP PCF8591 I2C 转ADC 芯片支持 ................... 44 增加NXP PCA9555A I2C 转GPIO 芯片支持(rework 支持) 47 增加NXP PCT2075 I2C 温度传感器芯片支持(rework 支持) 55 增加NXP PCF8563 I2C RTC 支持(rework 支持) ......... 58 增加NXP PCA9632 I2C LED控制器芯片支持(rework 支持) 65 增加CH438 EIM 转串口芯片支持(delay) ..................... 70
View full article
Follow the PyeIQ Introduction Guide on eIQ Community: PyeIQ v1.0 for BSP 5.4.3_2.0.0 Release  Follow an introduction video for PyeIQ:
View full article
本文旨在说明基于i.MX8X如何设计硬件平 台,包括相关设计资源的收集与学习,硬件原 理图设计,layout,启动(bring up),量产准备, 及正式量产后的失效分析与失效控制。主要是 帮助厘清硬件开发相关从头到尾的问题。 请注意本文为培训和辅助文档,部分内容源 自PMIC/i.MX8X硬件开发指南,并作中文翻 译,强调重点,和查缺补漏,本文不是官方文 档的替代,请一切以官方文档为准。 目录: i.MX8X硬件参考平台 ................................................. 3 2 i.MX8X硬件设计资源 ................................................. 5 i.MX8X芯片相关设计资源 ............................................... 5 i.MX8QXP MEK板外设相关设计资源 ........................... 10 i.MX8QXP 硬件接口规范 .............................................. 11 3 i.MX8X原理图设计检查点 ........................................ 13 PMIC+i.MX8X供电能力和上电时序 .............................. 13 PMIC电源输出端设计 ................................................... 17 I.MX8X电源输入端及去耦设计 ..................................... 22 LPDDR4内存设计 ........................................................ 23 DDR3L内存设计 ........................................................... 25 I2C总线设计 ................................................................. 26 Reset,Wdog reset和On/Off设计建议 ......................... 27 PCIe设计 ...................................................................... 29 USB设计 ...................................................................... 30 晶体时钟设计 ............................................................... 32 JTAG信号端接设计 ...................................................... 34 未使用接口管脚的端接处理 .......................................... 35 GPIO管脚的设计策略 ................................................... 37 调试接口建议 ............................................................... 37 4 i.MX8X 布线设计检查点 ........................................... 40 PMIC电源输出端布线建议 ............................................ 40 i.MX8X端去耦电容摆放 ................................................ 41 电源布线建议 ............................................................... 41 PCB叠层建议 ............................................................... 43 内存布线通用建议 ........................................................ 43 LPDDR4内存布线建议 ................................................. 44 DDR3L内存布线建议.................................................... 45 内存信号完整性仿真建议 ............................................. 47 内存JEDEC信号兼容性测试 ......................................... 48 高速电路板布线建议..................................................... 49 时钟建议 ...................................................................... 50 信号线阻抗建议 ............................................................ 53 USB布线建议 ............................................................... 54 5 i.MX8X硬件散热设计 ............................................... 54 6 i.MX8X硬件启动bring up .......................................... 56 Bring up需要参考的文档与使用工具............................. 56 i.MX8X Bring up需要准备的文档与使用工具 ............................. 60 Bring up检查列表 .......................................................... 65 7 试产与量产前检查点 ................................................. 67 内存稳定性 ................................................................... 67 ESD与EMI考虑 ............................................................. 68 产线设计 ....................................................................... 69 8 i.MX8X失效分析流程 ................................................ 70 NXP失效分析服务 ........................................................ 70 NXP FA失效分析流程 ................................................... 70 筛查是否是芯片原生问题 .............................................. 72 9 量产厂线的EOS/ESD控制 ........................................ 73 什么是EOS/ESD ........................................................... 73 设计中的EOS/ESD风险检查点 ..................................... 75 生产产线中的EOS/ESD风险与防护 .............................. 78
View full article
The document to descript change the u-boot environment variables under the Linux rootfs.  Also provide a demo on i.MX6ull evk of sdcard mirror.  Linux fw_printenv fw_setenv to access U-Boot's environment variables.pdf  --- the document fw_printenv_fw_setenv_demo_iMX6ullevk_L4.14.98_2.0.0_ga.sdcard  --- demo sdcard mirror
View full article
In recent months, some i.MX6ULL users try to add google chromium to Linux BSP L4.1.15 managed by yocto project 2.1 (krogoth), but failed.  One of A customers project also encoutered the same issues, their engineers submitted case to us asking for help. Then a compilation test for the customer was done,  there really exist some errors during compilation. The follwing contents show how to compile it and handle issues. ---System Configurations Hardware: notebook, i7 4-cores, 16GB DDR4 Software: windows 7/10, VMware Player 14.0, USB3.1 SSD Step1: # cd ~/fsl-release-bsp # DISTRO=fsl-imx-x11 MACHINE=imx6ull14x14evk source fsl-setup-release.sh -b build-x11 # gedit ./conf/local.conf          Add lines below, just like descriptions of chromium in i.MX_Yocto_User’s_Guide.pdf …… CORE_IMAGE_EXTRA_INSTALL += "chromium libexif" LICENSE_FLAGS_WHITELIST="commercial" …… [Comment] Above methord has been described in i.MX_Yocto_User's_Guide.pdf. # bitbake chromium -c fetch           Begin to download chromium package:                    If you feel it’s the speed of download is too slow, you can copy the following link to explorer, and download the file directly: http://gsdview.appspot.com/chromium-browser-official/chromium-48.0.2548.0.tar.xz Then copy the file to ~/fsl-release-bsp/downloads. And create a.done file by touch command in the directory. # cd ~/fsl-release-bsp/downloads # touch chromium-48.0.2548.0.tar.xz.done          Empty file is OK, not need any contents in the file. Step 2          Begin to compile chromium: # cd ~/fsl-release-bsp/downloads/build-x11 # bitbake chromium -c compile          From the following picture, total tasks are 1636 Errors 1 during compilation Error : ERROR: cups-2.1.3-r0 do_fetch: Fetcher failure: Fetch command failed with exit code 4, output: failed: Connection timed out. Read error (Connection timed out) in headers.   ERROR: cups-2.1.3-r0 do_fetch: Function failed: Fetcher failure for URL: 'https://www.cups.org/software/2.1.3/cups-2.1.3-source.tar.bz2'. Unable to fetch URL from any source. ERROR: Logfile of failure stored in: /home/weidong/fsl-release-bsp-415-200/build-x11/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/cups/2.1.3-r0/temp/log.do_fetch.33362 ERROR: Task 111 (/home/weidong/fsl-release-bsp-415-200/sources/poky/meta/recipes-extended/cups/cups_2.1.3.bb, do_fetch) failed with exit code '1' Handle it: Download the file through explorer: https://www.cups.org/software/2.1.3/cups-2.1.3-source.tar.bz2 Then copy it to ~/fsl-release-bsp/downloads, and create cups-2.1.3-source.tar.bz2.done Continue: # bitbake chromium -c compile Errors 2 during compilation Handle it : copy the fsimx6ul-chromium.patch to your main yocto directory (same directory were you can find yocto-download). Switch to this directory and apply the patch with the following command: patch -p1 < fsimx6ul-chromium.patch Compile your yocto rootfs again [Comment] The solution is from the link: https://forum.fs-net.de/index.php?thread/4352-yocto-build-chromium-browser/ fsimx6ul-chromium.patchis provided by F&S Support Team Continue: # bitbake chromium -c compile Successfully. Step 3 Compiling full image # bitbake fsl-image-gui          When chromium compilation is done, we can begin to comipile rootfs(fsl-image-gui)          Then no errors occurred. Compiled BSP successfully.   Then we check if chromium has been included in rootfs. # cd ~/fsl-release-bsp/build-x11/tmp/deploy/images/imx6ull14x14evk [Comment] (1) fsl-image-gui-imx6ull14x14evk-20200425220751.rootfs.tar.bz2          The file is rootfs without u-boot/device tree/linux kernel. (2) fsl-image-gui-imx6ull14x14evk-20200425220751.rootfs.sdcard          The file is full image including u-boot/device tree/kernel/rootfs Here is the links among files:          Now we check if rootfs have included chromium, create a temp directory in ~/ and copy rootffs to the temp directory # mkdir ~/temp # cp ./fsl-image-gui-imx6ull14x14evk-20200425220751.rootfs.tar.bz2 ~/temp          Then decompress it. # cd ~/temp # tar -jxvf fsl-image-gui-imx6ull14x14evk-20200425220751.rootfs.tar.bz2 # cd usr/bin/chromium/ # ls Successfully. NXP TIC team Weidog Sun 2020/05/01
View full article
In order to improve the speed of compilation, VMWare Player 14.0 is installed on local hard disk, and Ubuntu 18.04 LTS is installed on a SSD with at least 500GB size and USB3.1 specification. When installing ubuntu 18.04 LTS to SSD, it should be allocated at least 350GB of disk space, because compiling this version of android requires a larger disk space. The following are detailed compilation steps: Part l Configuring Ubuntu 18.04 LTS 1. Installing Ubuntu 18.04 on VMplayer 14.0 After installation is done, root user should be set at first. # sudo passwd root Then follow these steps to configuration ubuntu 18.04 for environment of compiliation --Changing sources of ubuntu 18.04 mirror If you are Chinese users, you can do the step, which can improve your system performance. # sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # sudo geit /etc/apt/source.list Comment I.MX customers outside China do not need to modify Ubuntu source list, or can modify it to local mirror site of Ubuntu 18.04, which can improve the speed of software upgrade.    Delet all sources and copy following lines here, Then save it and exit Changing ubuntu source deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse    Then running these 2 commands to update sources and packages    # sudo apt-get update    # sudo apt-get upgrade 2. Installing packages for compiliation Packages for compiliation # sudo apt-get install flex bison gperf build-essential zlib1g-dev lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev tofrodos python-markdown libxml2-utils xsltproc # sudo apt-get install uuid-dev:i386 liblzo2-dev:i386 gcc-multilib g++-multilib subversion openssh-server openssh-client uuid uuid-dev zlib1g-dev liblz-dev lzop liblzo2-2 liblzo2-dev git-core curl # sudo apt-get install u-boot-tools mtd-utils android-tools-fsutils openjdk-8-jdk device-tree-compiler aptitude libcurl4-openssl-dev nss-updatedb # sudo apt-get install chrpath texinfo gawk cpio diffstat gdisk m4 libz-dev libssl-dev Part 2 Compiling Android Q10.0.0_2.1.0 BSP 1. Downloading NXP source code for Android Q10.0.0_2.1.0    File name is imx-android-10.0.0_2.1.0.tar.gz.    Copy the file to ~/, and decompress it.    # cd ~/    # tar zxvf ./imx-android-10.0.0_2.1.0.tar.gz    Then “imx-android-10.0.0_2.1.0” directory is created at ~/, now run the command to download android source code. # source ./imx-android-10.0.0_2.1.0/imx_android_setup.sh Comment imx_android_setup.sh is a script file, which includes all steps needed by the environment of android Q10.0.0_2.1.0 BSP. If network environment is enough good, several hours later, it will be done. 2. Compiling Android Q10.0.0_2.1.0 Referring to steps in Android_User's_Guide.pdf, We summaries steps for compilation here: (1) Preparing cross-compile tool chain    In Android_User's_Guide.pdf, 2 kinds of tool chain are recommended for users. --- gcc-arm-8.3-2019.03-x86_64-aarch64-elf.tar.xz --- gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz    Users can select one of them, and then decompress it to /opt/ directory. On how to download them or more details, see Android_User's_Guide.pdf, page 3. Here we will use gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz as tool chain. (2) Beginning to Compile Android Q10.0.0_2.1.0 BSP    Since this version of Android BSP requires high memory capacity when compiling, if the memory configuration of the virtual machine is incorrect, it is very likely to cause the compilation to fail. The following is a list of variable tests for user reference: # cd android_build # export AARCH64_GCC_CROSS_COMPILE=/opt/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/aarch64-linux-gnu- # source build/envsetup.sh # lunch evk_8mp-userdebug # ./imx-make.sh -j2 2>&1 | tee build-log.txt Part 3 Errors During Compilation 1. Allocating 8GB Memory For VMware Player # ./imx-make.sh -j1 2>&1 | tee build-log.txt 2. Allocating 12GB Memory For VMware Player # ./imx-make.sh -j4 2>&1 | tee build-log.txt # ./imx-make.sh -j4 2>&1 | tee build-log.txt (Run it again) # ./imx-make.sh -j4 2>&1 | tee build-log.txt (Run it again)       So if we use 4 thread to compile BSP, command for compilation will have to be run for 3 times. NXP TIC Team Weidong Sun 2020/4/30
View full article
[中文翻译版] 见附件   原文链接: https://community.nxp.com/docs/DOC-342877 
View full article