i.MX解决方案知识库

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

i.MX Solutions Knowledge Base

标签

讨论

排序依据:
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
查看全文
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
查看全文
Technical Session Added by iWavesystems on June 26, 2012 at 3:45am    
查看全文
iWave’s Rainbow-G15S is the industry first i.MX6 Dual Lite/ Solo ARM Cortex™-A9 core CPU based Single Board Computer. SBC is also compatible with i.MX6 Quad & Dual processors.i.MX6 Pico ITX SBC is packed with full set of features in just 100mm x 72mm Pico- ITX form factor with Extended temperature support. SBC provides increased performance in verticals like “Intelligent Industrial Control Systems, Industrial Human Machine Interface, Digital Signage, Ultra-Portable Devices, Home Energy Management Systems and Portable Medical Devices”. i.MX6 SBC by default supports 512MB DDR3 RAM which is expandable if required and boots with on-board 2GB eMMC flash. i.MX6 SBC works with 5V power input through 2.5mm Power jack. i.MX6 SBC supports AC97 Audio through 3.5mm Stereo Out Jack and MIC IN header, Two USB2.0 Host ports, HDMI display port, Gigabit Ethernet through RJ45 Magjack, USB2.0 OTG port through Micro AB connector, LVDS Display interface with Backlight and Resistive Touch connector, Optional RTC battery on-board, uSD Slot for storage, MIPI Camera connector, CMOS camera connector, Debug port through USB Micro AB connector and 84pin Expansion connector for additional interfaces like UARTs, I2C, SPI, CAN, CSI, MIPI DSI, LVDS & GPIOs for expansion purpose. It also supports Standard SD slot for Wifi or Memory card interface, Mini PCIe connector with PCIe and USB interface to connect Wifi Module or 3G Module or other mini PCIe modules. i.MX6 Pico ITX SBC suports Linux BSP by default. iWave also supports Android & WEC7 BSP on request. With all its exhaustive set of features and interfaces in place, Rainbow-G15S is the perfect choice for decreasing your product development life cycle and cost, shortening the time to market. E-mail: mktg@iwavesystems.com Website: www.iwavesystems.com
查看全文
The MYC-Y6ULX CPU Module is covered with shield and powered by NXP i.MX 6UltraLite / 6ULL processor based on the ARM Cortex-A7 architecture. With a choice of G2 and Y2 sub family processors running at 528MHz and integrated with 256MB DDR3 and 256MB Nand Flash (4GB eMMC Flash is optional), the MYC-Y6ULX module delivers high performance with ultra-efficient power that targets Industry Control, Communications, HMI, Smart Healthcare and Internet of Things (IoT) applications. It carries out as many as peripheral signals and IOs through 1.0mm pitch 140-pin stamp hole expansion interface to allow customer’s extension for their next embedded design. The module is ready to run Linux and can support industrial operating temperature range from -40 to +85 Celsius. MYIR's MYC-Y6ULX CPU Module has three standard parts.They have passed Verification of EMC Compliance. This document provides the CE certification of this module.          MYC-Y6ULX CPU Module Part No. MYC-Y6ULG2-256N256D-50-I MYC-Y6ULY2-256N256D-50-C MYC-Y6ULY2-4E512D-50-C MYC-Y6ULY2-256N256D-50-I MYC-Y6ULY2-4E512D-50-I Processor MCIMX6G2CVM05AB MCIMX6Y2DVM05AB MCIMX6Y2DVM05AA MCIMX6Y2CVM05AB MCIMX6Y2CVM05AB RAM 256MB DDR3 256MB DDR3 512MB DDR3 256MB DDR3 512MB DDR3 Flash 256MB Nand Flash 256MB Nand Flash 4GB eMMC 256MB Nand Flash 4GB eMMC Working Temp. -40 to +85 Celsius 0 to +70 Celsius 0 to +70 Celsius -40 to +85 Celsius -40 to +85 Celsius   Five Models of MYC-Y6ULX (default configurations)
查看全文
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
查看全文
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
查看全文
usbdemon Added by Terry Shultz on August 3, 2010 at 4:04pm    
查看全文
Consult the Quick Start Board for SCM-i.MX 6DQ  PCB diagram , THANK YOU !!!
查看全文
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
查看全文
img-0003-fsl-ptx Added by Robert Schwebel on November 10, 2010 at 6:46pm Pengutronix shows Linux on i.MX28    
查看全文
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  
查看全文
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
查看全文
Measuring 60mm by 49mm, the MYC-C8MMX CPU Module is a high-performance and cost-effective ARM SoM powered by i.MX 8M Mini which is NXP's first embedded multi-core heterogeneous applications processors built using advanced 14LPC FinFET process technology. The MYC-C8MMX CPU Module provides an outstanding embedded solution for Home and Building Control, IOV, Industrial and Medical Instruments, Human Machine Interface (HMI) and more other general purpose industrial and IoT applications which require optimized power consumption while maintaining high-performance. It is a minimum system integrated with CPU, 2GB DDR4, 8GB eMMC, 32MB QSPI Flash, GigE PHY and PMIC. All controller signals are brought out through two 0.8mm pitch 100-pin Expansion Connectors. It is capable of running Linux and Android OS and provided with plenty of software resources.                         MYC-C8MMX CPU Module Top-view                                         MYC-C8MMX CPU Module Bottom-view   MYIR offers MYD-C8MMX development board for evaluating the MYC-C8MMX CPU Module, the base board has taken great media capabilities of the i.MX 8M Mini processor to provide MIPI-DSI, MIPI-CSI, LVDS interfaces and Audio In/Out ports. It also has strong communication connectivity with 2 x USB 2.0 Host ports and 1 x Micro USB 2.0 Host/Device port, Gigabit Ethernet, MicroSD card slot, USB based Mini PCIe interface for 4G LTE Module, WiFi/Bluetooth and NVMe PCIe M.2 2280 SSD Interface. MYIR can offer design services to help customize the base board according to customers’ requirements.                                                    MYD-C8MMX Development Board Top-view                                                     MYD-C8MMX Development Board Bottom-view   MYIR offers commercial and industrial grades options for CPU Modules. More information can be found at: http://www.myirtech.com/list.asp?id=617
查看全文
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
查看全文
以下代码摘抄自:uboot 2009源码中board/Freescale/mx6q_sabreauto/flash_header.S #include <config.h> #include <asm/arch/mx6.h> #ifdef CONFIG_FLASH_HEADER #ifndef CONFIG_FLASH_HEADER_OFFSET # error "Must define the offset of flash header" #endif #define CPU_2_BE_32(l) \ ((((l) & 0x000000FF) << 24) | \ (((l) & 0x0000FF00) << 😎 | \ (((l) & 0x00FF0000) >> 😎 | \ (((l) & 0xFF000000) >> 24)) #define MXC_DCD_ITEM(i, addr, val) \ dcd_node_##i: \ .word CPU_2_BE_32(addr) ; \ .word CPU_2_BE_32(val) ; \ .section ".text.flasheader", "x" b _start .org CONFIG_FLASH_HEADER_OFFSET ivt_header: .word 0x402000D1 /* Tag=0xD1, Len=0x0020, Ver=0x40 */ app_code_jump_v: .word _start reserv1: .word 0x0 dcd_ptr: .word dcd_hdr boot_data_ptr: .word boot_data self_ptr: .word ivt_header app_code_csf: .word 0x0 reserv2: .word 0x0 boot_data: .word TEXT_BASE image_len: .word _end_of_copy - TEXT_BASE + CONFIG_FLASH_HEADER_OFFSET plugin: .word 0x0 dcd_hdr: .word 0x40D802D2 /* Tag=0xD2, Len=90*8 + 4 + 4, Ver=0x40 */ write_dcd_cmd: .word 0x04D402CC /* Tag=0xCC, Len=90*8 + 4, Param=0x04 */ #include <config.h> #include <asm/arch/mx6.h> #ifdef CONFIG_FLASH_HEADER #ifndef CONFIG_FLASH_HEADER_OFFSET # error "Must define the offset of flash header" #endif #define CPU_2_BE_32(l) \ ((((l) & 0x000000FF) << 24) | \ (((l) & 0x0000FF00) << 😎 | \ (((l) & 0x00FF0000) >> 😎 | \ (((l) & 0xFF000000) >> 24)) #define MXC_DCD_ITEM(i, addr, val) \ dcd_node_##i: \ .word CPU_2_BE_32(addr) ; \ .word CPU_2_BE_32(val) ; \ .section ".text.flasheader", "x" b _start .org CONFIG_FLASH_HEADER_OFFSET ivt_header: .word 0x402000D1 /* Tag=0xD1, Len=0x0020, Ver=0x40 */ app_code_jump_v: .word _start reserv1: .word 0x0 dcd_ptr: .word dcd_hdr boot_data_ptr: .word boot_data self_ptr: .word ivt_header app_code_csf: .word 0x0 reserv2: .word 0x0 boot_data: .word TEXT_BASE image_len: .word _end_of_copy - TEXT_BASE + CONFIG_FLASH_HEADER_OFFSET plugin: .word 0x0 dcd_hdr: .word 0x40D802D2 /* Tag=0xD2, Len=90*8 + 4 + 4, Ver=0x40 */ write_dcd_cmd: .word 0x04D402CC /* Tag=0xCC, Len=90*8 + 4, Param=0x04 */ 我的疑问是上面代码标红的部分的意义是什么?确切的说,IMX6Q既然规定了IVT在不同的boot devices中的偏移地址,比如我的应用场景是emmc,偏移地址是0x400(1K),那么我的uboot镜像完全可以按照:IVT+uboot本体的格式来构建,这样一来当使用mfg工具烧写uboot镜像时就可以用以下的命令来执行: <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=512 seek=2 ">write U-Boot to sd card</CMD> 而不是默认的命令(跳过uboot.bin前0x400的字节): <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=512 seek=2 skip=2">write U-Boot to sd card</CMD> 这样看,那么flash_header.S前面的0x400字节是不是多余的呢,还是有什么特别的用处,如果直接把这种uboot.bin烧写到emmc的0x400处(不跳过uboot.bin前0x400的字节,即b _start, .org CONFIG_FLASH_HEADER_OFFSET),那是不是就直接会调整到_start函数开始执行,而不会进行DCD相关的配置?
查看全文
Human Machine Interface (HMI) is a graphical interface between the user and the machine that allows humans to interact with machines, thus helping us effectively control equipment as well as getting real time data acquisition. Nowadays HMIs are widely used in countless sectors like electronics, entertainment, automation, industry, military, medical, etc. A user-friendly HMI can help increase productivity by having a centralized control system. The MYD-Y6ULX-CHMI Display Panel introduced by MYIR is specially designed for HMI applications which is based on NXP’s i.MX 6UL / 6ULL ARM Cortex-A7 processors. It is ready to run Linux and consists of an MYD-Y6ULX-HMI Development Board and a 7-inch capacitive LCD mounting on its top. It is delivered with necessary cable accessories including one 12V/2A power adapter with four types of conversion plugs, one power switch cable and a quick start guide to help user start to use right away when getting it out of box.                                              MYD-Y6ULX-CHMI Display Panel    MYIR also offers an add-on optional IO board MYB-Y6ULX-HMI-4GEXP for the MYD-Y6ULX-CHMI Display Panel to further extend the functionality of the panel including one more Ethernet, WiFi & BT, USB based 4G LTE Module Mini-PCIe interface, Audio and GPIOs, thus making a complete solution for HMI applications. The IO board is delivered with one WiFi antenna and one 4G antenna but 4G module is told only as an option and user can contact MYIR for details.                                                  MYB-Y6ULX-HMI-4GEXP IO Board Let’s know more about the MYD-Y6ULX-CHMI Display Panel. The MYD-Y6ULX-HMI Development Board can support DC 12V~24V power supply. It is built around the MYC-Y6ULX CPU Module which has a compact design, measuring only 37mm by 39mm. It has integrated the i.MX 6UL/6ULL processor, DDR3, NAND FLASH/EMMC and was well soldered onto the base board through its 1.0mm pitch 140-pin Stamp Hole (Castellated-Hole) Expansion Interface which is cost-effective but with high reliability and strong vibration resistance. The 7-inch LCD provided by MYIR offers 800x480 pixels display resolution with a capacitive touch screen. Separate the LCD from the MYD-Y6ULX-HMI board, we can see on the back of the board there is one LCD interface (16-bit RGB), one capacitive touch screen interface and one resistive touch screen interface. The i.MX 6UL/6ULL series processors can support maximum 1366 by 768 pixels display resolution. On the MYD-Y6ULX-HMI board, from left to right, we can see one 2-pin 3.81mm pitch phoenix connector for 12V~24V DC power input (one power switch cable was provided), one 3-wire RS232 serial port and one RS485 serial port from the 6-pin phoenix connector, one 10/100Mpbs Ethernet port, one USB Host port (Type A), one Micro USB OTG port and one TF card slot. Near the TF card slot, there is one 2.54mm 3-pin header for Debug port and RTC battery holder. On the other side of the board, there is one 8-bit parallel camera interface, buzzer and one reset button.   The MYD-Y6ULX-HMI board has two 2.0mm pitch 2*20-pin headers for IO extension. The MYB-Y6ULX-HMI-4GEXP is just an IO extension board designed by MYIR.     The MYD-Y6ULX-CHMI is ready to run Linux operating system. MYIR has built an application demo MEasy HMI to run on this platform. The MEasy HMI is a frame of human-machine interfaces which contains a local HMI based on QT5 and a Web HMI based on Python2 back end and HTML5 front-end. The dependency software includes dbus, connman and QT5 applications, python, tornado and other components. The MEasy HMI block diagram is shown as below:   The MEasy HMI uses D-Bus as the access interface for the QT application and the underlying hardware. MYIR provides a complete set of control and communication interfaces for RS232, RS485, CAN and LED and encapsulates the interface into a library for external use based on D-BUS Method and Signal. The MEasy HMI uses Connman to control network devices. Connman is a fully modular system that can be expanded by plug-in to support the management of EtherNet,    WIFI, 3G/4G, Bluetooth and other network devices.     The directory structure of MEasy HMI is shown as below.        User can get more information about the MYD-Y6ULX-CHMI from MYIR’s website: http://www.myirtech.com/list.asp?id=604
查看全文
use AdvancedToolKit1.71 earse NANDFLASH,display error ,why ?      FLASH     K9F2G08U0C-SIB0
查看全文
​ 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.
查看全文