i.MXプロセッサ ナレッジベース

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

i.MX Processors Knowledge Base

ディスカッション

ソート順:
1. HW Environment:     IMX8mp-evk board.     ITE6151 mipi dsi to eDP bridge board.   2. SW Environment:     IMX YOCTO 5.4.24-2.1.0 release.   3. Patch operation:     a. git clone https://source.codeaurora.org/external/imx/linux-imx.git     b. git checkout -b  imx_5.4.24_2.1.0 origin/imx_5.4.24_2.1.0     c. patch -p1 < ../ite6151_mipi2edp_linux_5.4.24_20200921.patch   4. Tested on imx8mp-evk board with DP monitor on 1080p mode: 5. Attached doc list:     IT6151 demo board user guide v1.0.pdf ------  ite6151 bridge board HW guide     it6151_qfn48_v20_20190905-01_end.pdf  ------  ite6151 bridge board SCH     imx8mp_ite6151_mipi2edp_linux_5.4.24_20200921.patch ------  Linux kernel driver patch     Image + imx8mp-evk-it6151.dtb  ------  test image and dtb  
記事全体を表示
After following instructions on how to change DRAM PLL frequency, here is a quick comparison of Stream, running on the i.MX 8MM. Normalized to LPDDR4-3000, based on 5.4.24_2.1.0​ BSP Stream LP4-3000 LP4-2400 DDR4-2400 LPDDR-1866 Copy: 1 0.810 0.735 0.497 Scale: 1 0.896 0.765 0.756 Add: 1 0.899 0.683 0.762 Triad: 1 0.902 0.680 0.767      
記事全体を表示
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
記事全体を表示
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 ...
記事全体を表示
           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.         
