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:
The edit-compile-test loop is the quickest way so can test your changes. 1. Go to the package's source code folder and edit your files. 2. Compile that particular package, e.g. bitbake linux-imx -c compile -f 3. Deploy, e.g. bitbake linux-imx -c deploy 4. Insert the SD card into your host, and copy the Linux kernel into the the first partition sudo cp tmp/deploy/images/uImage /media/Boot 5. Insert the SD card into your board, boot and test your changes 6. In case you are satisfied with the results, you need to create a patch and add into the package's recipe. Check this document to execute this step.
View full article
-BACKGROUND       Since the release of i.MX8MQ and i.MX8M Mini, some customers have submitted questions about the design of USB2.0 for these two processors: due to the needs of the project, there is no need to use USB3.0 and USB TYPE-C. Therefore, these applications need to use a conventional USB2.0 interface design similar to i.MX6Q.       In order for customers with similar needs to complete the design smoothly, this document summarizes the answers to previous customer responses and draws two USB2.0 design schematics. At the same time, the i.MX expert hardware team member helped review these two drawings, and the i.MX Expert software team gave suggestions on software adjustments. -BEGIN       i.MX8MQ supports USB3.0 and is compatible with USB2.0, i.MX8M Mini only supports USB2.0, not USB3.0. In both development boards, the USB TYPE-C design scheme is used. We must remove the USB TYPE-C, PD chip and logic chip. At the same time, change the connector to MicroUSB and USB TYPE-A-F. No.1 Hardware Design 1. IOMUX list 2 、USB circuit design (1) USB Power & OC control I.MX8MM i.MX8MQ                                                 i.MX8MQ                                              i.MX8MQ [Comment] For i.MX8MQ -USB1 is configured as Dual Role Mode, USB1 OTG ID is used for detection -USB2 is configured as fixed Host mode, USB2 OTG ID is used for detection -i.MX8M Mini USB2.0                                        i.MX8M Mini                                     i.MX8M Mini [Comment] For i.MX8M Mini -USB1 is configured as Dual Role Mode, USB1 OTG ID is used for detection -USB2 is configured as fixed Host mode, USB2 OTG ID is used for detection (3) Additional description --About USB1_VBUS & USB2_VBUS of i.MX8M Mini          According to i.MX8M Mini datasheet, USB1_VBUS & USB2_VBUS allows 0~3.9V input. See below, please! Therefore, some customers have questioned the USB1_VBUS on the I.MX8M Mini-EVK. From the drawings, the external input voltage exceeds this range.          In fact, customers do not need to worry about this problem. There are internal voltage-dividing resistors on the USB1_VBUS and USB2_VBUS pins. As long as the customer refers to the design method on the I.MX8M Mini-EVK, the input voltage of these 2 pins can be guaranteed Inside. --About USBx OTG ID & USBx_ID (1) USBx_OTG_ID          USBx OTG ID is also called GPIO ID, which is the same as that of i.MX6Q. During the work process, the software changes the role between device and host according to the level of the ID pin from high to low or from low to high. (2)USBx_ID          USBx_ID is called USB PHY ID, which can also perform the same function as USBx OTG ID. (3)Using USBx_OTG_ID or USBx_ID          USBx_OTG_ID is recommended. But if customer wants to use USBx_ID, for i.MX8MQ, she can configure USB_CTL0_ADDR[utmiotg_iddig_sel] register. And for I.MX8M Mini, USBNC_n_CTRL2[DIG_ID_SEL] register. [Comment]          The configuration is got from reference manual of these 2 processors, due to no suitable board, this configuration is not validated on board. Customers can try it. (4) About Flashing Images to the Storage of Board          For an empty board or a board that requires an update image, we need to use the USB interface to program the image. At this time, we need the USB interface to work in device mode. For this, the ROM CODE inside the CPU will ensure that the USB works in device mode. No.2 Tuning Software 1.IOMUX According to the actual application, the signals to be used are multiplexed in the dts file. This step is relatively simple and will not be described here 2. Tuning USB configuration in u-boot / device tree For i.MX8M Mini & i.MX8MQ, i.MX Expert softer team gives the following suggestions, I quote their suggestions here:       Customer can try it by removing CONFIG_USB_TCPC in imx8mm_evk_defconfi and well as removing the typec_ptn5110_1/2 dependencies in the fsl-imx8mm-evk.dts. The uboot does check the state of the Type C ICs and crash or gets stuck if they are removed. --i.MX8M Mini U-BOOT:  CONFIG_USB_TCPC=n Device Tree: &usbotg1 {     status = "okay"; }; &usbotg2 {     status = "okay"; --------------------------------------------------------- --i.MX8MQ --u-boot CONFIG_USB_TCPC=n --Node of Device tree &usb_dwc3_0 {              status = "okay";              /*extcon = <&typec_ptn5100>;*/              dr_mode = "otg";              hnp-disable;              srp-disable;              adp-disable;              maximum-speed = "high-speed"; }; ---------------------------------------------- -END [Comment] If you encounter problems while using this document, please submit a ticket to me. Here are the steps to submit a ticket: 1. Open below SUPPORT site, click blue "Go to Tickets" in the middle. http://www.nxp.com/support/support:SUPPORTHOME 2.Then you will be requested to Login, if you have no an account, please first Register with your business email. 3.After login, please "Create New Cases" button in the middle, then you can submit your question. NXP TIC team Weidong Sun 2020/3/30
View full article
Hi all !      I found a problem, wiif connection issue .  When I connect to WiFi hotspots, reported a warning !     <4>RTL871X: assoc success <4>------------[ cut here ]------------ <4>WARNING: at net/wireless/sme.c:482 __cfg80211_connect_result+0x2f4/0x32c() <4>Modules linked in: 8188eu <4>[<c0054044>] (unwind_backtrace+0x0/0x138) from [<c008c1b8>] (warn_slowpath_common+0x4c/0x64) <4>[<c008c1b8>] (warn_slowpath_common+0x4c/0x64) from [<c008c1ec>] (warn_slowpath_null+0x1c/0x24) <4>UpdateHalRAMask8188EUsb => mac_id:0, networkType:0x0b, mask:0x000fffff <4>     ==> rssi_level:0, rate_bitmap:0x000ff015 <4>[<c008c1ec>] (warn_slowpath_null+0x1c/0x24) from [<c069e3a0>] (__cfg80211_connect_result+0x2f4/0x32c) <4>[<c069e3a0>] (__cfg80211_connect_result+0x2f4/0x32c) from [<c06893f4>] (cfg80211_process_rdev_events+0x1e0/0x204) <4>[<c06893f4>] (cfg80211_process_rdev_events+0x1e0/0x204) from [<c0686ec0>] (cfg80211_event_work+0x24/0x54) <4>[<c0686ec0>] (cfg80211_event_work+0x24/0x54) from [<c00a66f0>] (process_one_work+0x12c/0x494) <4>[<c00a66f0>] (process_one_work+0x12c/0x494) from [<c00a6bc8>] (worker_thread+0x170/0x3cc) <4>[<c00a6bc8>] (worker_thread+0x170/0x3cc) from [<c00aacbc>] (kthread+0x80/0x88) <4>[<c00aacbc>] (kthread+0x80/0x88) from [<c004d408>] (kernel_thread_exit+0x0/0x8) <4>---[ end trace 14efbc2d6eba2439 ]---       This document was generated from the following discussion: 
View full article
Important: If you have any questions or would like to report any issues with the DDR tools or supporting documents please create a support ticket in the i.MX community. Please note that any private messages or direct emails are not monitored and will not receive a response.   These are the detailed programming aids for the registers associated with MMDC DDR3 and LPDDR2 initialization for the MX6DQ SoC. The last sheet formats the register settings for use with ARM RealView ICE. It can also be used with the windows executable for the DDR Stress Test. This programming aid was used for internal NXP boards.  
View full article
I have finally been able to get multi MSI (not MSI-X) working on the i.MX6 using the Linux kernel v4.1.15 release supported by Freescale/NXP. Attached are four patches which will need to be applied. This has been tested with two different end point FPGA devices with the i.MX6 running in root complex, I can confirm that multi MSI is now working.   Freescale/NXP: Please put these patches in your supported main line so others can have native multi MSI support.   You may have to contact your board manufacturer to find where within Yocto you will need to store these patches. If just building the kernel outside of Yocto then you can directly apply them.   The four kernel (v4.1.15) files which need to be patched are: <kernel source path>/include/linux/msi.h <kernel source path>/drivers/pci/msi.c <kernel source path>/drivers/pci/host/pcie-designware.h <kernel source path>/drivers/pci/host/pcie-designware.c   Once the above patches are applied and you create a new image/build you can start using the multi MSI APIs in your driver and pci_msi_vec_count() and pci_enable_msi_range() will work; this assumes your end point device on the PCIe link is working correctly.   Hopefully this is helpful to those who need multi MSI.   This document was generated from the following discussion: SOLVED: i.MX6 and Multi MSI Working
View full article
Attached is the Kernel image needed to construct the Linux Image i.MX 6Dual/6Quad Power Consumption Measurement Linux Image
View full article
Add SSI_ASRC_P2P support for imx6 based on Kernel 3.0.35.
View full article
This is the procedure and patch to set up Ubuntu 14.04 64bit Linux Host PC and building i.MX6x L3.0.35_4.1.0. It has been tested to build GNOME profile and with FSL Standard MM Codec for i.MX6Q SDP with LVDS display. Add suggestion about compiling "gstreamer-plugins-good" when selecting "Min profile" rootfs.  Please refer to the Note session. A) Basic Requirement: Set up the Linux Host PC using ubuntu-14.04-desktop-amd64.iso Make sure the previous LTIB installation and the /opt/freescale have been removed B) Installed the needed packages to the Linux Host PC      Needed packages: $ sudo apt-get install gettext libgtk2.0-dev rpm bison m4 libfreetype6-dev $ sudo apt-get install libdbus-glib-1-dev liborbit2-dev intltool $ sudo apt-get install ccache ncurses-dev zlib1g zlib1g-dev gcc g++ libtool $ sudo apt-get install uuid-dev liblzo2-dev $ sudo apt-get install tcl dpkg $ sudo apt-get install asciidoc texlive-latex-base dblatex xutils-dev $ sudo apt-get install texlive texinfo $ sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 $ sudo apt-get install libc6-dev-i386 $ sudo apt-get install u-boot-tools $ sudo apt-get install scrollkeeper $ sudo ln -s /usr/lib/x86_64-linux-gnu/librt.so   /usr/lib/librt.so      Useful tools: $ sudo apt-get install gparted $ sudo apt-get install nfs-common nfs-kernel-server $ sudo apt-get install git-core git-doc git-email git-gui gitk $ sudo apt-get install meld atftpd      Note: this operation "$ sudo ln -s /usr/lib/x86_64-linux-gnu/librt.so /usr/lib/librt.so" is used to fix rpm-fs build issue; which is taking reference from: LTIB - Strange problem building IMX6 Linux BSP from fresh on Ubuntu 13.10 C) Unpack and install the LTIB source package and assume done on the home directory: $ cd ~ $ tar -zxvf L3.0.35_4.1.0_130816_source. tar.gz $ ./L3.0.35_4.1.0_130816_source/install D) Apply the patch to make L3.0.35_4.1.0 could be installed and compiled on Ubuntu 14.04 64bit OS $ cd ~/ltib $ git apply 0001_make_L3.0.35_4.1.0_compile_on_Ubuntu_14.04_64bit_OS What the patch is doing: a) The patch modifies the following files: bin/Ltibutils.pm dist/lfs-5.1/base_libs/base_libs.spec dist/lfs-5.1/m4/m4.spec dist/lfs-5.1/ncurses/ncurses.spec dist/lfs-5.1/openssl/openssl.spec dist/lfs-5.1/xorg-server/xorg-server.spec b) Add the following files to the pkgs directory: pkgs/m4-1.4.16-1383761043.patch pkgs/m4-1.4.16-1383761043.patch.md5 pkgs/openssl-1.0.1c-1398677566.patch pkgs/openssl-1.0.1c-1398677566.patch.md5 pkgs/xorg-server-1.6.1-1398785267.patch pkgs/xorg-server-1.6.1-1398785267.patch.md5 E) Then, it is ready to proceed the rest of the LTIB env setup process: $ cd ~/ltib $ ./ltib -m config $ ./ltib F) about the patch: LTIB script warning when running with Perl v5.18.2 associated change: bin/Ltibutils.pm description: It prints out the following warning when doing package unpack, the patch is used to remove the warning. defined(@array) is deprecated at bin/Ltibutils.pm line 259         (Maybe you should just omit the defined()?) busybox compilation issue: associated change: dist/lfs-5.1/base_libs/base_libs.spec reference: Re: LTIB on Ubuntu 13.04 m4 compilation issue: associated change: dist/lfs-5.1/m4/m4.spec pkgs/m4-1.4.16-1383761043.patch pkgs/m4-1.4.16-1383761043.patch.md5 reference: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-devel/m4/files/m4-1.4.16-no-gets.patch alsa-utils compilation issue: associated change: dist/lfs-5.1/ncurses/ncurses.spec reference: Re: Android and LTIB build error in ubuntu 12.04 x86_64 openssl compilation issue due to Perl v5.18.2: associated change: dist/lfs-5.1/openssl/openssl.spec pkgs/openssl-1.0.1c-1398677566.patch pkgs/openssl-1.0.1c-1398677566.patch.md5 description: the build fails in pod2man while trying to generate man pages from the pod files reference: https://forums.freebsd.org/viewtopic.php?&t=41478 https://gist.github.com/martensms/10107481 xorg-server configuration fail: associated change: dist/lfs-5.1/xorg-server/xorg-server.spec pkgs/xorg-server-1.6.1-1398785267.patch pkgs/xorg-server-1.6.1-1398785267.patch.md5 description: When doing configuration, it stops at saying tslib not found.  It could be fixed by adding -dl when doing tslib test in configuration stage. NOTE: A) During the LTIB setup and compilation, these warnings were pop up.  Just ignore them and it seems okay. B) the dist/lfs-5.1/gst-plugins-good.spec is used to configurate/compile/install the "gstreamer-plugins-good" package.  It set up the environment variables pointing to libcairo but disable it when doing configuration. Thus, libcairo is actually not being used.           In Gnome profile, cario has been selected by default.  Thus, it does not experience the problem when compiling "gstreamer-plugins-good". However, in Min profile, if you select gstreamer-plugins-good to compile and install to your rootfs but without selecting cario as well, you will experience the error described in this thread: Re: gst-fsl-plugins build failed Thus, you could follow the solution provide in the Re: gst-fsl-plugins build failed or simply select cairo in your package list.          
View full article
The i.MX 6 D/Q/DL/S/SL Linux 3.10.53_1.1.0 GA release is now available on www.freescale.com ·         Files available           Name Description L3.10.53_1.1.0_LINUX_DOCS i.MX 6 D/Q/DL/S/SL Linux   3.10.53_1.1.0 GA BSP documentation. L3.10.53_1.1.0_iMX6QDLS_Bundle i.MX 6 D/Q/DL/S  Linux   3.10.53_1.1.0 GA BSP Binary Demo Files L3.10.53_1.1.0_iMX6SL_Bundle i.MX 6 SL  Linux   3.10.53_1.1.0 GA BSP Binary Demo Files L3.10.53_1.1.0_AACP_CODECS AAC Plus Codec for the i.MX 6 D/Q/DL/S/SL Linux 3.10.53_1.1.0   GA BSP y IMX_6_MFG_L3.10.53_1.1.0_TOOL Manufacturing Tool and Documentation for Linux   3.10.53_1.1.0 GA BSP y ·         Target HW boards o   i.MX6DL  SABRE SD board o   i.MX6Q  SABRE SD board o   i.MX6DQ SABRE AI board o   i.MX6DL SABRE AI board o   i.MX6SL EVK board New Features ·                             Please refer to formal Release Note document for all details. Known issues For known issues and limitations please consult the release notes located in the BSP documentation package.
View full article
Creating an image A kernel image and a root file system can be created using LTIB, or compiling the kernel and setting the correct set of files. Create a root file system image from a set of files converting the files to a jffs2 file system. For this, install the package mtd-tools. In Ubuntu type apt-get install mtd-tools For making an root file system for flash, use the jffs2 file system like: mkfs.jffs2 -r rootfs -e 0x40000 -s 0x800 -n -o rootfs.jffs2 Where rootfs/ is the original set of file for the file system and rootfs.jffs2 is the output image file. Flashing Some connection errors can be avoided by Configuring RedBoot. The process below uses TFTP to copy the files between host and target. Copy the kernel image and the root file system image to the TFTP dir. For example, in All Boards LTIB dir, type sudo cp ./rootfs/boot/zImage /tftpboot sudo cp rootfs.jffs2 /tftpboot/ Where /tftpboot is the dir configured for TFTP The next steps are performed in a Minicom session, and happens on the board. Formatting the flash: fis init Flashing kernel Load kernel image (zImage) using the command below. Remember to modify the host IP address: load -r -b 0x100000 /tftpboot/zImage -h 10.29.244.99 The address 0x100000 is used as a temporary location Create the kernel fis create -f 0x100000 kernel Flashing root file system Load root file system image (rootfs.jffs2) to the temporary address. Remember to modify the host IP address: load -r -b 0x100000 /tftpboot/rootfs.jffs2 -h 10.29.244.99 Create the root file system in the right address (0x600000, for i.MX35 PDK) fis create -f 0x600000 root You can now load your kernel in the flash by typing: fis load kernel To know if the root file system written in the flash was correctly saved, execute the NFS file system and mount the flash. For load the the root file system by NFS, type: exec -b 0x100000 -l 0x200000 -c "noinitrd console=ttymxc0,115200 root=/dev/nfs nfsroot=10.29.244.99:/tftpboot/ltib init=/linuxrc ip=10.29.241.6:10.29.244.99" Wait the system go up, then mount the flash at /mnt. Reminde that the flash has a jffs2 file system. mount -t jffs2 /dev/mtdblock8 /mnt ls /mnt List the /mnt contents. The output must be the right file system. Modifying the initial script Reset the board and press CTRL-C. Type fc to modify the configurations and insert the initialization script. RedBoot> fc Run script at boot: true Boot script: Enter script, terminate with empty line >> fis load kernel >> exec -c "noinitrd console=ttymxc0,115200 root=/dev/mtdblock8 rw rootfstype=jffs2 ip=dhcp" >> Boot script timeout (1000ms resolution): 1 Use BOOTP for network configuration: false Gateway IP address: 10.29.241.254 Local IP address: 10.29.241.6 Local IP address mask: 255.255.254.0 Default server IP address: 10.29.244.99 Board specifics: 0 Console baud rate: 115200 Set eth0 network hardware address [MAC]: false GDB connection port: 9000 Force console for special debug messages: false Network debug at boot time: false Update RedBoot non-volatile configuration - continue (y/n)? y ... Read from 0x07ee0000-0x07eff000 at 0x00080000: . ... Erase from 0x00080000-0x000a0000: . ... Program from 0x07ee0000-0x07f00000 at 0x00080000: . RedBoot> Remember to save the configuration in the flash by typing y Reset the system. To certify that the board is loading the system from flash, remove the Ethernet cable.
View full article
1. Increasing the number of threads. Make sure the Parallelism variables located on conf/local.conf BB_NUMBER_THREADS: indicating how many task bitbake should run in parallel PARALLEL_MAKE: indicating how many processes make should run in parallel are not commented and with correct values. The script  setup-enviroment  automatically sets these equal to the number of CPU cores. You can double this value if you want but there is no significant speed's gain. 2. Having a local repository on the server. When baking an image, one of the first steps for each recipe is to fetch the source code (from git repos, tarballs, etc); it makes sense to reuse this data for future builds and also share it with other server's users. You can indicate bitbake to look first at a local repo (file://) on your conf/local.conf file SOURCE_MIRROR_URL ?= "file:///opt/yocto/download/" INHERIT += "own-mirrors" BB_GENERATE_MIRROR_TARBALLS = "1" # BB_NO_NETWORK = "1" Just make sure the download folder has read access for all users (chmod a+r /opt/yocto/download/)
View full article
In order to get USB cameras (web cams) working on i.MX 51 EVK board running Ubuntu, a few steps must be followed, and they are: Enable USB Camera's drivers on Kernel Test it using Gstreamer or another compatible software (as Cheese) Kernel Driver USB cameras (web cameras) on Linux work over GSPCA driver, to enable this driver you need to go to: ./ltib -c   [*] Configure the kernel     Device Drivers -->          Multimedia Devices -->               [*] Video Capture Adapters -->                    [*] V4L USB Devices -->                         <*> USB Video Class (UVC)                                      [*] UVC input events device support                         <*> GSPCA Based WebCams --> From this point, you need to choose your specific driver. If you don't know, you can select all of those options as a built-in module "<*>" that will work. GSPCA Drivers USB Camera Detection Connect your USB camera to the USB Host port on i.MX 51 EVK board and then type "dmesg", and also check if there is a video0 device using: ubuntu@ubuntu-desktop:~$ ls /dev/video0 /dev/video0 USB Camera Detection Gstreamer Command Line In order to test your USB camera using Gstreamer plugin, use the following command line to perform it: ubuntu@ubuntu-desktop:~$ gst-launch-0.10 v4l2src ! ffmpegcolorspace ! ximagesink and the results: Hi there !!! EOF !
View full article
Computer On Module • Processor i.MX25, 400 MHz • RAM 64/128 MB mDDR • ROM up to 2 GB NAND Flash • Power supply Single 3.0V to 5.5V • Size 42.2mm SO-DIMM200 • Temp.-Range -40°C..85°C Key Features • 10/100Mbps Ethernet • High-Speed USB 2.0 OTG • Full-Speed USB 2.0 Host • LCD controller • Still-picture camera interface • Several peripheral interfaces: UART, SD-CARD, I2C, PWM, 1-wire, Keypad, Digital Audio (AC97/I2S), Configurable serial peripheral interface, 4 wire Touchscreen, CAN OS Support • Windows Embedded CE 6.0 • Linux 2.6.35 Application:POS, handheld terminals, building security, anti-theft devices for e-commerce, smart meters and access control For more information, please see Attachment We can provide a complete solution
View full article
New i.mx6Q core board from OpenEmbed.comNew i.mx6Q core board from OpenEmbed.com
View full article
This is the procedure and patch to set up Ubuntu 12.04 64bit Linux Host PC and building i.MX28 L2.6.35_1.1.0_130130.  It has been tested to build GNOME profile and with FSL Standard MM codec. A) Basic Requirement: Set up the Linux Host PC using ubuntu-12.04.3-desktop-amd64.iso Make sure the previous LTIB installation and the /opt/freescale have been removed B) Installed the needed packages to the Linux Host PC $ sudo apt-get update $ sudo apt-get install gettext libgtk2.0-dev rpm bison m4 libfreetype6-dev $ sudo apt-get install libdbus-glib-1-dev liborbit2-dev intltool $ sudo apt-get install ccache ncurses-dev zlib1g zlib1g-dev gcc g++ libtool $ sudo apt-get install uuid-dev liblzo2-dev $ sudo apt-get install tcl dpkg $ sudo apt-get install asciidoc texlive-latex-base dblatex xutils-dev $ sudo apt-get install texlive texinfo $ sudo apt-get install ia32-libs libc6-dev-i386 lib32z1 $ sudo apt-get install uboot-mkimage $ sudo apt-get install scrollkeeper $ sudo apt-get install gparted $ sudo apt-get install nfs-common nfs-kernel-server $ sudo apt-get install git-core git-doc git-email git-gui gitk $ sudo apt-get install meld atftpd C) Unpack and install the LTIB source package and assume done on the home directory: $ cd ~ $ tar -zxvf L2.6.35_1.1.0_130130_source.tar.gz $ ./L2.6.35_1.1.0_130130_source/install After that, you will find ~/ltib directory created D) Apply the patch to make L2.6.35_1.1.0 could be installed and compiled on Ubuntu 12.04 64bit OS $ cd ~/ltib $ git apply 0001_make_L2.6.35_1.1.0_130130_compile_on_ubuntu_12.04_64bit_OS.patch a) The patch modifies the following files:    dist/lfs-5.1/base_libs/base_libs.spec    dist/lfs-5.1/lkc/lkc.spec    dist/lfs-5.1/mux_server/mux_server.spec    dist/lfs-5.1/ncurses/ncurses.spec b) Add the following files to the pkgs directory:    pkgs/lkc-1.4-lib.patch    pkgs/lkc-1.4-lib.patch.md5 E) Then, it is ready to proceed the rest of the LTIB env setup process: $ cd ~/ltib $ ./ltib -m config $ ./ltib Reference: L2.6.35_1.1.0_130130_docs/doc/mx28/Setting_Up_LTIB_Host_on_Ubuntu_9_04.pdf https://community.freescale.com/docs/DOC-93394 https://community.freescale.com/message/332385#332385 https://community.freescale.com/thread/271675 https://community.freescale.com/message/360556#360556 scrollkeeper is for the gnome-desktop compilation NOTE: When compiling gstreamer, this warning was pop up.  Just ignore it seems okay.
View full article
Don't forget to update your source code. How to customize the image Enter <yocto>/source and find any image available: $ find -name *image*.bb ./meta-fsl-demos/recipes-fsl/images/fsl-image-gui-sdk.bb ./meta-fsl-demos/recipes-fsl/images/fsl-image-test.bb ./meta-fsl-demos/recipes-fsl/images/fsl-image-gui.bb ./meta-fsl-demos/recipes-qt/images/qt-in-use-image.bb ./meta-fsl-demos/recipes-qt/images/qte-in-use-image.bb ./meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-klibc-image.bb ./meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-image.bb ./meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_6.7.5.bb ./meta-openembedded/meta-oe/recipes-multimedia/libsdl-image/libsdl-image_1.2.12.bb ./poky/meta-hob/recipes-core/images/hob-image.bb ./poky/meta-skeleton/recipes-multilib/images/core-image-multilib-example.bb ./poky/meta/recipes-devtools/mkelfimage/mkelfimage_svn.bb ./poky/meta/recipes-sato/images/core-image-sato-dev.bb ./poky/meta/recipes-sato/images/core-image-sato.bb ./poky/meta/recipes-sato/images/core-image-sato-sdk.bb ./poky/meta/recipes-qt/images/qt4e-demo-image.bb ./poky/meta/recipes-core/images/core-image-minimal.bb ./poky/meta/recipes-core/images/core-image-base.bb ./poky/meta/recipes-core/images/core-image-minimal-dev.bb ./poky/meta/recipes-core/images/core-image-minimal-initramfs.bb ./poky/meta/recipes-core/images/build-appliance-image.bb ./poky/meta/recipes-core/images/core-image-minimal-mtdutils.bb ./poky/meta/recipes-extended/images/core-image-lsb-sdk.bb ./poky/meta/recipes-extended/images/core-image-basic.bb ./poky/meta/recipes-extended/images/core-image-lsb-dev.bb ./poky/meta/recipes-extended/images/core-image-lsb.bb ./poky/meta/recipes-graphics/images/core-image-directfb.bb ./poky/meta/recipes-graphics/images/core-image-x11.bb ./poky/meta/recipes-graphics/images/core-image-clutter.bb ./poky/meta/recipes-graphics/xcb/xcb-util-image_0.3.9.bb ./poky/meta/recipes-bsp/u-boot/u-boot-mkimage_2012.04.01.bb ./poky/meta/recipes-bsp/u-boot/u-boot-mkimage_2011.06.bb ./poky/meta/recipes-bsp/u-boot/u-boot-mkimage_2011.03.bb ./poky/meta/recipes-rt/images/core-image-rt-sdk.bb ./poky/meta/recipes-rt/images/core-image-rt.bb The above images (and packages with 'image' in file name) may be used as a base image, where new packages may be added, or example of new images. bitbake -s  shows any *available* package locally. Grep for the name of desired package: $ bitbake -s | grep calibrat calibrateproto                      :0.0+gitAUTOINC+1da6fd1e2c7a49648245c98481fabea8b9690a8c-r2             libxcalibrate                       :0.0+gitAUTOINC+209d83af61ed38a002c8096377deac292b3e396c-r0             xinput-calibrator                   :0.7.5+gitAUTOINC+c01c5af807cb4b0157b882ab07a893df9a810111-r1 For example, the package name is xinput-calibrator, in order to include this package this would be the string needed. The dependency tree is shown with $ bitbake -g fsl-image-test For the fsl-image-test. Or any other image Include the package name on the image definition file. $ cd meta-fsl-demos/ $ vim recipes-fsl/images/fsl-image-test.bb Include the package name on IMAGE_INSTALL list: IMAGE_INSTALL += " \     packagegroup-fsl-gstreamer \     packagegroup-fsl-tools-testapps \     packagegroup-fsl-tools-benchmark \ xinput-calibrator \ " In order to include the package on any image, configure conf/local.conf file the as the following: MACHINE ??= 'imx6qsabresd' DISTRO ?= 'poky' PACKAGE_CLASSES ?= "package_rpm" EXTRA_IMAGE_FEATURES = "debug-tweaks tools-sdk" USER_CLASSES ?= "buildstats image-mklibs image-prelink" PATCHRESOLVE = "noop" CONF_VERSION = "1" BB_NUMBER_THREADS = '8' PARALLEL_MAKE = '-j 8' ACCEPT_FSL_EULA = "1" CORE_IMAGE_EXTRA_INSTALL += "xinput-calibrator" And then $ bitbake fsl-image-test In order to add debug or native builder include on conf/local.conf: EXTRA_IMAGE_FEATURES += "tools-sdk" Every image created after that will include development tools. The same may be included in any bb image file. From Poky description: 'tools-sdk" - Adds development tools such as gcc, make, pkgconfig and so forth. "dev-pkg" - Adds -dev packages for all installed packages. This is useful if you want to develop against the libraries in the image. "tools-debug" - Adds debugging tools such as gdb and strace. If you don't like command line, or you prefer a window-like interface, you can take a look on HOB. See hob documentation https://www.yoctoproject.org/documentation/hob-manual See getting started video for hob Introducing Hob - YouTube Go to Yocto Training - HOME Go to Task #5 - Kernel
View full article
The system controller timer service is responsible for: Watchdog - The watchdog resource is managed by the SCU. The SCFW exposes a "virtual" watchdog to all CPUs. This virtual watchdog is managed by software and it is based on a low power timer, the SCU also features a physical watchdog timer that is used to ensure the correct operation of the device. Some of the features implemented by this watchdog service are: - Update of the watchdog timeout - Start/stop of the watchdog - Refresh of the watchdog - Return of the watchdog status such as maximum watchdog timeout that can be set, watchdog timeout interval, and watchdog timeout interval remaining. Since this is usually handled by the OS itself no examples are provided in this guide. Real Time Clock (RTC) - The SCFW is responsible for providing access to the RTC. The features supported by the API are: - Set/get time - Setting alarms Only the partition that owns the SC_R_SYSTEM resource is allowed to set the time, alarms and calibration values for the RTC. All other partitions are able to read the RTC time.  Here is an example on setting the RTC from the M4 side: struct time_date{ uint16_t year; uint8_t month; uint8_t day; uint8_t hour; uint8_t min; uint8_t sec; } rtc_time; sc_err_t sc_status; sc_ipc_t ipc; /* Open IPC channel */ sc_status = sc_ipc_open(&ipc, SC_IPC_AP_CH0); if(sc_status != SC_ERR_NONE) printf("Error opening Inter Processor Channel\n"); /* Initialize RTC */ /* Hard code RTC time to January 5th 2018 at 12:00 hours */ sc_status = sc_timer_set_rtc_time(ipcHandle, 2018, 1, 5, 12, 0, 0); if(sc_status != SC_ERR_NONE) printf("Error initializing RTC. \r\n"); /* Return time */ sc_status = sc_timer_get_rtc_time(ipcHandle, &(rtc_time.year), &(rtc_time.month), &(rtc_time.day), &(rtc_time.hour), &(rtc_time.min), &(rtc_time.sec)); printf("Year: %d, Month: %d, Day: %d, Hour: %d, Minutes: %d, Seconds: %d. \r\n", rtc_time.year, rtc_time.month, rtc_time.day, rtc_time.hour, rtc_time.min, rtc_time.sec);‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ https://community.nxp.com/docs/DOC-342654 
View full article
Some questions arise when we think about the Android boot sequence. What is the Zygote, init.rc, what is the difference between the linux kernel and the android linux kernel?. This document is intended to explain how the booting process runs. Consider the following graph: Step 1: Power On and System Startup When we press the power button, the Boot ROM code starts executing from a pre-defined location which is hardwired in ROM. It loads the Bootloader into RAM and starts executing. Step 2: Bootloader The bootloader is a small program which runs before Android does. This is NOT part of the Android operating system. The bootloader is the place where manufacturer puts their locks and restrictions. The bootloader executes in two stages. In the first stage it detects external RAM and loads a program which helps in the second stage. In the second stage, the bootloader setups the network, memory, etc, which requires to run kernel. The bootloader is able to provide configuration parameters or inputs to the kernel for specific purposes. The bootloader can be found at: <android source>/bootable/bootloader/legacy/usbloader This legacy loader contains 2 important files: 1- Init.s :: Initializes stacks, zeros the BSS segments and  call_main() in main.c 2- Main.c :: Initializes hardware (clocks, board, keyboard, console) and creates linux tags. Step 3: Kernel The Android kernel starts in a similar way as the linux kernel.  As the kernel launches, is starts to setup cache, protected memory, scheduling and loads drivers. When the kernel finishes the system setup, it looks for “init” in the system files. What is the difference between the linux and android kernels?, here's a list of changes/addons that the Android Project made to the Linux kernel: Binder: It is an Android specific interprocess communication mechanism and remote method invocation system. ashmem:  "Android Shared Memory". It is a new shared memory allocator, similar to POSIX SHM but with a different behavior and sporting a simpler file-based API. pmem: "Process memory allocator": It is used to manage large (1-16+ MB) physically contigous regions of memory shared between userspace and kernel drivers. logger:  This is the kernel support for the logcat command. wakelocks: It is used for power management files. It holds the machine awake on a per-event basis until wakelock is released. oom handling: It kills processes as available memory becomes low. alarm manager: It lets user space tell the kernel when it would like to wake up. RAM_CONSOLE: Allows to save kernel printk messages to a buffer in RAM, so that after a kernel panic they can be viewed in the next kernel invocation. USB gadget driver for ADB yaffs2 flash filesystem Step 4: init process Init is the very first process, we can say it is a root process, or the grandfather of all processes. The init process has two responsibilities.      1- Mounts directories like /sys , /dev    or /proc      2- Runs init.rc script - The init process can be found at /init :: <android source>/system/core/init - Init.rc file can be found at :: <android source>/system/core/rootdir/ Android has specific format and rules for init.rc files. More information about this rules can be found in: What is inside the init.rc and what is it used for. At  this stage, you can finally see the Android logo in your screen. Step 5: Zygote and Dalvik In Java, we know that a separate Virtual Machine instance will popup in memory for separate per app, but in the case of Android, the VM should run as quick as possible for an app. But what happens if you have several apps thus launching several instances of the Dalvik (VM)?, it would consume an immense amount of memory. To overcome this problem, the Android OS has a system called “Zygote”.  The Zygote enables code sharing across the Dalvik VM, achieving a lower memory footprint and minimal startup time.  Zygote is a virtual machine process that starts at system boot. The Zygote preloads and initializes core library classes. The Zygote loading process: Load Zygote Init class: <android source>/frameworks/base/core/java/com/android/internal/os/ZygoteInit.java registerZygoteSocket() :: It registers a server socket for zygote command connections. preloadClasses() :: Is a simple text file that contains a list of classes that need to be preloaded, you can find the file at <android source>/framework/base preloadResources()  :: Everything that is included in the android.R file will be loaded with this method (themes and layouts). At this time, you can see the boot animation. Step 6: System service After the above steps are completed,  Zygote launches the system services.  The Zygote forks a new process to launch the system services. Core services: Starting power manager Creating the Activity Manager Starting telephony registry Starting package manager Set activity manager service as system process Starting context manager Starting system contact providers Starting battery service Starting alarm manager Starting sensor service Starting window manager Starting Bluetooth service Starting mount service Other services: Starting status bar service Starting hardware service Starting NetStat service Starting connectivity service Starting Notification Manager Starting DeviceStorageMonitor service Starting Location Manager Starting Search Service Starting Clipboard Service Starting checkin service Starting Wallpaper service Starting Audio Service Starting HeadsetObserver Starting AdbSettingsObserver Now we have finally completed the booting process (system service are up and running in memory). Need to analyze the Android Bootup? The logcat ::  Use adb to get the booting process events from the logcat. ‘adb logcat –d –b events | grep “boot” ‘adb logcat –d | grep preload’ More information about ADB can be found here: Using ADB with your Sabre Board
View full article
Host TFTP and NFS Configuration Now configure the Trivial File Transfer Protocol (TFTP) server and Networked File System (NFS) server. U-Boot will download the Linux kernel and dtb file using tftp and then the kernel will mount (via NFS) its root file system on the computer hard drive. 1. TFTP Setup   1.1.1 Prepare the TFTP Service   Get the required software if not already set up. On host for TFTP: Install TFTP on Host $ sudo apt-get install tftpd-hpa   (Note: There are a number of examples in various forums, etc, of how to automatically start the TFTP service - but not all are successful on all Linux distro's it seems! The following may work for you.)   Start the tftpd-hpa service automatically by adding a command to /etc/rc.local. $ vi /etc/rc.local   Now, just before the exit 0 line edit below command then Save and Exit. $ service tftpd-hpa start  Now, To control the TFTP service from the command line use: $ service tftpd-hpa restart    To check the status of the TFTP service from the command line use: $ service tftpd-hpa status   1.1.1 Setup the TFTP Directories Now, we have to create the directory which will contain the kernel image and the device tree blob file. $ mkdir -p /imx-boot/imx6q-sabre/tftp Then, copy the kernel image and the device tree blob file in this directory. $ cp {YOCTO_BUILD_DIR}/tmp/deploy/images/{TARGET}/zImage /imx-boot/imx6q-sabre/tftp $ cp {YOCTO_BUILD_DIR}/tmp/deploy/images/{TARGET}/<dtb file> /imx-boot/imx6q-sabre/tftp   OR we can use the default directory created by yocto {YOCTO_BUILD_DIR}/tmp/deploy/images/{TARGET}/ The tftpd-hpa service looks for requested files under /imx-boot/imx6q-sabre/tftp The default tftpd-hpa directory may vary with distribution/release, but it is specified in the configuration file: /etc/default/tfptd-hpa. We have to change this default directory with our directory   Edit default tftp directory $ vi /etc/default/tftpd-hpa   Now, change the directory defined as TFTP_DIRECTORY with your host system directory which contains kernel and device tree blob file. Using created directory TFTP_DIRECTORY=”/imx-boot/imx6q-sabre/tftp” OR Using Yocto directory path TFTP_DIRECTORY=”{YOCTO_BUILD_DIR}/tmp/deploy/images/{TARGET}” Restart the TFTP service if required $ service tftpd-hpa restart   1.2 NFS Setup 1.2.1 Prepare the NFS Service Get the required software if not already set up. On host for NFS: Install NFS on Host $ sudo apt-get install nfs-kernel-server The NFS service starts automatically. To control NFS services : $ service nfs-kernel-server restart To check the status of the NFS service from the command line : $ service nfs-kernel-server status 1.2.2 Setup the NFS Directories Now, we have to create the directory which will contain the root file system. $ mkdir -p /imx-boot/imx6q-sabre/nfs   Then, copy the rootfs in this directory. $ cp -R {YOCTO_BUILD_DIR}/tmp/work/{TARGET}-poky-linux-gnueabi/{IMAGE}/1.0-r0/rootfs/* /imx-boot/imx6q-sabre/nfs   OR we can use the default directory created by yocto. $ {YOCTO_BUILD_DIR}/tmp/work/{TARGET}-poky-linux-gnueabi/{IMAGE}/1.0-r0/rootfs 1.2.3 Update NFS Export File The NFS server requires /etc/exports to be configured correctly to access NFS filesystem directory to specific hosts. $ vi /etc/exports Then, edit below line into the opened file. <”YOUR NFS DIRECTORY”> <YOUR BOARD IP>(rw,sync,no_root_squash,no_subtree_check) Ex. If you created custom directory for NFS then, /imx-boot/imx6q-sabre/nfs <YOUR BOARD IP>(rw,sync,no_root_squash,no_subtree_check) Ex: /imx-boot/imx6q-sabre/nfs 192.168.*.*(rw,sync,no_root_squash,no_subtree_check) OR /{YOCTO_BUILD_DIR}/tmp/work/{TARGET}-poky-linux-gnueabi/{IMAGE}/1.0-r0/rootfs <YOUR BOARD IP>(rw,sync,no_root_squash,no_subtree_check)   Now, we need to restart the NFS service. $ service nfs-kernel-server restart   2 Target Setup   We need to set up the network IP address of our target. Power On the board and hit a key to stop the U-Boot from continuing. Set the below parameters, setenv serverip 192.168.0.206       //This must be your Host IP address The path where the rootfs is placed in our host has to be indicated in the U-Boot, Ex. // if you choose default folder created by YOCTO setenv nfsroot /{YOCTO_BUILD_DIR}/tmp/work/{TARGET}-poky-linux-gnueabi/{IMAGE}/1.0-r0/rootfs   OR // if you create custom directory for NFS setenv nfsroot /imx-boot/imx6q-sabre/nfs Now, we have to set kernel image name and device tree blob file name in the u-boot, setenv image < zImage name > setenv fdt_file <dtb file name on host> Now, set the bootargs for the kernel boot, setenv netargs 'setenv bootargs console=${console},${baudrate} ${smp} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp' Use printenv command and check loadaddr and fdt_addr environment variables variables for I.MX6Q SABRE, loadaddr=0x12000000 fdt_addr=0x18000000   Also, check netboot environment variable. It should be like below, netboot=echo Booting from net ...; run netargs; if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${image}; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if ${get_cmd} ${fdt_addr} ${fdt_file}; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi; Now, set environment variable bootcmd to boot every time from the network, setenv bootcmd run netboot Now finally save those variable in u-boot: saveenv Reset your board; it should now boot from the network: U-Boot 2016.03-imx_v2016.03_4.1.15_2.0.0_ga+ga57b13b (Apr 17 2018 - 17:13:43 +0530)  (..) Net:   FEC [PRIME] Normal Boot Hit any key to stop autoboot:  0   Booting from net ... Using FEC device TFTP from server 192.168.0.206; our IP address is 192.168.3.101 Filename 'zImage'. Load address: 0x12000000 Loading: #################################################################         #################################################################         #################################################################         #################################################################         #################################################################         #################################################################         ###########################################################         2.1 MiB/s done Bytes transferred = 6578216 (646028 hex) Using FEC device TFTP from server 192.168.0.206; our IP address is 192.168.3.101 Filename 'imx6q-sabresd.dtb'. Load address: 0x18000000 Loading: ####         1.8 MiB/s done Bytes transferred = 45893 (b345 hex) Kernel image @ 0x12000000 [ 0x000000 - 0x646028 ] ## Flattened Device Tree blob at 18000000   Booting using the fdt blob at 0x18000000   Using Device Tree in place at 18000000, end 1800e344 switch to ldo_bypass mode!   Starting kernel ...
View full article
           This application note shows how to get i.MX6X development resources from Freescale website. Contents           We can enter Freescale i.MX website by the follow link http://www.freescale.com/imx, and after we input it into the IE address, it will remap to the new address of http://www.freescale.com/webapp/sps/site/homepage.jsp?code=IMX_HOME&tid=vanIMX. And the website page will have all the i.MX chipsets access web link like the follows:       And if we enter the i.MX6 serials Processors web link http://www.freescale.com/webapp/sps/site/taxonomy.jsp?code=IMX6X_SERIES , we will get the page like the follows:        Which have all the i.MX6 serials processors feature lists and website links. 1       i.MX6Q/D website guide. We enter the i.MX6D/Q web link http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6Q&webpageId=129226228141673454B24A&nodeId=018rH3ZrDRB24A&fromPage=tax its main page as follows:    The Documentation and Software&Tools items is very important to get the design resource, and the Buy/Parametrics item will have the development board and chipset order information 1.1    i.MX6Q/D Documentation      We enter the Documentation item link: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6Q&nodeId=018rH3ZrDRB24A&fpsp=1&tab=Documentation_Tab, which will have our documentation materials include the Datasheet, Errata, Application Notes, Reference manual, User guides, Fact Sheets and related supporting information. 1.1.1  i.MX6Q/D DataSheet          We have i.MX6Q/D datasheets of automotive, consumer and industrial, the datasheet will have the chipset mark number, electrical, thermal and package information. IMX6DQAEC i.MX 6Dual/6Quad Automotive and Infotainment Applications Processors IMX6DQCEC i.MX 6Dual/6Quad Applications Processors for Consumer Products IMX6DQIEC i.MX 6Dual/6Quad Applications Processors for Industrial Products 1.1.2  i.MX6Q/D Errata       Chipset Errata will show us our current version chipset bugs and rework method. IMX6DQCE Chip Errata for the i.MX 6Dual/6Quad 1.1.3  i.MX6Q/D  Application Notes AN4724 i.MX 6Dual/6Quad Product Usage Lifetime Estimates AN4629 Fast Image Processing with i.MX 6 Series AN4671 i.MX 6 Series HDMI Test Method for Eye Pattern and Electrical Characteristics AN4397      //all the i.MX6 Serial can use the same PCB, this doc descript the hardware design difference Common Hardware Design for i.MX 6Dual/6Quad and i.MX 6Solo/6DualLite AN4581 Secure Boot on i.MX50, i.MX53, and i.MX 6 Series using HABv4 AN4509   //explan the i.MX6D/Q power consumption in every working features. i.MX 6Dual/6Quad Power Consumption Measurement AN4589 Configuring USB on i.MX 6 Series Processors AN4553 Using Open Source Debugging Tools for Linux on i.MX Processors AN4467 //explain the ddr calibration method, need check with FSL FAE for DDR test calibration tools i.MX 6 Series DDR Calibration AN4579 // explain the thermal design i.MX 6 Series Thermal Management Guidelines 1.1.4  i.MX6Q/D Chipset reference manual IMX6DQRM //i.MX6DQ reference manual for all the internal module description and registers define. i.MX 6Dual/6Quad Applications Processor Reference Manual IMX6DQ6SDLSRM   // i.MX6DQ security related reference manual, need NDA approve. Security Reference Manual for i.MX 6 1.1.5  i.MX6Q/D User guide IMX6DQ6SDLHDG //i.MX6DQ hardware design user guide, include the schematic layout check points, hardware bring up… Hardware Development Guide for i.MX 6Quad, 6Dual, 6DualLite, 6Solo Families of Applications EB792 i.MX 6 Series Standardized Signal Name Map EB793 MISRA Compliance in Freescale Automotive C Language Header Files - Engineering Bulletin 1.1.6  i.MX6Q/D Fact Sheet IMX6SRSFS i.MX 6 Series of Applications Processors - Fact Sheet 1.1.7  i.MX6Q/D BSP/Codec Software Document L3.0.35_4.0.0_LINUX_DOCS   i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux BSP Documentation. Includes Release Notes, Reference Manual,... MX6 folder include the BSP release notes, reference manual, user guide and other APIs doc. L3.0.35_4.0.0_LINUX_MMDOCS   i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux Multimedia Codecs Documentation. Includes CODECs Release... IMX6_JB422_100_ANDROID_DOCS   i.MX 6Quad, i.MX 6Dual, and i.MX 6DualLite Android jb4.2.2_1.0.0 BSP Documentation. Includes Release Notes, User's... 1.1.8  i.MX6Q/D InfoCTR IMX_INFOCTR //TIC support center i.MX Infocenter—Online Documentation 1.2    i.MX6Q/D  Software&Tools We enter into the Software&Tools item page: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6Q&nodeId=018rH3ZrDRB24A&fpsp=1&tab=Design_Tools_Tab 1.2.1  i.MX6Q/D  Reference Designs SABRE Platform for Smart Devices Based on the i.MX 6 Series  The Smart Application Blueprint for Rapid Engineering (SABRE) platform for smart devices allows you to hold in your hands and evaluate the full multimedia performance capabilities of i.MX 6 series applications processors based on ARM® Cortex™-A9 technology.  Targeted for any device ... Enter it: Press Buy: SABRE Board for Smart Devices Based on the i.MX 6 Series  Freescale's Smart Application Blueprint for Rapid Engineering (SABRE) board for smart devices introduces developers to quad-core processing, low-power consumption and leading-edge multimedia and graphics applications on the i.MX 6Quad ARM ® Cortex™ -A9 applications processor. The SABRE board for smart devices ... Enter it: Press Buy:   SDB board share the same PCB with SDP, but have no camera, LVDS and GPS moduel. SABRE for Automotive Infotainment Based on the i.MX 6 Series  The Smart Application Blueprint for Rapid Engineering (SABRE) for automotive infotainment offers a solid foundation for next-generation converged telematics and infotainment platform designs. Based on i.MX 6 series of applications processors, Freescale's most scalable implementation of the ARM® Cortex™-A9 CPU ... Enter it: Press Buy:    Which have the CPU board and automotive base board, And if need the automotive board LVDS display panel, we can enter the i.MX53 automotive board link to get the order name. SABRE Lite Development Kit: The SABRE Lite Development Kit includes one SABRE Lite board, one 5V power adapter, one customized serial cable, one cross serial cable (DB9-DB9), one USB cable, one net cable and one 4GByte micro SD... Format: html    Saber Lite board a mini system board which use the separate power design, which launch by 3 rd party. 1.2.2  i.MX6Q/D  PCB and Schematic i.MX6_SABRE_AI_DESIGNFILES   : Design files, including hardware schematics, layout files and BOM. Size (K): 39164 Format: zip Rev #: 1.0.2 Modified: 2/27/2013 i.MX6_SABRE_SDP_DESIGNFILES   : Design files, including hardware schematics, Gerbers, and OrCAD files.. Size (K): 11631 Format: zip Rev #: C3 Modified: 3/21/2013 iMX6_SABRE_SDB_DESIGNFILES   : Design files, including hardware schematics, Gerbers, and OrCAD files.. Size (K): 9541 Format: zip Rev #: C3 Modified: 3/21/2013 1.2.3  i.MX6Q/D  Programmers Tools IMX_6DQ_MFG_TOOL   : Tool and documentation for downloading OS images to the i.MX 6Quad and i.MX6Dual. Size (K): 69444 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 IMX_MFG_TOOL_V2_SOURCE   : Source Code for the i.MX manufacturing tool used for downloading OS images to the i.MX 6 Processors. Size (K): 955 Format: zip Rev #: 2.1.1 Modified: 12/19/2012 1.2.4  i.MX6Q/D  Software IMX_6D_Q_VIVANTE_VDK_145_TOOLS   : Set of applications for the Linux L3.0.35_4.0.0 BSP, designed to be used by graphics application developers to rapidly develop and port graphics applications. Includes applications, GPU Driver with vprofiler enabled and documentation.. Size (K): 40113 Format: zip Rev #: 1.4.5 Modified: 5/13/2013 IMX6_GPU_SDK   : i.MX6 Graphics SDK – Includes sample, demo code, and documentation for working with the i.MX6X family graphics cores. Includes OpenVG, OpenGL ES, and GAL2D reference files. Size (K): 21065 Format: gz Rev #: 1.0.0 Modified: 1/25/2013 i.MX 6Series Platform SDK   : Bare-metal SDK for the i.MX 6 series, including reusable drivers and tests for many peripherals, and much example code. Also includes register definition headers files, and register definitions for debuggers. BSD open source license. Size (K): 29865 Format: tgz Rev #: 1.1 Modified: 2/11/2013      A non-OS i.MX6X driver test codes.  1.2.5  i.MX6Q/D  Tools IMX_CST_TOOL   : Freescale Code Signing Tool for the High Assurance Boot library. Provides software code signing support designed for use with i.MX processors that integrate the HAB library in the internal boot ROM. Size (K): 3855 Format: tgz Rev #: 2.0 Modified: 11/16/2012      Please still refer the document of i.MX6Q/D security RM and HAB application notes. IMX6_IOMUX_TOOL   : Interactive i.MX Pin Mux Tool.. Size (K): 5313 Format: zip Rev #: 3.4.0.3 Modified: 2/14/2013      Please still refer the document of i.MX6Q/D iomux table. 1.2.6  i.MX6Q/D  BSDL IMX6_DQ_BSDL   : i.MX 6Quad and i.MX 6Dual BSDL File. Size (K): 64 Format: zip Rev #: 2 Modified: 1/15/2013        A Boundary scan file for manufacture ICT test. 1.2.7  i.MX6Q/D  IBIS IMX6_DQ_IBIS   : i.MX 6Quad and i.MX 6Dual IBIS File. Size (K): 19173 Format: zip Rev #: 1 Modified: 11/9/2012       Use for signals simulation. 1.2.8  i.MX6Q/D  BSP IMX6_DQ_SABRE_AI_SD_DEMO_IMAGE   : Demo Image Flashed on the i.MX 6Quad SABRE AI SD Cards. Size (K): 1789607 Format: exe Rev #: L3.0.35_1.1.1 Modified: 4/23/2013 IMX6_DQ_SDB_SD_DEMO_IMAGE   : Demo Image Flashed on the i.MX 6Quad SDB SD Cards. Size (K): 1670416 Format: exe Rev #: R13.4.1 Modified: 4/24/2013 IMX6_DQ_SDP_SD_DEMO_IMAGE   : Demo Image Flashed on the i.MX 6Quad SDP SD Cards. Size (K): 1670892 Format: exe Rev #: R13.4.1 Modified: 4/24/2013 L3.0.35_4.0.0_DEMO_IMAGE   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux Binary Demo Files. Size (K): 359441 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 IMX6_JB422_100_ANDROID_DEMO   : i.MX 6Quad, i.MX 6Dual, and i.MX 6DualLite Android jb4.2.2_1.0.0 BSP Binary Demo Files. Size (K): 836432 Format: gz Rev #: jb4.2.2_1.0.0 Modified: 5/8/2013 Demo image for customer to evaluate on Freescale’s board. IMX6_JB422_100_ANDROID_SOURCE   : i.MX 6Quad, i.MX 6Dual, and i.MX 6DualLite Android jb4.2.2_1.0.0 BSP, Documentation and Source Code for BSP and Codecs.. Size (K): 235533 Format: gz Rev #: jb4.2.2_1.0.0 Modified: 5/9/2013 Android JB422 source codes, still have the R13.41 android source codes in the same web folder. L3.0.35_4.0.0_ER_SOURCE   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux BSP Source Code Files. Size (K): 1064236 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 Linux LTIB source codes package. L3.0.35_4.0.0_UBUNTU_RFS   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux File System for the Ubuntu Images. Size (K): 820076 Format: tgz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 Ubuntu rootfs working on our linux BSP. 1.2.9  i.MX6Q/D  Software Codecs IMX6_JB422_100_AACP_CODEC   : AAC Plus Codec for i.MX 6Quad, i.MX 6Dual, and i.MX 6DualLite Android jb4.2.2_1.0.0. Size (K): 84 Format: gz Rev #: jb4.2.2_1.0.0 Modified: 5/15/2013    Android have no codec package except AACP, have include in the BSP release codes. L3.0.35_4.0.0_AACP_CODECS   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux AAC Plus Codec. Size (K): 1377 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 L3.0.35_4.0.0_MM_CODECS   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux Multimedia Codecs Sources. Size (K): 79197 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013    Linux have MM codec package. 1.2.10              i.MX6Q/D  Updates and Patches   Which have the older patch on L3.0.35 elder version, and Android R13.4/13.4.1. 2       i.MX6DL/S website guide. We enter the i.MX6DL/S web link http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6DL&webpageId=129226228141673454B24A&nodeId=018rH3ZrDRB24A&fromPage=tax    its main page as follows: 2.1    i.MX6DL/S Documentation http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6DL&nodeId=018rH3ZrDRB24A&fpsp=1&tab=Documentation_Tab 2.1.1  i.MX6DL/S DataSheet IMX6SDLAEC i.MX 6Solo/6DualLite Automotive and Infotainment Applications Processors IMX6SDLCEC i.MX 6Solo/6DualLite Applications Processors for Consumer Products IMX6SDLIEC i.MX 6Solo/6DualLite Applications Processors for Industrial Products 2.1.2  i.MX6DL/S Errata IMX6SDLCE Chip Errata for the i.MX 6Solo/6DualLite 2.1.3  i.MX6DL/S D  Application Notes IMX6SDLIEC i.MX 6Solo/6DualLite Applications Processors for Industrial Products AN4576 i.MX 6DualLite Power Consumption Measurement 2.1.4  i.MX6DL/S Chipset reference manual IMX6SDLRM i.MX 6Solo/6DualLite Applications Processor Reference Manual IMX6DQ6SDLSRM   Security Reference Manual for i.MX 6 2.1.5  i.MX6DL/S User Guide IMX6DQ6SDLHDG Hardware Development Guide for i.MX 6Quad, 6Dual, 6DualLite, 6Solo Families of Applications EB793 MISRA Compliance in Freescale Automotive C Language Header Files - Engineering Bulletin 2.1.6  i.MX6DL/S Fact Sheet IMX6SRSFS i.MX 6 Series of Applications Processors - Fact Sheet 2.1.7  i.MX6DL/S BSP/Codec Software Document L3.0.35_4.0.0_LINUX_DOCS   i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux BSP Documentation. Includes Release Notes, Reference Manual,... L3.0.35_4.0.0_LINUX_MMDOCS   i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux Multimedia Codecs Documentation. Includes CODECs Release... IMX6_JB422_100_ANDROID_DOCS   i.MX 6Quad, i.MX 6Dual, and i.MX 6DualLite Android jb4.2.2_1.0.0 BSP Documentation. Includes Release Notes, User's... 2.1.8  i.MX6DL/S InfoCTR IMX_INFOCTR i.MX Infocenter—Online Documentation 2.2    i.MX6DL/S Software&Tools http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6DL&nodeId=018rH3ZrDRB24A&fpsp=1&tab=Design_Tools_Tab 2.2.1  i.MX6DL/S Reference Designs SABRE Platform for Smart Devices Based on the i.MX 6 Series  The Smart Application Blueprint for Rapid Engineering (SABRE) platform for smart devices allows you to hold in your hands and evaluate the full multimedia performance capabilities of i.MX 6 series applications processors based on ARM® Cortex™-A9 technology.  Targeted for any device ... SABRE for Automotive Infotainment Based on the i.MX 6 Series  The Smart Application Blueprint for Rapid Engineering (SABRE) for automotive infotainment offers a solid foundation for next-generation converged telematics and infotainment platform designs. Based on i.MX 6 series of applications processors, Freescale's most scalable implementation of the ARM® Cortex™-A9 CPU ... 2.2.2  i.MX6DL/S PCB and Schematic i.MX6_SABRE_AI_DESIGNFILES   : Design files, including hardware schematics, layout files and BOM. Size (K): 39164 Format: zip Rev #: 1.0.2 Modified: 2/27/2013 I.MX_6DL_S_VIVANTE_VDK_TOOLS   : i.MX6DL and i.MX6S Vivante VDK Tools. Size (K): 39752 Format: zip Rev #: 1.4.1 Modified: 1/4/2013 i.MX 6Series Platform SDK   : Bare-metal SDK for the i.MX 6 series, including reusable drivers and tests for many peripherals, and much example code. Also includes register definition headers files, and register definitions for debuggers. BSD open source license. Size (K): 29865 Format: tgz Rev #: 1.1 Modified: 2/11/2013 2.2.3  i.MX6DL/S Programmers Tools IMX_6DL_6S_MFG_TOOL   : Tool and documentation for downloading OS images to the i.MX 6DualLite and i.MX6Solo. Size (K): 67584 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 2.2.4  i.MX6DL/S  Software 2.2.5  i.MX6DL/S BSDL IMX6_DL_S_BSDL   : i.MX 6DualLite and i.MX 6Solo BSDL File. Size (K): 81 Format: html Rev #: 1 Modified: 11/9/2012 2.2.6  i.MX6DL/S IBIS IMX6_DL_S_IBIS   : i.MX 6DualLIte and i.MX 6Solo IBIS File. Size (K): 15450 Format: zip Rev #: 1 Modified: 11/9/2012 2.2.7  i.MX6DL/S BSP IMX6_DL_SDP_SD_DEMO_IMAGE   : Demo Image Flashed on the i.MX 6DualLiteSDP SD Cards. Size (K): 367806 Format: zip Rev #: R13.4.1 Modified: 12/10/2012 IMX6_JB422_100_ANDROID_DEMO   : i.MX 6Quad, i.MX 6Dual, and i.MX 6DualLite Android jb4.2.2_1.0.0 BSP Binary Demo Files. Size (K): 836432 Format: gz Rev #: jb4.2.2_1.0.0 Modified: 5/8/2013 L3.0.35_4.0.0_DEMO_IMAGE   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux Binary Demo Files. Size (K): 359441 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 IMX6_JB422_100_ANDROID_SOURCE   : i.MX 6Quad, i.MX 6Dual, and i.MX 6DualLite Android jb4.2.2_1.0.0 BSP, Documentation and Source Code for BSP and Codecs.. Size (K): 235533 Format: gz Rev #: jb4.2.2_1.0.0 Modified: 5/9/2013 L3.0.35_4.0.0_ER_SOURCE   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux BSP Source Code Files. Size (K): 1064236 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 L3.0.35_4.0.0_UBUNTU_RFS   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux File System for the Ubuntu Images. Size (K): 820076 Format: tgz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 2.2.8  i.MX6DL/S Software Codecs IMX6_JB422_100_AACP_CODEC   : AAC Plus Codec for i.MX 6Quad, i.MX 6Dual, and i.MX 6DualLite Android jb4.2.2_1.0.0. Size (K): 84 Format: gz Rev #: jb4.2.2_1.0.0 Modified: 5/15/2013 L3.0.35_4.0.0_AACP_CODECS   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux AAC Plus Codec. Size (K): 1377 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 L3.0.35_4.0.0_MM_CODECS   : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite and i.MX 6Solo Linux Multimedia Codecs Sources. Size (K): 79197 Format: gz Rev #: L3.0.35_4.0.0 Modified: 5/13/2013 2.2.9  i.MX6Q/D  Updates and Patches Which have the older patch on L3.0.35 elder version, and Android R13.4/13.4.1. 3       i.MX6SL website guide. http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6SL&webpageId=129226228141673454B24A&nodeId=018rH3ZrDRB24A&fromPage=tax 3.1    i.MX6SL Documentation http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6SL&nodeId=018rH3ZrDRB24A&fpsp=1&tab=Documentation_Tab 3.1.1  i.MX6SL DataSheet IMX6SLCEC i.MX 6SoloLite Applications Processors for Consumer Products 3.1.2  i.MX6SL Errata IMX6SLCE Chip Errata for the i.MX 6SoloLite 3.1.3  i.MX6SL Application Notes AN4726 i.MX 6SoloLite Product Usage Lifetime Estimates AN4580 i.MX 6SoloLite Power Consumption Measurement 3.1.4  i.MX6SL Chipset reference manual IMX6SLRM i.MX 6SoloLite Applications Processor Reference Manual 3.1.5  i.MX6SL User guide IMX6SLHDG Hardware Development Guide for i.MX 6SoloLite Applications Processors - User Guide 3.1.6  i.MX6SL Fact  Sheet IMX6SRSFS i.MX 6 Series of Applications Processors - Fact Sheet IMX6SLEVKFS i.MX 6SoloLite Evaluation Kit - Fact Sheet 3.1.7  i.MX6SL BSP/Codec Software Document L3.0.35_2.1.0_LINUX_DOCS   i.MX 6SoloLite Linux BSP Documentation. Includes Release Notes, Reference Manual, User guide. API Documentation L3.0.35_2.1.0_LINUX_MMDOCS   i.MX 6SoloLite Linux Multimedia Codecs Documentation. Includes CODECs Release Notes and User's Guide IMX6_R13.5_ANDROID_DOCS_BUNDLE   i.MX 6 Sololite Android GA BSP Documentation. 3.1.8  i.MX6SL INFOCTR IMX_INFOCTR i.MX Infocenter—Online Documentation 3.2    i.MX6SL Software&Tools http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6SL&nodeId=018rH3ZrDRB24A&fpsp=1&tab=Design_Tools_Tab 3.2.1  i.MX6SL Reference Designs IMX6SLEVK: i.MX 6SoloLite Evaluation Kit. Freescale delivers the next installment in a line of highly-flexible, market-focused development tools with an Evaluation Kit (EVK) based on the i.MX 6SoloLite applications processor. The i.MX 6SoloLite is the first... Format: html Modified: 6/4/2013 3.2.2  i.MX6SL PCB and Schematics iMX6SL_EVK_DESIGNFILES   : Design files, including hardware schematics, Gerbers, and OrCAD files.. Size (K): 6034 Format: zip Rev #: 1 Modified: 11/12/2012 3.2.3  i.MX6SL Programmers Tools IMX_6SL_MFG_TOOL   : Tool and documentation for downloading OS images to the i.MX 6SoloLite. Size (K): 46502 Format: gz Rev #: L3.0.35_2.1.0 Modified: 5/24/2013 3.2.4  i.MX6SL Tools IMX_CST_TOOL   : Freescale Code Signing Tool for the High Assurance Boot library. Provides software code signing support designed for use with i.MX processors that integrate the HAB library in the internal boot ROM. Size (K): 3855 Format: tgz Rev #: 2.0 Modified: 11/16/2012 IMX6_IOMUX_TOOL   : Interactive i.MX Pin Mux Tool.. Size (K): 5313 Format: zip Rev #: 3.4.0.3 Modified: 2/14/2013 3.2.5  i.MX6SL Software i.MX 6Series Platform SDK   : Bare-metal SDK for the i.MX 6 series, including reusable drivers and tests for many peripherals, and much example code. Also includes register definition headers files, and register definitions for debuggers. BSD open source license. Size (K): 29865 Format: tgz Rev #: 1.1 Modified: 2/11/2013 3.2.6  i.MX6SL BSDL IMX6_SL_BSDL   : i.MX 6SoloLite BSDL File. Size (K): 54 Format: html Rev #: 1 Modified: 11/9/2012 3.2.7  i.MX6SL IBIS IMX6_SL_IBIS   : i.MX 6SoloLite IBIS File. Size (K): 25706 Format: zip Rev #: 1 Modified: 11/9/2012 3.2.8  i.MX6SL BSP IMX6_R13.5_ANDROID_DEMO_IMAGE   : i.MX 6Sololite GA BSP Binary Demo Files. Size (K): 372634 Format: gz Rev #: R13.5 Modified: 11/16/2012 L3.0.35_12.10.02_DEMO_IMAGE   : Linux Binary Demo Files for i.MX 6SoloLite Linux GA BSP. Size (K): 434356 Format: gz Rev #: 12.10.02 Modified: 11/9/2012 L3.0.35_2.1.0_DEMO_IMAGE   : i.MX 6SoloLite Linux Binary Demo Files. Size (K): 464844 Format: gz Rev #: L3.0.35_2.1.0. Modified: 6/4/2013 IMX6_R13.5_ANDROID_SOURCE_CODE   : i.MX 6 Sololite Android GA BSP Documentation and Source Code for BSP and Codecs.. Size (K): 100683 Format: gz Rev #: R13.5 Modified: 11/16/2012 L3.0.35_12.10.02_ER_SOURCE   : i.MX 6SoloLite Linux GA BSP 3.0.35 Source Code Files.. Size (K): 872027 Format: gz Rev #: 12.10.02 Modified: 11/9/2012 L3.0.35_12.10.02_UBUNTU_RFS   : File System for the Ubuntu Imagea for i.MX 6SoloLite Linux GA BSP. Size (K): 810816 Format: tgz Rev #: 12.10.02 Modified: 11/9/2012 L3.0.35_2.1.0_ER_SOURCE   : i.MX 6SoloLite Linux BSP Source Code Files. Size (K): 1064541 Format: gz Rev #: L3.0.35_2.1.0. Modified: 6/4/2013 3.2.9  i.MX6SL Software Codecs L3.0.35_2.1.0_AACP_CODECS   : i.MX 6SoloLite Linux AAC Plus Codec. Size (K): 1374 Format: gz Rev #: L3.0.35_2.1.0 Modified: 5/24/2013 L3.0.35_2.1.0_MM_CODECS   : i.MX 6SoloLite Linux Multimedia Codecs Sources. Size (K): 45883 Format: gz Rev #: L3.0.35_2.1.0 Modified: 5/24/2013 3.2.10              i.MX6SL Updates and Patches IMX6_R13.5_01_ANDROID_PATCHES   : Android 13.5.0-GA.01 patch release. It adds camera support (USB and CSI camera), provides some bug fixes, and includes some regular updates. The 13.5.0-GA.01 patch release is based on 13.5.0-GA.. Size (K): 186882 Format: gz Rev #: R13.5-GA.01 Modified: 1/4/2013 Which have the older patch on L3.0.35 elder version, and Android R13.5.         
View full article