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:
BSP version: 11.03 Multimedia Package version: 11.03 1. Install BSP and Multi Media package (11.03 release) 2. Avoid Display Timeout: append the following line to rootfs/etc/oprofile: echo -e -n '\033[9]' > /dev/tty0 3. Set VGA port as the primary display in the kernel command line: video=mxcdi1fb:GBR24,VGA-XGA di1_primary vga 4. Connect a VGA monitor and WVGA display to the MX53 Quick Start 5. Boot Linux on MX53 Quick Start board (NFS is used in this example) 6. Unblank WVGA display (fb1): $ echo 0 > /sys/class/graphics/fb1/blank 7. On the target enter into /dev/shm directory. If the following files are present: vss_lock vss_shmem ,delete them. 8. On your host, edit the ltib/rootfs/usr/share/vssconfig as following: vss device definition Master=VGA, Slave=WVGA master display [VGA] type = framebuffer format = RGBP fb_num = 2 main_fb_num = 0 vs_max = 4 slave display [WVGA] type = framebuffer format = RGBP fb_num = 1 vs_max = 4 9. Run the Gstreamer pipeline below: gst-launch filesrc location=file.mp4 ! qtdemux ! mfw_vpudecoder ! mfw_isink display=VGA display-1=WVGA Video is played on the VGA and WVGA panels. A 720p file can be played at the same time.
View full article
i.MX Family Processor The i.MX family is designed for use in smartphones, wireless PDAs, gaming and many other mobile wireless applications, Freescale's i.MX Family of applications processors are a leading solution in today's smartphone environment. Based on ARM® core technology, the i.MX1, i. MXL, i.MX21, i.MX27 and i.MX31 are designed to offer low power consumption with real-world power performance and a high degree of integration to reduce your design time significantly. The i.MX Family supports a broad range of industry-leading platforms such as those based on the Microsoft® Window® CE operating systems, Palm® OS, Linux® OS, and Symbian™ operating systems. The i.MX portfolio is a leading solution in today's smartphone environment and is a central feature of Freescale's i.Smart smartphone reference design, providing power performance to our Innovative Convergence™ platforms. We are committed to continually expanding our Innovative Convergence platforms to support new technologies and new services as they emerge into the marketplace, such as advanced display technologies including smart panels; streaming video; multiple operating systems; and the far-reaching capabilities of the personal server.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Processor CPU Speed FPU DMA Channels Embedded SRAM Flash Boot Video Acceleration 2D/3D Graphics i.MXS ARM920T 100MHz No 11 No NOR No No i.MXL ARM920T 200MHz No 11 No NOR DCT/iDCT Hardware Acceleration 2D/3D Graphics Through Software i.MX21S ARM926EJ-S 266MHz No 16 6KB NAND or NOR No No i.MX21 ARM926EJ-S 350MHz No 16 6KB NAND or NOR MPEG4 CIF 30 fps encoder and decoder 2D/3D Graphics with external accelerator i.MX27 ARM926EJ-S 400MHz No 16 45KB NAND or NOR H.264, MPEG-4, H.263 HW Enc/Dec; 24 fps VGA Full Duplex No i.MX31L ARM1136JF-S 532MHz Yes 32 16KB NAND or NOR MPEG4 VGA 30 fps Encode No i.MX31 ARM1136JF-S 532MHz Yes 32 16KB NAND or NOR MPEG4 VGA 30 fps Encode Integrated 2-D/3-D Processing Unit with OpenGL® Support i.MX35 ARM1136JF-S 532MHz Yes 32 128KB NAND, NOR, MMC/SD MPEG-4, H.264, ... Integrated 2D Processing Unit (Z160 @133MHz) with OpenVG® 1.1 Support i.MX51 ARM Cortex-A8 800MHz Yes 32 128kB NAND, NOR, MMC/SD MJPEG, MPEG-2, MPEG-4, H.263/264, VC-1, DivX, RV10 Integrated 2D (Z160 core @166MHz) and 3D (Z430 core @166MHz) Processing Unit with OpenVG® 1.1 and OpenGL ES® 2.0 / Direct3D Mobile Support i.MX53 ARM Cortex-A8 1GHz Yes 32 144kB NAND, NOR, MMC/SD MJPEG, MPEG-2, MPEG-4, H.263/264, VC-1, DivX, RV10 Integrated 2D and 3D (Z430 core @200MHz) Processing Unit with OpenVG® 1.1 and OpenGL ES® 2.0 / Direct3D Mobile Support For complete comparison click here. For more information about i.MX Family click here.
View full article
The i.MX21 Application Development System (MCIMX21ADSE) is a development tool which is designed to run software applications designed for the i.MX21 processor. Features   i.MX21 Processor   Two clock-source crystals, 32.768 KHz and 26 MHz   Power connector for +5.0-volts in from an external, regulated power supply, an in-line fuse, and a power on/off switch.   Voltage regulators that step down the 5.0-volt input to Vcc (3.0-volts), 2.5-volts, 1.8-volts, and 1.5-volts.   Multi-ICE debug support   Two 8M × 16-bit Burst Flash memory devices, configured as one 32MB, 32-bit device   Two 16M × 16-bit SDRAM devices, configured as one 64MB, 32-bit device   High speed expansion connectors for optional add on cards   Two-board system: modular CPU board plugs into Base board; Base board has connections for LCD display panel and keypad and TV encoder card   Memory mapped expansion I/O   Configuration and user definable DIP switches   SD/MMC memory card connector   Two RS232 transceivers and DB9 connectors (one configured for DCE and one for DTE operation) supporting on-chip UART ports   External UART with RS232 transceiver and DB9 connector   IrDA transceiver that conforms to Specification 1.4 of the Infra-red Data Association   USB OTG (On The Go) interface transceiver and USB mini AB connector   Separate LCD panel assembly with a ribbon cable that connects to the Base board and interfaces directly with the M9328MX21ADS   Touch panel controller for use with the LCD   Separate Keypad unit with 36 push button keys   Separate CMOS Image Sensor Card   Audio CODEC includes an 11.28MHz crystal oscillator, a 3.5mm audio input jack, a 3.5mm microphone jack, and a 3.5mm headphone jack   Cirrus Logic CS8900A Ethernet controller, with RJ-45 connector for connecting to a system hub   Two 32 × 3-pin DIN expansion connectors with most i.MX21 I/O signals   Variable resistor for emulation of a battery voltage level   NAND Flash card (Plugs into CPU)   LED indicators for power, external bus activity, Ethernet activity, and two LEDs for user defined status indiction   Universal power supply with 5.0-volt output @ 2.4A   USB cable   RS232 serial cable   Two RJ-45 Ethernet cables, network and crossover
View full article
For Debian and Based Systems Users: To install tftpboot service first install tftp server: $sudo apt-get install tftpd Choose an Internet super server to install Install xinetd OR inetd. Notice openbsd-inetd is alread installed on Ubuntu. INET Open a terminal as root If inetd is not installed, install it typing $sudo apt-get install openbsd-inetd create tftpboot folder and set permissions:    $sudo mkdir /tftpboot $sudo chmod a+x /tftpboot Edit tftp file    $sudo gedit /etc/inetd.conf Add this line: tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot After restart the inetd server:    $ sudo /etc/init.d/openbsd-inetd restart XINET Open a terminal as root If xinetd is not installed, install it typing: $sudo apt-get install xinetd create tftpboot folder and set permissions: $sudo mkdir /tftpboot $sudo chmod a+x /tftpboot Edit file tftp:    $sudo gedit /etc/xinetd.d/tftp Add these lines    service tftp {   socket_type = dgram   protocol = udp   wait = yes   user = root   server = /usr/sbin/in.tftpd   server_args = /tftpboot   disable = no   per_source = 100 2   flags = IPv4 } After restart the inetd server: $ sudo /etc/init.d/xinetd restart
View full article
For OpenSuse Users: Open a terminal as root Edit tftp file # vi /etc/xinetd.d/tftp Change the disable to no: service tftp {   socket_type = dgram   protocol = udp   wait = yes   user = root   server = /usr/sbin/in.tftpd   server_args = -s /tftpboot   disable = no }
View full article
TFTP     TFTP service will be used to transfer the kernel image from host to target every time the system reboots. Select the Linux distribution: All Boards TFTP Fedora All Boards TFTP on OpenSuse All Boards TFTP on Ubuntu
View full article
NFS Network File System (NFS) is a network file system protocol originally developed by Sun Microsystems in 1984, allowing a user on a client computer to access files over a network as easily as if the network devices were attached to its local disks. The use of NFS makes the development work of user space applications easy and fast since all target root file system is located into host (PC) where the applications can be developed and crosscompiled to target system. The target system will use this file system located on host as if it is located on target. NFS service will be used to transfer the root file system from host to target. NFS resources are listed below: All Boards Deploy NFS All Boards NFS on Fedora NFS on Fedora All Boards NFS on Slackware NFS on Slackware All Boards NFS on Ubuntu NFS on Ubuntu
View full article
The imx_bootlets package in LTIB contains the code that will be the first code loaded and executed by ROM when booting a build of the Linux BSP. It is responsible for initializing some of the low level peripherals such as the integrated power supply and the DRAM controller as well as a few other initialization tasks. The default configuration of the bootlet code for the latest i.MX233 and i.MX28x release (SDK 10.05 and SDK 10.12 respectively) support a hardware configuration that has both a LiIon battery configuration (as shown in the reference schematics for these platforms as shown on freescale.com). For other configurations though such as a VDD5V connection only or a DCDC_BATT/Battery connection only, some additional changes are recommended.
View full article
ATK (Advanced Toolkit) ATK is a Windows tool for programming the flash memory of i.MX boards. It can be downloaded here. Using ATK This section will describe the procedure to erase the flash memory and program the bootloader. 1. Assemble the PDK using the CPU board, the Personality board, and the Debug board. 2. Connect a USB cable between the PC and the i.MX25 PDK Personality board. 3. Some hardware configurations (switches) must be set for booting from UART/USB:   On the debug board:   Switch SW5 -> Off   Switch SW6 -> Off   Switch SW7 -> Off   Switch SW8 -> Off   Switch SW9 -> On   Switch SW10 -> On   On the personality board:   Switch SW21 -> 11000000   Switch SW22 -> 00000000 {{Note|On SW5 thourgh SW10, "1" means the keys selected towards the edge of the board.} 4. Run ATK (1.6 or above) going to Start -> Programs -> AdvancedToolKit -> AdvancedToolKit   Set the options:   i.MX CPU -> i.MX25_TO1.1   Device memory -> DDR2;   Custom Initial File -> (keep it unmarked)   Communication Channel -> USB 5. Power up the i.MX25 PDK 6. Click on "Next" 7. Click on Flash Tools to erase, program or dump the the flash memory and click GO. NAND Flash Erasing 1. Configure the Dip Switch of Personality Board:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Switch 1 2 3 4 5 6 7 8 SW1 OFF OFF OFF OFF N/A N/A N/A N/A SW2 ON OFF OFF ON ON OFF OFF OFF 2. Choose NAND model K9LAG08U8M 3. Continue the steps Remember to select the checkbutton BBT (Back Block Table) Commands to flash kernel and rootfs fis init -f load -r -b 0x100000 zImage -h <host IP address> fis create -f 0x300000 kernel load -r -b 0x100000 rootfs.jffs2 -h <host IP address> fis create -f 0x800000 root fis load kernel exec -c "noinitrd console=ttymxc0 115200 root=/dev/mtdblock2 rw ip=dhcp rootfstype=jffs2" Command to create rootfs.jffs2 mkfs.jffs2 -r rootfs -e 0x80000 -s 0x1000 -n -o rootfs.jffs2
View full article
On power-up of a system, the bootloader performs initial hardware configuration, and is responsible for loading the Linux kernel in memory. Several bootloaders are available which support i.MX SoCs: Barebox (http://www.barebox.org/) RedBoot (http://ecos.sourceware.org/redboot/) U-Boot (http://www.denx.de/wiki/U-Boot/) Qi (http://wiki.openmoko.org/wiki/Qi)
View full article
Introduction i.MX25 PDK Board Get Started Bootloader i.MX25 PDK Board Flashing NAND i.MX25 PDK Board Flashing SD Card i.MX25 PDK Board Flashing SPI NOR I.MX25 PDK U-boot SDCard I.MX25 PDK U-boot SplashScreen I.MX25 PDK Using FEC
View full article
fw_env.config # Configuration file for fw_(printenv/saveenv) utility. # Up to two entries are valid, in this case the redundant # environment sector is assumed present. # Notice, that the "Number of sectors" is ignored on NOR.               # MTD device name Device offset Env. size Flash sector size Number of sectors #/dev/mtd1 0x0000 0x4000 0x4000 #/dev/mtd2 0x0000 0x4000 0x4000 # NAND example /dev/mtd0 0x80000 0x40000 0x20000 2
View full article
After porting u-boot to your i.MX5x board you might want add it on LTIB menu, "Choose your board for u-boot" section. For this, edit ltib/config/platform/imx/main.lkc to add your board: Enter board on menu: comment "Choose your board for u-boot" choice prompt "board" default BOARD_MX51_BBG depends on PLATFORM = "imx51" help This menu will let you choose the board you use. ... + config BOARD_MX53_MYBOARD + bool "mx53_myboard" ... endchoice Add the "mx53_myboard_config" that matches your board configuration on the u-boot Makefile to PKG_U_BOOT_CONFIG_TYPE: config PKG_U_BOOT_CONFIG_TYPE   string   ... + default "mx53_myboard_config" if ( PLATFORM = "imx51" && BOARD_MX53_MYBOARD && !PKG_KERNEL_UPDATER )   ...
View full article
The i.MX21ADS board needs a flash programmer software called iMX21ADS_TOOLKIT or just HAB. This programmer evolved to current ATK. You can download iMX21ADS_TOOLKIT here.  
View full article
Creating Deployment System          Configuring Bootloader       Running Linux     
View full article
Booting from NAND    Some hardware configurations (switches) must be set for booting from NAND:    On the debug board:      Switch SW4 -> 10000001      Switch SW5 -> Off      Switch SW6 -> Off      Switch SW7 -> Off      Switch SW8 -> Off      Switch SW9 -> Off      Switch SW10 -> Off    On the personality board:      Switch SW21 -> 10011000      Switch SW22 -> 00100000 Booting from SD Card    Some hardware configurations (switches) must be set for booting from an SD card:       On the debug board:      Switch SW4 -> 10000001      Switch SW5 -> Off      Switch SW6 -> Off      Switch SW7 -> Off      Switch SW8 -> Off      Switch SW9 -> Off      Switch SW10 -> Off    On the personality board:      Switch SW21 -> 11000000      Switch SW22 -> 00000000   
View full article
This tutorial teaches how to program bootloader on a SD Card using ATK. To program kernel and root file system to the SD card, please follow this i.MX35 PDK Linux Booting SD    ATK (Advanced Toolkit)       ATK (Advanced Toolkit) is a Windows software for programming the flash memory of i.MX boards. It can be downloaded here.     Using ATK       This section will describe the procedure to erase and program the bootloader in the SD Card.       1. Connect a serial cable between PC and i.MX board.       2. Set the switches:       Debug Board: SW9 -> 0         SW10 -> 0         Personality Board: SW1 and SW2 (All bits) -> 0     3. Run ATK going to Start -> Programs -> AdvancedToolKit -> AdvancedToolKit           Set the options:       i.MX CPU -> i.MX35_TO2       Device memory -> DDR2;       Communication Channel -> Serial Port (Usually COM1)     4. Click Flash Tools to erase, program, or dump the the memory and click GO     Erasing     1. To erase SD Card, select the parameters as below: Select MMC/SD as "Flash Model".     Select Erase on "Operation Type". 2. Turn on the board and press Erase.     3. ATK shows a message: "Flash erase successful!" when card is erased   Programming     Next, program the bootloader image into the memory card following the steps below:     1. Select the parameters: The bootloader binary image file can be found into your Board Support Package (click here to download) Select Program on "Operation Type".     Address: 0x00000000     File: "mx35_3stack_redboot_mmc.bin" (or similar name that indicates a MMC/SD image)     2. Press Program.     3. Close ATK, turn off the board and set switches to:     Debug Board: SW9 -> 0       SW10 -> 0 Personality Board: SW2 (Bits 1 and 2) -> 1       SW2 (All other bits) -> 0       SW1 (All bits) -> 0     4. Open Hyper Terminal, set it 115200,N,8 and see RedBoot Prompt.      
View full article
Installing U-Boot on i.MX51EVK using BDI3000 Unlike older i.MX processor you don't need to select CONFIG_SKIP_LOWLEVEL_INIT because U-Boot lowlevel for i.MX51 doesn't reconfigure RAM memory. It is configured on DCD table. Copy u-boot.bin to /tftpboot because BDI3000 will load it from there. Connect the serial console cable on your i.MX51EVK board and connect to it using minicom. Connect to your BDI3000 through telnet and execute these commands: FSL-iMX51> load 0x97800000 u-boot.bin Loading u-boot.bin , please wait .... Loading program file passed FSL-iMX51> rm pc 0x97800000 FSL-iMX51> go When you execute the last command (“go”) you will see U-Boot starting on serial console.
View full article
Overview The first in the series, the i.MX53 Quick Start board is a low cost development platform. Integrated with an ARM® CortexTM-A8 1 GHz processor, the Quick Start board includes a display controller, hardware-accelerated graphics, 1080p video decode and 720p encode as well as numerous connectivity options ideally suited for applications such as human machine interface in embedded consumer, industrial and medical markets. Go to http://www.freescale.com/iMXQuickStart and visit the official Quick Start Board page Hardware Features Processor • i.MX53 1 GHz ARM Cortex-A8 Processor • Power management IC • 1 GB DDR3 memory Display • LVDS connector • VGA connector • Parallel LCD add-on card (via expansion connector) • HDMI add-on card (via expansion connector) Audio • SPDIF output via HDMI add-on card • Freescale SGTL5000 audio codec • Microphone jack • Headphone jack Expansion Connector • Enables parallel LCD or HDMI output • Camera CSI port signals • I2C, SSI, SPI signals Connectivity • Full-size SD/MMC card slot • microSD card slot • 7-pin SATA data connector • 10/100 Base-T Ethernet port • Two High-Speed USB host ports • Micro USB device port Debug • JTAG connector • DB-9 UART port Miscellaneous • 3” x 3” 8-layer PCB • 3-axis Freescale accelerometer (MMA8450QT) • 2A, 5V power supply Tutorials, Training Materials and Documentation Android i.MX 53 QSB Enable WiFi Android i.MX 53 QSB Android Recovery Mode Linux i.MX 53 QSB Board Get Started i.MX 53 QSB Ubuntu Dual Display Running Dual Display on i.MX53QSB   
View full article
      Minicom is a terminal emulation that can access a remote serial console enabling the configuration of RedBoot or the flash file system of the board.   Configuring       Reach the configuration by typing CTRL-A Z       Press key Z after releasing CTRL and A!       Configure Minicom to work with i.MX by following the procedures below.     Set the Serial Port       At the screen configuration, type O, choosing cOnfigure Minicom       In menu, choose Serial Port Setup       Below, the configuration option:   +-----------------------------------------------------------------------+   | A - Serial Device  : /dev/ttyS0                             |   | B - Lockfile Location  : /var/lock                          |   | C - Callin Program  :                                          |   | D - Callout Program  :                                        |   | E - Bps/Par/Bits  : 115200 8N1                           |   | F - Hardware Flow Control : No                           |   | G - Software Flow Control : No                           |   |                                                                        |   | Change which setting?                                      |   +-----------------------------------------------------------------------+   Type the letter of option to enable the modification.   Remember to choose the right Serial Device
View full article