記事全体を表示
As of this writing, April 2015, the default sdcard image created from a Yocto Project build has all the software images nicely aligned to create a SDCARD. 10/7/2020: Update - SDCARD image names have been updated to images ending with .wic as the default from Yocto Project.  The process is the same for both .sdcard and .wic files.   There are two partitions within the image: A W95 FAT32 (LBA) partition that contains the Linux zImage, and various device tree binary (dtb) files A Linux root file system. Each partition can be mounted from your Linux host computer, then you can read or write the partition contents. Here are the steps based on the core-image-base recipe for the imx6sxsabresd machine using Yocto Project release L3.14.28_1.0.0_GA.   The name of the image: core-image-base-imx6sxsabresd.sdcard Run the fdisk command to view the contents of the image: $ fdisk -l core-image-base-imx6sxsabresd.sdcard Disk core-image-base-imx6sxsabresd.sdcard: 100 MB, 100663296 bytes 4 heads, 32 sectors/track, 1536 cylinders, total 196608 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00074663 Device Boot Start End Blocks Id System core-image-base-imx6sxsabresd.sdcard1 8192 24575 8192 c W95 FAT32 (LBA) core-image-base-imx6sxsabresd.sdcard2 24576 188415 81920 83 Linux   Determine the byte offset into the sdcard image of where each partition starts:  core-image-base-imx6sxsabresd.sdcard1 starts at sector 8192. One sector unit is 512 bytes.                8192 * 512 = 4194304 core-image-base-imx6sxsabresd.sdcard2 starts at sector 24576. 24576 * 512 = 12582912   Mount Partitions First create mount points: $ sudo mkdir /mnt/{mp1,mp2}    sdcard1 partition $ sudo mount -o loop,offset=4194304 core-image-base-imx6sxsabresd.sdcard /mnt/mp1 NOTE: An alternate method for determining the offset, see below: $ sudo mount -o loop,offset=$((512 * 8192)) core-image-base-imx6sxsabresd.sdcard /mnt/mp1 sdcard2 partition $ sudo mount -o loop,offset=12582912 core-image-base-imx6sxsabresd.sdcard /mnt/mp2 View the contents of each mounted partition $ ls /mnt/mp1 imx6sx-sdb.dtb imx6sx-sdb-lcdif1.dtb imx6sx-sdb-reva.dtb imx6sx-sdb-sai.dtb imx6sx-sdb-emmc.dtb imx6sx-sdb-m4.dtb imx6sx-sdb-reva-ldo.dtb zImage $ ls /mnt/mp2 bin boot dev etc home lib lost+found media mnt proc run sbin sys tmp usr var   When done release the mount points and remove them from /mnt $ sudo umount /mnt/{mp1,mp2} $ sudo rm /mnt/{mp1,mp2}  
記事全体を表示
About this document This document describe the setup detail for Interfacing, Installing, programming (basis) and testing depth cameras with MX6QDL based boards using Ubuntu as rootfs on i.MX6 processors boards. Supported NXP HW boards: i.MX 6QuadPlus SABRE-SD Board and Platform i.MX 6Quad SABRE-SD Board and Platform i.MX 6DualLite SABRE-SD Board i.MX 6Quad SABRE-AI Board i.MX 6DualLite SABRE-AI Board Depth sensors tested: Microsoft Kinect, ASUS Xtion. Prime Sense Carmine Software:   Gcc, Ubuntu 14.04v,  Openni, Python, ROS. 1. Depth Sensor Depth sensors are 3D vision sensors, mainly used in 3D vision application and motion gaming and robotics. For this paper we are going to use Kinect sensor and Asus Xtion connection to i.MX6 Processor boards and will get 3D images that are converted to finer points called point cloud. a) Microsoft Kinect Kinect mainly has an IR camera, IR projector and RGB camera, the IR and projector generates the 3D point cloud of the surroundings. It also has a mic array and motorized tilt for moving up and down. Kinect reveal that both the video and depth sensor cameras have a 640 x 480-pixel resolution and run at 30 FPS (frames per second). The RGB camera capture 2D color images, whereas the depth camera captures monochrome depth images. Kinect has a depth sensing range from 0.8mts to 3.5 mts b) Asus Xtion: Another alternative to kinect is Asus Xtion Pro.  Is a 3D sensor designed for motion sensing applications, this sensor is only for 3D sensing and it doesn’t have sound sensing. It has an infrared projector and a monochrome CMOS sensor to capture the infrared data. Xtion can be powered from USB itself and can calculate a sense depth from 0.8mts to 3.5 mts from the sensor. c) Prime Sense Carmine: The Prime Sense team (apple bought this company in November 2013) developed the Microsoft Kinect 3D vision, later develop their own 3D vision sensor Carmine. It also works with IR projector, RGB CMOS sensor and a depth CMOS sensor. All sensor are interfaced in System On Chip and is powered trough USB. Carmine capture 640x480 at 30 FPS and can sense from 0.35 mts to 3 mts. Developers can program the device using OpenNI and its wrapper libraries. All these sensors (Kinect, Carmine and Xtion) support the same software, so there is no special need for programming or general usage. Can be interface to i.MX processor using USB 2.0 interface and programmed using OPENNI and OPENCV. 2. Installation on Ubuntu For installation steps of Ubuntu trusty on iMX6 boards in your board, please follow up: https://community.freescale.com/docs/DOC-330147 Install the dependencies: $ sudo apt-get install -y g++ git python libusb-1.0-0-dev libudev-dev freeglut3-dev doxygen graphviz openjdk-6-jdk libxmu-dev libxi-dev Create a devel folder $  sudo mkdir –p devel $ cd devel Get OpenNI and the drivers $ git clone https://github.com/OpenNI/OpenNI.git -b unstable $ git clone git://github.com/ph4m/SensorKinect.git $ git clone https://github.com/PrimeSense/Sensor.git -b unstable Set the compile flags to build for the i.MX $ nano OpenNI/Platform/Linux/CreateRedist/Redist_OpenNi.py From: MAKE_ARGS += ' -j' + calc_jobs_number() To: MAKE_ARGS += ' –j2' Must also change the Arm compiler settings for this distribution $ nano OpenNI/Platform/Linux/Build/Common/Platform.Arm From: CFLAGS += -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp #-mcpu=cortex-a8 To: CFLAGS += -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard Then run $ cd OpenNI/Platform/Linux/CreateRedist/ $ ./RedistMaker.Arm $ cd ../Redist/OpenNI-Bin-Dev-Linux-Arm-v1.5.x.x $ sudo ./install.sh Also edit the Sensor and SensorKinect makefile CFLAGS parameters $cd ~/devel/ $ nano Sensor/Platform/Linux/Build/Common/Platform.Arm $ nano  SensorKinect/Platform/Linux/Build/Common/Platform.Arm For both files From: CFLAGS += -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp #-mcpu=cortex-a8 To: CFLAGS += -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard And the Sensor and SensorKinect redistribution scripts $ nano Sensor/Platform/Linux/CreateRedist/RedistMaker $ nano SensorKinect/Platform/Linux/CreateRedist/RedistMaker for both, change: make -j$(calc_jobs_number) -C ../Build to: make –j2 -C ../Build The create the redistributables Sensor (xtion and primesense) and Kinect (sensor Kinect) $ cd Sensor/Platform/Linux/CreateRedist/ $ ./RedistMaker Arm $ cd ~/devel/ $ cd SensorKinect/Platform/Linux/CreateRedist/ $ ./RedistMaker Arm $ cd ~/devel/ Then install PrimeSense and Kinect $ cd Sensor/Platform/Linux/Redist/Sensor-Bin-Linux-Arm-v5.1.x.x $ sudo ./install.sh $ cd ~/devel/SensorKinect/Platform/Linux/Redist/Sensor-Bin-Linux-Arm-v5.1.2.x $ sudo ./install.sh 3. Testing Installation: Connect the sensor power supply, Connect the Kinect to the NXP board USB port. (check with lsusb). For my board: Imx6q@imx6q:~/devel$ lsusb Bus 001 Device 022: ID 045e:02ae Microsoft Corp. Xbox NUI Camera Bus 001 Device 021: ID 045e:02ad Microsoft Corp. Xbox NUI Audio Bus 001 Device 019: ID 045e:02c2 Microsoft Corp. Kinect for Windows NUI Motor Now edit theglobal Kinect settings in Ubuntu $ sudo nano /usr/etc/primesense/GlobalDefaultsKinect.ini and uncomment this line UsbInterface=1 and changed it to 1 instead of 2 UsbInterface=2 $ sudo modprobe -r gspca_kinect And then blacklisting to avoid it to be auto-loaded on boot: $ sudo sh -c 'echo "blacklist gspca_kinect" > /etc/modprobe.d/blacklist-kinect.conf' Then: $ cd ~/devel/OpenNI/Platform/Linux/Bin/Arm-Release $ sudo ./Sample-NiSimpleRead You should get something like: Reading config from: '../../../../Data/SamplesConfig.xml' … Frame 40 Middle point is: 5050. FPS: 30.771788 Frame 41 Middle point is: 5050. FPS: 30.866173 Frame 42 Middle point is: 5050. FPS: 30.850958 Frame 43 Middle point is: 5050. FPS: 30.779032 Frame 44 Middle point is: 5050. FPS: 30.767746 Frame 45 Middle point is: 5050. FPS: 30.800463 Frame 46 Middle point is: 5050. FPS: 30.653118 Frame 47 Middle point is: 5050. FPS: 30.741659 Frame 98 Middle point is: 5050. FPS: 30.339321 LibFreenect: $ cd ~/devel/ $ git clone https://github.com/OpenKinect/libfreenect.git $ cd libfreenect $ mkdir build $ cd build $ cmake .. –L –DBUILD_AUDIO=ON $ make $ sudo make install Connect the kinect sensor power supply, connect the Kinect to the NXP board USB port and test any sample such as: $ sudo freenect-glview Note: If glview gives a shared library error: You need to refresh your ldconfig cache. The easiest way to do this is to create a file usr-local-libs.conf (or whatever name you wish) with the following lines: /usr/local/lib Switch to root account and move it to /etc/ld.so.conf.d/usr-local-libs.conf. Then update the ldconfig cache: $ su root $ mv ~/usr-local-libs.conf /etc/ld.so.conf.d/usr-local-libs.conf $ /sbin/ldconfig –v $ exit References: 1)      https://openkinect.org/ 2)      https://www.asus.com/us/3D-Sensor/Xtion_PRO_LIVE/ 3)      Learning Robotics using phyton by Lentin Joseph. http://www.amazon.com/Learning-Robotics-Python-Lentin-Joseph/dp/1783287535/ref=sr_1_1 4)      Computer Vision on i.MX Processors
記事全体を表示
1  Introduction   This document explains how to configure a cross compiler running in iMX6Q. The target is the Kinetis L family.  For the iMX6Q, Yocto is used to generate the iMX6Q image. 2 Requirements   Basic knowledge of Yocto and Linux is required. The steps explained were performed for the iMX6Q SABRE-SD and the Freedom KL25.  Installation of Yocto in your host system is needed too. 3 Procedure   The chosen method to configure the cross compiler for the Kinetis L, needs a native compiler that will run in the iMX6Q. Below are the general steps:   Generate native compiler for the iMX6Q and adding the needed packages for the configuration. Get and extract the source packages of the compiler. Configure, build and install the packages Test the generated cross compiler   3.1 Generating packages and native compiler for the iMX6Q   The iMX6Q image needs certain packages in order to configure and generate correctly the cross-compiler. After setting up the environment and chose the MACHINE the below lines added in the local.conf file to install those packages in our rootfs:   IMAGE_INSTALL_append = " gcc g++ binutils libgcc libgcc-dev libstdc++ libstdc++-dev libstdc++-staticdev gawk gzip perl autoconf automake libtool gettext gperf tcl guile gmp mpfr make m4 texinfo flex bison git"   The image to generate is the core-image-minimal:   bitbake core-image-minimal   Once the building is finished, a native compiler for the iMX6 and other packages needed to configure the Kinetis Compiler should be added to the Yocto image. 3.2 Getting and Extracting the Kinetis L compiler   The arm cross compiler version was gotten from CodeSourcery. arm-2011.03-42-arm-none-eabi is used in this document. You can get the source code by:   wget https://sourcery.mentor.com/sgpp/lite/arm/portal/package8736/public/arm-none-eabi/arm-2011.03-42-arm-none-eabi.src.tar.bz2   Once the image was built, boot the imx6 board with this image. Copy the source code (arm-2011.03-42-arm-none-eabi.src.tar.bz) in your target that is running Linux and extract the files.   For example, a new folder was created in /home/root directory:   $ mkdir gcc_test $ cd gcc_test   And extract the files in this folder:   $ tar –jxvf  arm-2011.03-42-arm-none-eabi.src.tar.bz2 $ cd arm-2011.03-42-arm-none-eabi   Create a source and a build folder:   $ mkdir source build   Move all the files to the source folder:   $ mv *.tar.bz2 source/   Create a new folder in /opt where the kinetis cross compiler will be installed   $ cd /opt              $ mkdir arm-none-eabi   3.3 Configure, Build and Install Kinetis Compiler on the iMX6   To configure, build and install the compiler these general steps are followed for certain packages:   Extract the package Configure the package Build and Install the package   Create an environment variable that will specify where the cross compiler will be installed:   $ export INSTALL_PREFIX=/opt/arm-none-eabi   3.3.1 GMP Package   Extract the gmp files: $ cd ~/gcc_test/arm-2011.03-42-arm-none-eabi/source $ tar –jxvf gmp-2011.03-42.tar.bz2   Create a new folder in build directory. This folder will contain a generated Makefile that will be used to build and install the package:   $ cd ../build $ mkdir gmp $cd gmp   Configure the package: $ ../../source/gmp-2011.03/configure --prefix=$INSTALL_PREFIX --build=arm-poky-linux-gnueabi CC=arm-poky-linux-gnueabi-gcc CXX=arm-poky-linux-gnueabi-g++  --disable-newlib-supplied-syscalls --disable-libgloss --disable-nls --disable-shared   Build and Install the package $make $make install 3.3.2 MPFR Package   Extract the mpfr files: $ cd ~/gcc_test/arm-2011.03-42-arm-none-eabi/source $ tar –jxvf mpfr-2011.03-42.tar.bz2   Create a new folder in build directory. This folder will contain a generated Makefile that will be used to build and install the package:   $ cd ../build $ mkdir mpfr $cd mpfr   Configure the package: $ ../../source/mpfr-2011.03/configure --prefix=$INSTALL_PREFIX  --build=arm-poky-linux-gnueabi --target=arm-none-eabi CC=arm-poky-linux-gnueabi-gcc CXX=arm-poky-linux-gnueabi-g++ --with-gmp=$INSTALL_PREFIX --disable-shared   Build and Install the package $make $make install   3.3.3 MPC Package   Extract the mpc files: $ cd ~/gcc_test/arm-2011.03-42-arm-none-eabi/source $ tar –jxvf mpc-2011.03-42.tar.bz2   Create a new folder in build directory. This folder will contain a generated Makefile that will be used to build and install the package:   $ cd ../build $ mkdir mpc $cd mpc   Configure the package: $ ../../source/mpc-0.8.1/configure --prefix=$INSTALL_PREFIX --target=arm-none-eabi --build=arm-poky-linux-gnueabi CC=arm-poky-linux-gnueabi-gcc CXX=arm-poky-linux-gnueabi-g++ --with-gmp=$INSTALL_PREFIX --with-mpfr=$INSTALL_PREFIX --disable-shared   Build and Install the package $make $make install   3.3.4 Binutils Package                                                                                 Extract the binutils files: $ cd ~/gcc_test/arm-2011.03-42-arm-none-eabi/source $ tar –jxvf binutils--2011.03-42.tar.bz2   Create a new folder in build directory. This folder will contain configure the package:   $ cd ../build $ mkdir binutils $cd binutils   Configure the package: $ ../../source/binutils-2011.03/configure --prefix=$INSTALL_PREFIX --target=arm-none-eabi --build=arm-poky-linux-gnueabi CC=arm-poky-linux-gnueabi-gcc CXX=arm-poky-linux-gnueabi-g++ --with-gmp=$INSTALL_PREFIX --with-mpfr=$INSTALL_PREFIX --with-mpc=$INSTALL_PREFIX --disable-nls --disable-werror   Build and Install the package $make MAKEINFO=true $make install MAKEINFO=true   3.3.5 GCC Package   Extract the gcc files: $ cd ~/gcc_test/arm-2011.03-42-arm-none-eabi/source $ tar –jxvf    Create a new folder in build directory. This folder will contain configure the package:   $ cd ../build $ mkdir gcc $cd gcc   Configure the package: $ ../../source/gcc-4.5-2011.03/configure --prefix=$INSTALL_PREFIX --target=arm-none-eabi   --build=arm-poky-linux-gnueabi  --host=arm-poky-linux-gnueabi  CC=arm-poky-linux-gnueabi-gcc CXX=arm-poky-linux-gnueabi-g++ --enable-languages="c" --with-gnu-ld --with-gnu-as --with-newlib --disable-nls --disable-libssp --with-newlib --without-headers --disable-shared --disable-threads  --disable-libmudflap --disable-libgomp --disable-libstdcxx-pch --disable-libunwind-exceptions --disable-libffi  --enable-extra-sgxxlite-multilibs  --with-gmp=$INSTALL_PREFIX --with-mpfr=$INSTALL_PREFIX --with-mpc=$INSTALL_PREFIX   Build and Install the package $make $make install     3.4 Testing the Cross Compiler   To test the Cross compiler it is necessary to add the path of the installation to the PATH variable.   $ export PATH=/opt/arm-none-eabi/bin/:$PATH   To check the version of the cross compiler:   $ arm-none-eabi-gcc –version arm-none-eabi-gcc (GCC) 4.5.2 Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions.  There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE   Attached you can find a folder that contains a simple KL25 example that can be compiled in the iMX6 and then flash the Freedom KL25 with the OpenSDA. This means that you have to attach the USB OpenSDA to the OTG port of the iMX6 board.   Type the next in the hello folder (/Kinetis  GNU/KL25_TEST/KL25/hello)   $make clean $make   This will generate a main.srec file that can be copied to the USB MSD device featured by the OpenSDA.   $cp main.srec /meida/sda1 $sync   After this, the RGB LED in the Freedom KL25 will toggle. Original Attachment has been moved to: KL25.tar.zip
記事全体を表示
Multicore programming guide with Linux 3.14.52_1.1.0 and FreeRTOS BSP for i.MX 6SoloX
記事全体を表示
Host : Ubuntu 11.10 Part 1. Installation of QNX 6.50 and QNX 6.50 SP1        1.1 Create an account and activate the created account that will be assigned an 30-days evaluation serial numberin then on www.qnx.com, and download qnxsdp-6.5.0-201007091524-linux.bin, qnxsdp-6.5.0SP1-201206271006-linux.bin;        1.2 Execute "sudo apt-get install ia32-libs"        1.3 Execute "sudo -E /your/path/qnxsdp-6.5.0-201007091524-linux.bin", follow the guides as prompted, enter the received evaluation serial number, then the installation of QNX 6.50 will be done;        1.4 Logout, and re-login, so far typing "qconfig" will return the following messages:         --------------------------------------------------------------------------------------------------------------------- alanz@alanz-VirtualBox:~$ qconfig QNX Installations   Installation Name: QNX Software Development Platform 6.5.0             Version: 6.5.0      Base Directory: /opt/qnx650            QNX_HOST: /opt/qnx650/host/linux/x86          QNX_TARGET: /opt/qnx650/target/qnx6         ---------------------------------------------------------------------------------------------------------------------        1.5 Execute "sudo chmod a+rw /etc/qnx/license/licenses"        1.6 Execute "sudo -E /your/path/qnxsdp-6.5.0SP1-201206271006-linux.bin"        1.7 Logout, and re-login, so far typing "qconfig" will return the following messages:         --------------------------------------------------------------------------------------------------------------------- alanz@alanz-VirtualBox:~$ qconfig QNX Installations   Installation Name: QNX Software Development Platform 6.5.0             Version: 6.5.0      Base Directory: /opt/qnx650            QNX_HOST: /opt/qnx650/host/linux/x86          QNX_TARGET: /opt/qnx650/target/qnx6 Additional Packages    Package Name: QNX Software Development Platform         Version: 6.5.0SP1            Base: QNX SDP 6.5.0    Installation Path: /opt/qnx650         ---------------------------------------------------------------------------------------------------------------------        1.8 Download bsp-nto650-freescale-mx6q-sabrelite-trunk-201301161142.zip, and unzip it; Part 2. Build i.MX6Q SabreLite QNX BSP        2.1 Edit a envsetup.sh as following:         --------------------------------------------------------------------------------------------------------------------- #!/bin/bash export QNX_HOST=/opt/qnx650/host/linux/x86 export QNX_JAVAHOME=/opt/qnx650/_jvm export QNX_TARGET=/opt/qnx650/target/qnx6 export QNX_CONFIGURATION=/etc/qnx export ARCH=arm export CPULIST=arm export VARIANTLIST=v7 export MAKEFLAGS=-I/opt/qnx650/target/qnx6/usr/include export PATH=$PATH:/opt/qnx650/host/linux/x86/usr/bin export QCONFIG=/opt/qnx650/target/qnx6/usr/include/qconfig.mk export BSP_ROOT_DIR=/home/alanz/Downloads/QNX_Software/i.MX6Q_SabreLite4QNX         ---------------------------------------------------------------------------------------------------------------------        Note: BSP_ROOT_DIR is the BSP unzip directory.        2.2 Execute "make clean", then "make". The generated file will be under images/ifs-mx6q-sabrelite.raw Part 3. Running i.MX6Q SabreLite QNX BSP        3.1 Copy images/ifs-mx6q-sabrelite.raw to SD;        3.2 Modify u-boot environment as following:         --------------------------------------------------------------------------------------------------------------------- setenv loadaddr '0x10800000' setenv bootcmd_sd 'mmc dev 0; fatload mmc 0:1 ${loadaddr} ifs-mx6q-sabrelite.raw; go ${loadaddr}' setenv bootcmd 'run bootcmd_sd' saveenv boot         ---------------------------------------------------------------------------------------------------------------------        3.3 Connect i.MX6Q SabreLite w/ serial and ethernet, turn on, type "qconn" and "ifconfig" in the serial shell. Part 4. Debug w/ QNX Momentics IDE        4.1 Type "qde" to activate Momentics IDE        4.2 On the top-right corner, there exist several icons named in "xxx perspective" to switch the main window according to current selected "perspective" context. Click "QNX System Information Perspective" to create a target to conect and debug as following depicted.        4.3 Switch to "C/C++ perspective" to create QNX C/C++ project as following depicted.        4.4 Switch to "Debug perspective" to perform "Debug Configuration" as following depicted.        Then it can debug program on target i.MX6Q SabreLite board.
記事全体を表示
  Products Product Category NXP Part Number URL MPU i.MX6 Family https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-6-processors:IMX6X_SERIES   Tools NXP Development Board URL i.MX6 family developement board https://www.nxp.com/design/development-boards:EVDEBRDSSYS#/collection=softwaretools&start=0&max=25&query=typeTax%3E%3Et633::archived%3E%3E0::Sub_Asset_Type%3E%3ETSP::deviceTax%3E%3Ec731_c380_c127_c126&sorting=Buy%2FSpecifications.desc&language=en&siblings=false  
