i.MX Solutions Knowledge Base

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

i.MX Solutions Knowledge Base

Labels
  • General 294

Discussions

Sort by:
MOZART SBC - i.MX51 Single Board Computer Added by Michele Cecchettini on August 25, 2010 at 10:02am http://imxcommunity.org/photo/mozart-sbc-imx51-single-board/next?context=latest   > CPU: i.MX51 800 MHz CortexA8 > HD720 decoding > 512MB DDR2 SDRAM > Real World Connectors: DVI, USB, AUDIO, ETHERNET > Expansion Connectors > Dimensions: 120 x 100 mm > Supply: 10-26 V http://www.msystemitaly.com/files/mozart_flyer.pdf
View full article
Added by Renato Frias on May 19, 2010 at 4:29pm     http://www.youtube.com/watch?feature=player_embedded&v=kpIkE1LQCsg   Uploaded by renatofrias55 on May 19, 2010 Freescale's i.MX25 PDK booting from SD card with a splash screen bitmap loaded from SD also on u-Boot start up. The LCD blinks when Linux takes over the Framebuffer. For more details, see: http://www.imxdev.org/wiki/index.php?title=I.MX25_PDK_U-boot_SplashScreen Category: Science & Technology License: Standard YouTube License  
View full article
http://www.youtube.com/watch?v=2CPUAsNWk5Q&feature=player_embedded   Uploaded by Charbax on Jan 10, 2012 Optimum Semiconductor Technologies Inc shows this single-core Freescale i.MX53 ARM Cortex-A8 and single-core AmLogic ARM Cortex-A9 based Android Set-top-box for $100-$120 depending on order quantity. Category: Science & Technology License: Standard YouTube License  
View full article
We are delighted to announce the launch of a very special Micro SOM, eSOMiMX6-micro. This high performance system on module is based on NXP i.MX6 Quad/Dual ARM Cortex-A9 Processor. Meissa-I, the evaluation kit for this iMX6 Micro SOM is also the smallest RDK in the industry. The customer who wanted a low power micro SOM for building their ultra-compact devices like Wearables, Medical Imaging, Handhelds etc, we have our eSOMiMX6-micro system on module which based on NXP i.MX6 Quad/Dual Core ARM Cortex-A9 processor in a small form factor of 54mm x 20mm with 10mA in suspend current. eSOMiMX6-micro: iMX6 Micro System-on-Module To get more details on this product, please visit: https://www.e-consystems.com/iMX6-micro-som-system-on-module.asp
View full article
ConnectCore® i.MX53 / Wi-i.MX53 Freescale i.MX53 Cortex A8 system-on-module The network-enabled ConnectCore for i.MX53 is a highly integrated and future-proof system-on-module (SoM) solution based on the new Freescale i.MX53 application processor with a high performance 1 GHz ARM Cortex-A8 core, wired and wireless connectivity, powerful 1080p/720p video encoding/decoding capabilities, dual-CAN bus interface and a complete set of peripherals.   The ConnectCore for i.MX53 family builds on the successful ConnectCore for i.MX51 modules by providing a form factor compatible option with significantly improved processing, memory, video and connectivity capabilities. It is a scalable and energy-efficient module family that is ideal for medical devices, security/surveillance equipment, industrial applications, kiosk systems and digital signage integration. Modules in the ConnectCore i.MX family feature the design, development and administrative advantages offered by the iDigi® Device Cloud™. This secure, highly scalable platform seamlessly ties enterprise applications and remote devices together.   iDigi Manager Pro empowers IT, network operations and customer support organizations to conquer the challenges of managing equipment in their device networks. Network managers can remotely configure, upgrade, monitor and troubleshoot remote devices, and create applications that improve productivity, speed and efficiency.   Integrated secure wireless 802.11a/b/g/n Wi-Fi WLAN Powerful 2D/3D graphics, 1080p video Support for Embedded Linux, Microsoft Windows Compact 7 and Android Industrial operating temperature system-on-module (SoM) Secure, anywhere management using iDigi Manager Pro™   http://www.digi.com/products/wireless-wired-embedded-solutions/solutions-on-module/connectcore/connectcore-wi-mx53#overview
View full article
Technical Session Added by iWavesystems on June 26, 2012 at 3:45am    
View full article
These videos demonstrate an example application of a fully cloud-enabled and location-aware mass transport demo built on Freescale's i.MX5x platform with a HD passenger information display, PCAP touch enabled driver control display, and mobilde device (Android phone) integration. The demo showcases how Android provides the potential of significantly shortening the development cycle and accelerating your time-to-market. The demo is based on the Digi ConnectCore i.MX53 System-on-Module solution and was built using our Embedded Application Development Kit for Android (Gingerbread). Smart Tech for Passenger Buses by Digi International - Design West (ESC) 2012 - YouTube - The ARM video interview at Design West Android Bus Demo - YouTube  - The official Digi video overview Visit www.digiembedded.com for additional information, including a special i.MX53 Android Development Kit kit offer for $199. --- VDC Research Awards Digi Best of Show at Embedded World 2012 for Android Application Development Kit with iDigi Device
View full article
iWave released the official Yocto BSP for its i.MX6 Pico-ITX SBC board (iW-RainboW-G15S). The release is based on Linux 3.10.17 kernel and supports the following features: i.MX6 ARM Cortex A9 Quad, Dual, Dual Lite & Solo CPU 1GB DDR3 RAM (Quad, Dual, Dual Lite CPU version)/ 512MB DDR3 (Solo CPU version) Freescale PMIC SPI NOR Flash (default boot) eMMC Flash (default OS storage) Data UART uSD slot Standard SD slot USB 2.0 Host USB 2.0 device 10/100/1000 Ethernet Mini PCIex1 Port CAN Port LVDS display port 4 Wire Resistive touch PWM for backlight HDMI Port with Audio Hardware Codecs (Encode/Decode) 2D/3D Graphics CMOS CSI camera port MIPI CSI camera port AC97 Audio In/Out Console UART I2C Port DIP Switch, Status LEDs (GPIOs) This release supports single BSP, Binary image & MFG tool for all the four i.MX6 CPU version (Quad/Dual/Dual Lite/Solo) based SBC boards. Besides this Linux BSP support, Android Jelly Bean and WEC7 board support packages also supported for the i.MX6 Pico SBC boards by iWave systems. More details about the i.MX6 Pico SBC board hardware & software features can be found in the following i.MX6 Pico SBC product page:http://www.iwavesystems.com/product/single-board-computer/i-mx6-pico-itx-sbc/i-mx6-pico-itx-sbc.html
View full article
usbdemon Added by Terry Shultz on August 3, 2010 at 4:04pm    
View full article
Consult the Quick Start Board for SCM-i.MX 6DQ  PCB diagram , THANK YOU !!!
View full article
iWave's PICO-ITX board embedded with i.MX6 Quad core processor loaded with Yocto-Dora 1.5.3 now is capable of capturin g and streaming full HD (1080p) video from an on-board camera. Not only it can stream 1080p full HD video to a destined host machine, it is also capable of streaming two 1080p (2 streams) simultaneously at 24fps. In some of the use case scenario, user may want to stream two streams of different resolutions like 1080p and 720p simultaneously. Where high resolution on faster network and low resolution on low bandwidth network, in such use case scenario it is possible to stream multiple streams at various resolutions. The differentiating feature in this system is, it can encode and stream multiple streams simultaneously at maximum 1080p resolution or lesser.  The maximum streaming achieved on all i.MX system earlier was VGA. The possible application of this system could be surveillance and streaming server at full HD resolution. Dual Video Streaming using i.MX6 Dual Pico-ITX Single Board Computer Imagine a system which has two independent displays and can run different content from the embedded computer at the same time. iWave has developed this system with i.MX 6 processor based PICO-ITX platform running Yocto-Dora(1.5) is now equipped with such feature. The system can decode and play two different HD (1080p@24fps) videos at the time using two LVDS displays. For further information or enquiries please write to mktg@iwavesystems.com
View full article
img-0003-fsl-ptx Added by Robert Schwebel on November 10, 2010 at 6:46pm Pengutronix shows Linux on i.MX28    
View full article
http://www.youtube.com/watch?feature=player_embedded&v=P1lycaQF6Nk   Uploaded by igalloway on Jul 21, 2011 Future Display Solutions Future Electronics Display Solutions Group is excited to re-launch the Future's Panel Interface Board (PIM). This is an enabler to help our customer designing Freescale I.MX and LCDs. With the Future's Panel Interface Module, customer can use Freescale i.MX evaluation kits to drive different displays of their choice for evaluation and prototyping.       We can provide full solutions for the customers including:   - Panel Interface Module (Free for qualified customers) - I.MX Evaluation Kits (EVK) - LCD Displays - Backlight Drivers - Cables Category: Science & Technology License: Standard YouTube License  
View full article
Currently in industries from medical diagnostics and transportation to precision agriculture and entertainment, engineers are increasingly challenged to find new ways to design in greater intelligence, connectivity, and performance—while cutting costs, power consumption and size. Single Board Computers (SBC) are an ideal platform for quick and focused product design. They continue to evolve in sophistication, and the range of possibilities continues to expand as well. And as those capabilities grow, so do the choices for design engineers. But what are the factors that matter most in SBC evaluation and selection? http://www.digi.com/pdf/Design_vs_Build_web.pdf
View full article
This document will explain Cairo setup to draw something on screen with hardware accelerates using OpenGL ES 2.0 or OpenVG.   Introduction:   As you know you can use those libraries that I mentioned (OpenGL ES and OpenVG) to draw on frame buffer with hardware accelerate on imx6q but using those libraries are a little bit hard to deal what I mean is that using OpenGL or OpenVG  is a kind of tough job but why? Let me bring an example here to clarify it, Imagine you want to draw an attitude aircraft symbol, this symbol needs some of elements to be drawn to look like a complete attitude symbol it includes: 1-Circle 2-line 3-Text 4-Triangle 5-some custom shapes for instance two L like lines that draw horizontally   If you have an experience with OpenGL specially OpenGL ES you’ll realize that drawing circle, line, triangle and so forth doesn’t a really tough job, of course drawing these primitive in OpenGL needs more lines of code in contrast with Cairo API that you can draw them with just three lines of code but the most hard job is drawing TEXT in OpenGL when you want to draw a simple text you have to deal with extra libraries like freetype,… to fetch the glyph features and then you can using atlas approach to draw text in a bitmap texture then when you need a character in your app  you can access to the character’s position in previous stored glyph in the texture, fetch and use, also you need to work with two specific OpenGL ES shaders in this case.   So I think it’s ok to use OpenGL or OpenVG to draw shapes if you are really skilled with those or if you looking for trouble! 😄 personally I prefer to use a high level API and then focus on other aspect of my application.   Compiling Cairo:   This document doesn’t intend to configure or compile Cairo, I’m sure that you can easily configure and compile it with OpenGL ES backend with YOCTO, Buildroot or any other embedded Linux distribution builders (YOCTO and Buildroot aren’t an embedded Linux distributions they can make custom one for you) even you can compile it manually.   To configure: ./configure --prefix=/home/super/Desktop/ROOTFS/MY_ROOTFS/usr --host=${CROSS_COMPILE} CFLAGS="-I/home/super/Desktop/ROOTFS/MY_ROOTFS/usr/include/ -DLINUX -DEGL_API_FB" LIBS="-L/home/super/Desktop/ROOTFS/MY_ROOTFS/usr/lib/ -lz" --enable-xlib=no --enable-egl --enable-glesv2   To compile: make     By the way you can find your suitable configuration for your own board; Cairo has a lot of options.     How to make surface for Cairo:   If you have an experience drawing shapes with Cairo you know that you need a surface from cairo_t* type to drawing function API can work on and shapes appear on the screen. To create a Cairo surface that uses OpenGL ES you have to configure EGL (EGL is an interface between Khronos rendering APIs (such as OpenGL, OpenGL ES or OpenVG) and the underlying native platform windowing system)[1] correctly and then make a Cairo surface from it.                    EGLint config_attributes[] =                 {                                                EGL_RENDERABLE_TYPE,                                                EGL_OPENGL_ES2_BIT,                                                EGL_RED_SIZE, 8,                                                EGL_GREEN_SIZE, 8,                                                EGL_BLUE_SIZE, 8,                                                EGL_ALPHA_SIZE,EGL_DONT_CARE,                                                EGL_SURFACE_TYPE,EGL_WINDOW_BIT,                                                EGL_DEPTH_SIZE, 16,                                                EGL_SAMPLES,      4,                                                EGL_NONE                 };   When you want to change OpenGL ES v 2.0 with OpenVG it’s enough that change the parameter of EGL_RENDERABLE_TYPE (that is EGL_OPENGL_ES2_BIT) to EGL_OPENVG_BIT.   The below code will appear Figure 1 on screen:     Figure 1:Simple drawing by Cairo on IMX6Q     //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   //======================================================================== // Name        : testCairo.cpp // Author      : Ali Sarlak // Version     : 1.0 // Copyright   : GPL // Description : EGL+Cairo GLIB //========================================================================   #include <iostream> #include <stdio.h> #include <EGL/egl.h> #include <EGL/eglext.h> #include <EGL/eglplatform.h> #include <cairo/cairo-gl.h> #include <EGL/eglvivante.h> #include <stdlib.h>     #define DISPLAY_WIDTH 640 #define DISPLAY_HEIGHT 480 using namespace std;   int main() {     printf("START\n");     printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");     EGLContext eglContext;     EGLSurface eglSurface;     EGLBoolean resultB;       /* Get a display handle and initalize EGL */     EGLint major, minor;     EGLDisplay eglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY);       resultB = eglInitialize(eglDisplay, &major, &minor);       EGLint config_attributes[] =     {             EGL_RENDERABLE_TYPE,             EGL_OPENGL_ES2_BIT,             EGL_RED_SIZE, 8,             EGL_GREEN_SIZE, 8,             EGL_BLUE_SIZE, 8,             EGL_ALPHA_SIZE,EGL_DONT_CARE,             EGL_SURFACE_TYPE,EGL_WINDOW_BIT,             EGL_DEPTH_SIZE, 16,             EGL_SAMPLES,      4,             EGL_NONE     };       EGLint numberConfigs = 0;     EGLConfig* matchingConfigs=NULL;       if (EGL_FALSE             == eglChooseConfig(eglDisplay, config_attributes, NULL, 0, &numberConfigs))     {         printf("eglChooseConfig EROR\n");     }     if (numberConfigs == 0)     {         printf("eglChooseConfig EROR\n");     }       printf("number of configs = %d\n", numberConfigs);     /* Allocate some space to store list of matching configs... */     matchingConfigs = (EGLConfig*) malloc(numberConfigs * sizeof(EGLConfig));       if (EGL_FALSE  == eglChooseConfig(eglDisplay, config_attributes, matchingConfigs, numberConfigs, &numberConfigs))     {         printf("eglChooseConfig EROR\n");         if(matchingConfigs!=NULL)         {             free(matchingConfigs);             matchingConfigs=NULL;         }         return -1;     }       printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");       EGLint display_attributes[] =     {             EGL_WIDTH, DISPLAY_WIDTH,             EGL_HEIGHT, DISPLAY_HEIGHT,             EGL_NONE };       /*Window attributes*/     EGLint window_attribList[] =     {             EGL_NONE     };       EGLNativeDisplayType eglNativeDisplayType = fbGetDisplay(0);       EGLNativeWindowType eglNativeWindow = fbCreateWindow(eglNativeDisplayType,             0,             0,             DISPLAY_WIDTH,             DISPLAY_HEIGHT);       eglSurface = eglCreateWindowSurface(eglDisplay,matchingConfigs[0],eglNativeWindow,window_attribList);       if (eglSurface == EGL_NO_SURFACE)     {         printf("eglSurface = %x\n", eglGetError());     }       const EGLint attribListCtx[] =     {             // EGL_KHR_create_context is required             EGL_CONTEXT_CLIENT_VERSION, 2,             EGL_NONE     };       eglContext = eglCreateContext(eglDisplay, matchingConfigs[0], EGL_NO_CONTEXT,  attribListCtx);      //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     if (eglContext == EGL_NO_CONTEXT)     {         printf("eglContext = %x\n", eglGetError());         return -1;     }       cairo_device_t* cdt = cairo_egl_device_create(eglDisplay, eglContext);       eglMakeCurrent(eglDisplay, eglSurface, eglSurface, eglContext);       cairo_surface_t *surface = cairo_gl_surface_create_for_egl(cdt, eglSurface,             DISPLAY_WIDTH,DISPLAY_HEIGHT);         cairo_t *cr = nullptr;     cr = cairo_create(surface);     if(!cr)     {         printf("Wrong cairo_t!\n");         return -1;     }     //*********************************************************************************************     for (int index = 0; index < 1; ++index) {         cairo_set_source_rgb (cr, 0, 0, 0);           cairo_move_to (cr, 0, 0);         cairo_line_to (cr, 200, 200);         cairo_move_to (cr, 200, 0);         cairo_line_to (cr, 0, 200);         cairo_set_line_width (cr, 1);         cairo_stroke (cr);           cairo_rectangle (cr, 0, 0, 100,100);         cairo_set_source_rgba (cr, 1, 0, 0, 0.8);         cairo_fill (cr);          cairo_rectangle (cr, 0, 100, 100, 100);         cairo_set_source_rgba (cr, 0, 1, 0, 0.60);         cairo_fill (cr);          cairo_rectangle (cr, 100, 0, 100, 100);         cairo_set_source_rgba (cr, 0, 0, 1, 0.40);         cairo_fill (cr);          cairo_rectangle (cr, 100, 100, 100, 100);         cairo_set_source_rgba (cr, 1, 1, 0, 0.20);         cairo_fill (cr);          cairo_surface_flush(surface);         eglSwapBuffers(eglDisplay,eglSurface);     }       //to check that cairo can make the photo from the surface, png file created     cairo_status_t s = cairo_surface_write_to_png(surface, "surface.png");     //it is a photo that made by cairo [OK]     cairo_destroy(cr);      if (CAIRO_STATUS_SUCCESS == s)     {         printf("Status = OK \n");     }     else     {         printf("Status = ERROR <ERROR_CODE->%d>\n", s);     }      if(matchingConfigs!=NULL)     {         free(matchingConfigs);         matchingConfigs=NULL;     }       cairo_surface_destroy(surface);     printf("END!\n");     return 0; }     How To Be Sure That My Application Using GPU:   If you have a look at https://community.nxp.com/thread/324670 you can profile a graphical application and investigate if it uses GPU or not, also you can measure the performance and analyze the application by vAnalyzer.       According to the link I’ve mentioned that’s enough to set galcore.gpuProfiler=1 in uboot and then check the /sys/module/galcore/parameters/gpuProfiler   file (read the file by cat, vi, nano, etc.) if the output is 1 all things is done in a right way the final step is that exporting some environment variables :   export VIV_PROFILE=1 export VP_OUTPUT=sample.vpd export VP_FRAME_NUM=1000 export VP_SYNC_MODE=1   VIV_PROFILE[0,1,2,3], VP_OUTPUT[any string], VP_FRAME_NUM[1,N], VP_SYNC_MODE[0,1]   Note: VIV_PROFILE[0] Disable vProfiler (default), VIV_PROFILE [1] Enable vProfiler, VIV_PROFILE [2] Control via application call, VIV_PROFILE [3]Allows control over which frames to profile with vProfiler by VP_FRAME_START and VP_FRAME_END.     If application uses GPU smaple.vpd file will create if not there isn't any vpd file. [1] - https://www.khronos.org/egl
View full article
​ Horw, Switzerland: Toradex announced it has joined Microsoft Azure Certified for Internet of Things (IoT), ensuring customers develop and deploy IoT solutions quickly with hardware and software that has been pre-tested and verified to work with Microsoft Azure IoT services. Microsoft Azure Certified for IoT allows businesses to reach customers where they are, working with an ecosystem of devices and platforms, enabling faster time to production. Toradex offers robust and compact embedded computing solutions encompassing System on Modules (SOMs) and Customized Single Board Computers (SBC), which are used in variety of industries such as Industrial Automation, Medical, Automotive, Robotics and many more. Toradex modules are ideal for quickly creating proof-of-concepts as well as scaling seamlessly from prototypes to tens of thousands of devices without the need to redesign the embedded computer. This reduces risk and time to market. A list of certified Toradex Apalis and Colibri SOMs can be found here. Toradex will be offering a webinar on “Getting Started with Azure IoT on Devices”. Free registration can be done here. “Microsoft Azure Certified for IoT validates our ability to jumpstart customers’ IoT projects with pre-tested hardware and operating system combinations,” said Stephan Dubach, CEO, Toradex. “Decreasing the usual customization and work required for compatibility ensures Toradex helps customers get started quickly on their IoT solution.” “Microsoft Azure Certified for IoT extends our promise to bring IoT to business scale, starting with interoperable solutions from leading technology companies around the world,” said Barb Edson, general manager for Data Platform and Internet of Things, Microsoft. “With trusted offerings and verified partners, Microsoft Azure Certified for IoT accelerates the deployment of IoT even further.” IoT projects are complex and take a long time to implement. Customers find that choosing and connecting the right set of devices, assets or sensors to the cloud can be time-consuming. To jumpstart their IoT projects with confidence, customers are looking for certified devices and platforms that are tested for readiness, compatibility and usability with the Microsoft Azure IoT Suite. By choosing a partner from the Microsoft Azure Certified for IoT program, customers can save time and effort on project specs and RFP processes by knowing in advance what devices and offerings will work with the Azure IoT Suite. To learn more about Azure IoT Suite, click here. About Toradex Toradex is a Swiss based company with offices around the world, offering ARM based System on Modules (SOMs) and Customized SBCs. Powered by NXP®/Freescale i.MX 6, i.MX 7 & Vybrid, and NVIDIA ® Tegra processors, the pin compatible SOMs offer scalability in terms of price, performance, power consumption, and I/Os. Complemented with direct online sales and long-term product availability, Toradex offers direct premium support and ex-stock availability with local warehouses.
View full article
DSC_0059 Added by iWavesystems on April 3, 2012 at 8:41am    
View full article
i.MX6 Q7 Development Kit       The Development Platform incorporates Q7 compatible i.MX6 SOM which is based on Freescale’s i.MX 6 Series 1.2GHz multimedia focused processor and Generic Q7 compatible Development Board. This platform can be used for quick prototyping of any high end applications in verticals like Automotive, Industrial  & Medical. Being a nano ITX form factor with 120mmx120mm size, the board is highly packed with all necessary onboard connectors to validate complete i.MX6 CPU features.   Benefits Simple, low cost and yet rugged assembly thanks to the industrial temperature grade and compact (120 x 120 - Nano ITX) form factor Simple and low-cost integration thanks to the on-board standard interfaces (uSD, USB and Memory) Lowest power consumption. Typical power consumption      Highlights Ideal for quick development Shortens product development life cycle Quick customization can be done in a very shorter period Suitable for validation of any R1.20 Q7 compatible module      Features Display: 7" 800x480 TFT LCD, VGA Port/ TV Out, HDMI Port*, LVDs Display connector* Touch Panel: Resistive Touch Capacitive touch* Video Input: Camera Interface*, TV IN* Audio: External Audio Codec, Headphone/ Mic Jacks PCIe: PCIe Mini Card*, PCIex1 Port* USB: USB2.0 Device - Mini AB connector, USB2.0 Host 2 ports - Type A Connector Serial: UART - DB9 connector Storage:SATA Port1 - 7P Connector*, SATA Port2 - 22P Connector*, Standard SD Slot Communication:10/100Mbps Ethernet - RJ45 Jack, 802.11b/g/n Wi-Fi Module*, CAN Port - DB9 connector* Power: 12V DC Input, On-board RTC coin Battery Form Factor: 120 x 120 - Nano ITX Temperature supported: 0 to 60 oC      Target Applications Industrial/Medical Green Energy Controller Panel PC, High-end PDAs, Secure Devices, Industrial appliance Control, Automotive In Vehicle Infotainment Systems Medical HMI, Kiosks, POS, General Embedded     Click here for more details on the i.MX 6 Q7 Development Kit by iWave
View full article