記事全体を表示
Ubuntu distro uses dash instead of bash as shell, then change it to bash: # cd /bin # sudo rm sh # sudo ln -s bash sh Install all necessary packages by typing: sudo apt-get install patch g++ rpm zlib1g-dev m4 bison libncurses5-dev libglib2.0-dev gettext \ build-essential tcl intltool libxml2-dev liborbit2-dev libx11-dev ccache flex uuid-dev liblzo2-dev If under Ubuntu 64bit, install ia32-libs package: sudo apt-get install ia32-libs If you will install Xorg in your ltib, you will need to install this package: sudo apt-get install x11proto-core-dev If you will install gtk+ in your ltib, you will need to install the following packages: sudo apt-get install libdbus-glib-1-dev libgtk2.0-dev libdbus-glib-1-dev Configure visudo file, as root using the command "/usr/sbin/visudo", and add the following line in the User privilege section: username ALL = NOPASSWD: /usr/bin/rpm, /opt/freescale/ltib/usr/bin/rpm Where username is your user name, the name you use to do logon in your system. Classic Error messages and solutions under Ubuntu Can't exec "mconf": No such file or directory at /home/tic/ltib/bin/Ltibutils.pm line 972. exec: mconf /home/tic/ltib/config/main.lkc: No such file or directory at /home/tic/ltib/bin/Ltibutils.pm line 972. traceback:   Ltibutils::system_nb:972   main::get_plat_dir:2947     main:548 Started: Tue Feb 16 18:01:38 2010 Ended:  Tue Feb 16 18:59:26 2010 Elapsed: 3468 seconds Build Failed Solution: edit the ltib script line 925:                   # install the new package           $cmd  = "$cf->{sudo} $cf->{rpm} ";           $cmd .= "--root $cf->{rpmroot} ";           $cmd .= "--dbpath $cf->{rpmdb} ";           $cmd .= "--prefix $cf->{rpmipfx} " if $cf->{rpmipfx};           $cmd .= "--ignorearch -ivh ";           $cmd .= "--force "  unless $cf->{conflicts} || $cf->{hostinst};           $cmd .= "--replacepkgs --replacefiles " if $cf->{hostinst};           $cmd .= "--nodeps " if $cf->{nodeps};           $cmd .= "--excludedocs "; +        $cmd .= "--force-debian " if $rpm =~ m/rpm-fs/ && `uname -a` =~ m/ubuntu/i;           $cmd .= "--define '_tmppath $cf->{tmppath}' ";           $cmd .= "$rpm"; error: cannot open Name index using db3 - No such file or directory (2) error: cannot open Name index using db3 - No such file or directory (2) sudo rpm --root / --dbpath /tmp/rpm-tic/rpmdb -e --allmatches --nodeps --define '_tmppath /home/tic/ltib/tmp' rpm-fs 2>/dev/null sudo rpm --root / --dbpath /tmp/rpm-tic/rpmdb --ignorearch -ivh --force --nodeps --excludedocs --define '_tmppath /home/tic/ltib/tmp'  /tmp/rpm-tic/RPMS/i686/rpm-fs-4.0.4-1.i686.rpm rpm: please use alien to install rpm packages on Debian, if you are really sure use --force-debian switch. See README.Debian for more details. sudo /opt/freescale/ltib/usr/bin/rpm --root / --dbpath /opt/freescale/ltib/var/lib/rpm -Uv --justdb --notriggers --noscripts --nodeps  /tmp/rpm-tic/RPMS/i686/rpm-fs-4.0.4-1.i686.rpm sudo: /opt/freescale/ltib/usr/bin/rpm: command not found mkdir: cannot create directory `/opt/freescale': Permission denied Cannot create the download directory:   /opt/freescale/pkgs Either change to a global directory you have write permissions to, or create it as root.  Please set the permissions to 777 traceback:   main::check_dirs:2469   main::host_checks:1426     main:542 Started: Wed Nov 25 01:56:53 2009 Ended:  Wed Nov 25 02:07:42 2009 Elapsed: 649 seconds Build Failed solution : sudo chmod 777 /opt make[1]: Entering directory `/opt/freescale/ltib/usr/src/rpm/BUILD/texinfo-4.8' Making all in tools make[2]: Entering directory `/opt/freescale/ltib/usr/src/rpm/BUILD/texinfo-4.8/tools' make[2]: *** No rule to make target `all'.  Stop. make[2]: Leaving directory `/opt/freescale/ltib/usr/src/rpm/BUILD/texinfo-4.8/tools' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/opt/freescale/ltib/usr/src/rpm/BUILD/texinfo-4.8' make: *** [all] Error 2 error: Bad exit status from /home/tic/ltib/tmp/rpm-tmp.U8vEdX (%build) RPM build errors:     Bad exit status from /home/tic/ltib/tmp/rpm-tmp.U8vEdX (%build) Build time for texinfo: 55 seconds Failed building texinfo Died at ./ltib line 1380. traceback:   main::build_host_rpms:1380   main::host_checks:1435     main:542 Started: Wed Nov 25 20:10:43 2009 Ended:  Wed Nov 25 20:31:42 2009 Elapsed: 1259 seconds These packages failed to build: texinfo Build Failed solution : install ccache package in host + cd /opt/freescale/ltib/usr/src/rpm/BUILD + cd lkc-1.4 + make -j1 conf mconf gcc -O0 -Wall -g -fPIC -c conf.c -o conf.o bison -l -b zconf -p zconf zconf.y flex -L -Pzconf zconf.l make: flex: Command not found make: *** [lex.zconf.c] Error 127 error: Bad exit status from /home/tic/ltib/tmp/rpm-tmp.010CjL (%build) RPM build errors:     Bad exit status from /home/tic/ltib/tmp/rpm-tmp.010CjL (%build) Build time for lkc: 2 seconds Failed building lkc Died at ./ltib line 1380. traceback:   main::build_host_rpms:1380   main::host_checks:1435     main:542 Started: Thu Nov 26 00:33:46 2009 Ended:  Thu Nov 26 01:19:39 2009 Elapsed: 2753 seconds These packages failed to build: lkc Build Failed solution : install flex package in host Making all in po make[2]: Entering directory `/home/tic/ltib/rpm/BUILD/alsa-utils-1.0.11rc2/alsaconf/po' mv: cannot stat `t-ja.gmo': No such file or directory make[2]: *** [ja.gmo] Error 1 make[2]: *** Waiting for unfinished jobs.... mv: cannot stat `t-ru.gmo': No such file or directory make[2]: *** [ru.gmo] Error 1 make[2]: Leaving directory `/home/tic/ltib/rpm/BUILD/alsa-utils-1.0.11rc2/alsaconf/po' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/tic/ltib/rpm/BUILD/alsa-utils-1.0.11rc2/alsaconf' make: *** [all-recursive] Error 1 error: Bad exit status from /home/tic/ltib/tmp/rpm-tmp.93730 (%build) RPM build errors:     Bad exit status from /home/tic/ltib/tmp/rpm-tmp.93730 (%build) Build time for alsa-utils: 84 seconds Failed building alsa-utils f_buildrpms() returned an error, exiting traceback:   main:560 Started: Sat Nov 28 07:39:40 2009 Ended:  Sat Nov 28 08:17:18 2009 Elapsed: 2258 seconds These packages failed to build: alsa-utils Build Failed Exiting on error or interrupt solution : install package gettext and ja-trans checking for glib-genmarshal... no configure: error: Could not find a glib-genmarshal in your PATH error: Bad exit status from /home/tic/ltib/tmp/rpm-tmp.13030 (%build) RPM build errors:     Bad exit status from /home/tic/ltib/tmp/rpm-tmp.13030 (%build) Build time for glib2: 107 seconds Failed building glib2 f_buildrpms() returned an error, exiting traceback:   main:560 Started: Sat Dec  5 03:19:36 2009 Ended:  Sat Dec  5 03:29:46 2009 Elapsed: 610 seconds These packages failed to build: glib2 Build Failed Exiting on error or interrupt solution : install the package libglib2.0-dev
記事全体を表示
i.MX28 LCD driver 8080 bus interface mechanism please read readme.txt and it will teach you how to use it
記事全体を表示
         This document will describe how to add open JDK to i.MX yocto BSP. It will take two versions of Linux BSP as an example, one is the lower version of L4.1.15-2.0.0, the other is the latest version of L4.19.35-1.1.0. Adding openjdk-8 to L4.1.15-2.0.0(Ubuntu 16.04 LTS platform) Before adding an open JDK, you must download L4.1.15-2.0.0 BSP according to the i.MX_Yocto_Project_User's_Guide.pdf, and ensure that it can pass the compilation normally, that is to say, there is no error in the compilation. In this example, BSP is compiled using the following command. # DISTRO=fsl-imx-wayland MACHINE=imx6sxsabresd source fsl-setup-release.sh -b build-wayland # bitbake fsl-image-qt5          Then follow the steps below to add openjdk to the yocto layer:   Fetching openjdk-8 from Yocto website # cd ~/imx-release-bsp # cd sources # git clone git://git.yoctoproject.org/meta-java # cd meta-java # git checkout -b krogoth origin/krogoth  [Comment]    Yocto’s version is described in i.MX_Yocto_Project_User's_Guide.pdf 2. Modifying related configurations (1) build-wayland/conf/local.conf Add following lines to the file: # Possible provider: cacao-initial-native and jamvm-initial-native PREFERRED_PROVIDER_virtual/java-initial-native = "cacao-initial-native" # Possible provider: cacao-native and jamvm-native PREFERRED_PROVIDER_virtual/java-native = "cacao-native" # Optional since there is only one provider for now PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native" IMAGE_INSTALL_append = " openjdk-8" Save it and exit (2)build-wayland/conf/bblayers.conf Add java layer to the file, like below: BBLAYERS = " \   ${BSPDIR}/sources/poky/meta \   ${BSPDIR}/sources/poky/meta-poky \   \   ${BSPDIR}/sources/meta-openembedded/meta-oe \   ${BSPDIR}/sources/meta-openembedded/meta-multimedia \   \   ${BSPDIR}/sources/meta-fsl-arm \   ${BSPDIR}/sources/meta-fsl-arm-extra \   ${BSPDIR}/sources/meta-fsl-demos \   ${BSPDIR}/sources/meta-java \ "…… Save it and exit. 3. Build openjdk-8 # cd ~/imx-release-bsp # source setup-environment build-wayland #bitbake openjdk-8 -c fetchall          Fetch all packages related to openjdk-8. [error handling]          During downloading packages, you may encounter errors like the following. (1)Fetch fastjar-0.98.tar.gz errors          The error is caused by invalid web address, we can download it from another link, see below: http://savannah.c3sl.ufpr.br/fastjar/fastjar-0.98.tar.gz copy the link to firefox in Ubuntu platform, and it will be downloaded into ~/Downloads # cd ~/imx-release-bsp/downloads # cp ~/Downloads/ fastjar-0.98.tar.gz ./ # touch fastjar-0.98.tar.gz.done   (2)Fetch “classpath-0.93.tar.gz” error          Download it from : http://mirror.nbtelecom.com.br/gnu/classpath/classpath-0.93.tar.gz And copy it to ~/imx-release-bsp/downloads, and create a file named classpath-0.93.tar.gz.done in the directory. # cd ~/imx-release-bsp/downloads # cp ~/Downloads/ classpath-0.93.tar.gz ./ # touch classpath-0.93.tar.gz.done (3) 8 files with tar.bz2 (hotspot-Java jvm)          These similar errors are very likely to be encountered.          These errors are caused by the bad network environment. You can download these packages manually. These are Java virtual machine source packages, i.e. hotspot JVM [Solution] # mkdir ~/temp # cd temp # wget http://www.multitech.net/mlinux/sources/56b133772ec1.tar.bz2 # wget http://www.multitech.net/mlinux/sources/ac29c9c1193a.tar.bz2 # wget http://www.multitech.net/mlinux/sources/1f032000ff4b.tar.bz2 # wget http://www.multitech.net/mlinux/sources/81f2d81a48d7.tar.bz2 # wget http://www.multitech.net/mlinux/sources/0549bf2f507d.tar.bz2 # wget http://www.multitech.net/mlinux/sources/0948e61a3722.tar.bz2 # wget http://www.multitech.net/mlinux/sources/48c99b423839.tar.bz2 # wget http://www.multitech.net/mlinux/sources/bf0932d3e0f8.tar.bz2          Then create .tar.bz2.done files for each package via touch command   # touch 56b133772ec1.tar.bz2.done # touch ac29c9c1193a.tar.bz2.done # touch 1f032000ff4b.tar.bz2.done # touch 81f2d81a48d7.tar.bz2.done # touch 0549bf2f507d.tar.bz2.done # touch 0948e61a3722.tar.bz2.done # touch 48c99b423839.tar.bz2.done # touch bf0932d3e0f8.tar.bz2.done          Like below:          Then copy these files to ~/ fsl-release-bsp/downloads/ # bitbake openjdk-8 -c compile          After openjdk compilation, you will be prompted as follows:          At last , install openjdk-8 to images # bitbake fsl-image-qt5          Done: [Additional description]          The above method of adding openjdk-8 is the steps after BSP compilation. Users can also add openjdk-8 before BSP compilation, and then compile it with BSP          According to steps in i.MX_Yocto_Project_User's_Guide.pdf, After running the following two commands, users can modify bblayers.conf and local.conf directly.          For example, steps below have been validated: … … # repo sync # cd ~/fsl-release-bsp # DISTRO=fsl-imx-x11 MACHINE=imx6qsabresd source fsl-setup-release.sh -b build-x11 # gedit ./conf/bblayers.conf          Add the same contents as above. # gedit ./conf/local.conf          Add the same contents as above. # bitbake fsl-image-gui          During compilation, users may encounter some errors, which can be handled by referring to the methods described above Adding openjdk-8 to L4.19.35-1.1.0(Ubuntu 18.04 LTS Platform) In fact, the steps to add openjdk-8 to l4.19.35 are the same as those described above, and the following steps have been verified. Before adding openjdk-8, i.mx8qxp full image has been compiled with 2 commands below, so we only need to add openjdk-8 here. # DISTRO=fsl-imx-xwayland MACHINE=imx8qxpmek source fsl-setup-release.sh -b build-xwayland # bitbake imx-image-full # cd sources # git clone git://git.yoctoproject.org/meta-java # cd meta-java # git checkout -b warrior origin/warrior          Release L4.19.35_1.1.0 is released for Yocto Project 2.7 (Warrior). # cd ~/imx-release-bsp-l4.19.35 # source setup-environment build-xwayland-imx8qxpmek # gedit ./conf/bblayers.conf          Add meta-java to it.          ……            ${BSPDIR}/sources/meta-java \          ……          Save and exit. # gedit ./conf/local.conf          Add these lines to it.          # Possible provider: cacao-initial-native and jamvm-initial-native PREFERRED_PROVIDER_virtual/java-initial-native = "cacao-initial-native" # Possible provider: cacao-native and jamvm-native PREFERRED_PROVIDER_virtual/java-native = "cacao-native" # Optional since there is only one provider for now PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native" IMAGE_INSTALL_append = " openjdk-8" Save and exit.   # cd ~/imx-release-bsp-l4.19.35/build-xwayland-imx8qxpmek # bitbake openjdk-8 -c fetch # bitbake openjdk-8 -c compile [Errors] [Solution] # gedit ./ tmp/work/x86_64-linux/openjdk-8-native/172b11-r0/jdk8u-33d274a7dda0/hotspot/make/linux/Makefile Comment the following lines: ----------------------------------------- check_os_version: #ifeq ($(DISABLE_HOTSPOT_OS_VERSION_CHECK)$(EMPTY_IF_NOT_SUPPORTED),) #       $(QUIETLY) >&2 echo "*** This OS is not supported:" `uname -a`; exit 1; #endif -----------------------------------------          Then continue # cd ~/imx-release-bsp-l4.19.35/build-xwayland-imx8qxpmek # bitbake openjdk-8 -c compile [comment]          Probably similar errors will be encountered during compiling other packages, we can use the same way like above to solve it, see bellow, please! Done:          At last, install openjdk-8 to images. # bitbake imx-image-full          Installation is done. NXP TIC Team  Weidong Sun 12/31/2019
記事全体を表示
About softISP Code : https://github.com/NXPmicro/gtec-demo-framework/tree/master/DemoApps/OpenCL/SoftISP/source Document : https://www.nxp.com/docs/en/application-note/AN12060.pdf demo is on path  /opt/imx-gpu-sdk/OpenCL/SoftISP of linux L4.19.35   About eIQ Community: https://community.nxp.com/community/eiq eIQ sample APPs : https://community.nxp.com/docs/DOC-343785 eIQ library source code : https://source.codeaurora.org/external/imx/meta-fsl-bsp-release/tree/imx/meta-ml/recipes-libraries?h=warrior-4.19.35-1.1.0
記事全体を表示
Some i.MX25 customers reported an issue for the GPT timer, when using 120MHz (240MHz UPLL divided 2) clock source as the GPT per_clk, the timer will not be increased all the time in free-run mode. If using 66.5MHz IPG clock and 133MHz PER clock as the clock source, there are no such issue. There are 4 test cases in the attached test code. Case 0: in CCM_MCR, set bit 5 as 0 for 133MHz HCLK as the gpt_per_clk source;  in GPT_CR bit[8:6], set 0b001 ipg_clk (66.5MHz). There is no issue, the GPT counter is fixed at 4 between old_cnt and new_cnt. Case 1: in CCM_MCR, set bit 5 as 0 for 133MHz HCLK as the gpt_per_clk source;  in GPT_CR bit[8:6], set 0b010 ipg_clk_highfreq (133MHz). There is no issue, the GPT counter is fixed at 8 between old_cnt and new_cnt. Case 2: in CCM_MCR, set bit 5 as 1 for 240MHz UPLL divided by 2 as the gpt_per_clk source;  in GPT_CR bit[8:6], set 0b001 ipg_clk (60MHz). There is no issue, the GPT counter is fixed at 4 between old_cnt and new_cnt. Case 3: in CCM_MCR, set bit 5 as 0 for 240MHz UPLL divided by 2 as the gpt_per_clk source;  in GPT_CR bit[8:6], set 0b010 ipg_clk_highfreq (120MHz). There is issue, the GPT counter is not a fixed value between old_cnt and new_cnt, and sometimes it will be negative. Count 9874: 4 old_cnt: 0x188849dc new_cnt: 0x188849e0 Count 9877: 12 old_cnt: 0x18918400 new_cnt: 0x1891840c Count 9915: 4 old_cnt: 0x189aea90 new_cnt: 0x189aea94 Count 9937: -12 old_cnt: 0x18a42458 new_cnt: 0x18a4244c Count 9967: 4 old_cnt: 0x18adb17c new_cnt: 0x18adb180 In fact, it is not an issue, when using UPLL as the GPT clock source, the maxim frequency should be 60MHz. That's why all other three test case is OK and it only failed on this case.
記事全体を表示
Some customer need to know how to add support RS485 mode half duplex? Here give some recommends. About i.MX6 UART to RS485 applications 1. Using RS485 mode of UART directly. On hardware, you should use UART_CTS_B to control RX & TX. On software, The link for you reference: Does UART in RS485 mode support only 9 Bit mode for i.MX6 ?  2. Sensing IO direction Automatically via hardware, don't need to tune software. For i.MX8QXP As the linux BSP for i.MX8QXP do not support RS 485 mode, so for the RS 485 using you can use the Sensing IO direction Automatically via hardware, don't need to tune software. As the above i.MX6 design.
記事全体を表示
Hello all. This document shows how to play the puzzle game “2048” on the RIoTboard running Ubuntu. The RIoTboard is an open source platform featuring the powerful i.MX 6Solo, a multimedia application processor with ARM Cortex-A9 core at 1 GHz.For complete information regarding RIoTboard characteristics and its user manual, you could refer to the following links: RIoTboard wepage: http://riotboard.org/ User Manual: http://www.element14.com/community/servlet/JiveServlet/previewBody/65502-102-2-288206/RIOT_Board_User_Manual_v1.1.pdf Flashing the Ubuntu image to RioTboard. First, we need to get the Ubuntu image and Mfg Tool from the following page: http://www.element14.com/community/docs/DOC-68442/l/riotboard-bsp-images-and-tools-download--android-and-linux Once getting the software, it is required to configure the Boot Configuration Select switches (SW1) for Serial Downloader Mode as shown below: After completing the download of the software, it is requiered to configure the switches for booting from eMMC, as shown below: For additional details regarding Boot modes, you could refer to chapter 4 of the RioTboard User Manual. How to connect EVBUSB2SER to RIoT board for debug terminal. By default, the Debug serial port of the RioTboard is routed to the J18 header (labeled as “Debug”), so, if you have a EVBUSB2SER board, you could use it to access to this serial port by USB. In order to avoid damages between boards, please ensure of the following (on the EVBUSB2SER board): Switch SW1 is in the 3.3V position. Jumper J3 (which enables the level-shifter IC) is removed, as it won’t be requiered. Finally, the connections between EVBUSB2SER and RioTboard should be as follows: Pin Number on EVBUSB2SER header P1 Pin Number on RIoTboard header J18 7 (RXD) <-----> 1 (UART2_TXD) 8 (TXD) <-----> 2 (UART2_RXD) 9 (GND) <-----> 3 (GND) The following image shows both board connected as mentioned: How to change the HDMI display resolution using bootargs. With the serial console connected, you could see the boot log, and stop the boot process for enter to U-Boot for changing the HDMI display resolution (enviroment variable “bootargs”). If you want to know the default vales, you could call the following command:    printenv bootargs So, for changing the resolution to 1920x1080 and then booting, you should do the following: setenv bootargs console=ttymxc1,115200 nosmp video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb1:off saveenv boot Getting the source code of 2048 game and compiling it. On the following webpage you could find the source code of a working 2048 game on a single C file: https://github.com/mevdschee/2048.c On the same page are included the instructions for downloading and compiling it, which are the shown below (using either Serial Debug console or a Terminal window). The Ubuntu image should already include the gcc compiler: wget https://raw.githubusercontent.com/mevdschee/2048.c/master/2048.c gcc -o 2048 2048.c If you want to visualize the source code you could try: cat 2048.c Play! Either using Serial Debug console or a Terminal window (or both) you could now launch the 2048 game my simply launching the compiled executable:    ./2048 Below you can find screen captures of the game running on both scenarios: Hope this will be useful and funny for you. Best regards! /Carlos
記事全体を表示
After upgrading Ubuntu 11.04 to 11.10, I encountered several building failures such as the following: error:"_FORTIFY_SOURCE" redefined [-Werror] To fix this building issue: 1. Following guides in Initializing a Build Environment | Android Open Source, to get build env ready for Ubuntu 11.10; 2. Edit build/core/combo/HOST_linux-x86.mk and replace:     "HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0"     with     "HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0" Based on further Internet research, I found a Google Groups that summarizes all modifications to fix the building failure encountering in Ubuntu 11.10.
記事全体を表示
[中文翻译版] 见附件   原文链接: https://community.nxp.com/docs/DOC-341481 
記事全体を表示