i.MX解决方案知识库

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

i.MX Solutions Knowledge Base

标签

讨论

排序依据:
iWave now has released the official Yocto BSP for its i.MX6 Qseven modules (iW-RainboW-G15M-Q7) and development kit variants. 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 PCIex1 Port SATA Port CAN Port LVDS display port (Dual) PWM for backlight HDMI Port with Audio 7”TFT LCD with capacitive touch Hardware Codecs (Encode/Decode) 2D/3D Graphics CMOS CSI camera port MIPI CSI camera port AC97 Audio In/Out Console UART RTC (i.MX6 Internal) I2C Port Sensors Watchdog GPIOs This release supports single BSP, Binary image & MFG tool for all the four i.MX6 CPU version (Quad/Dual/Dual Lite/Solo) based Qseven SOMs. Besides the Linux Yocto BSP support, Android Jelly Bean and Windows Embedded Compact 7 (WEC7) board support packages are also supported for the i.MX6 Qseven modules (Rainbow G15M-Q7) by iWave. More details about the i.MX6 Qseven modules (Rainbow G15M-Q7) hardware & software features can be found in the i.MX6 Qseven SOM product page.
查看全文
This post is about adding cellular modem support on the Boundary Devices i.MX6 boards under Ubuntu.  Many customers have requested cellular modem support on our i.MX6 boards (BD-SL-i.MX6, Nitrogen6X, Nitrogen6_Lite and Nitrogen6_MAX).  Since most cell modems are USB or PCIe devices, configuration is a software task, and mostly done in userspace. The steps are also different for Android, embedded Linux and desktop distributions.  In other words, its complicated. In this post, we’ll walk through all of the steps needed to configure a specific set of modems under Ubuntu as a reference. If you’re using another modem or another userspace, the details may be different, but the fundamentals will be the same. We used the Huawei E3131 USB dongle , and Huawei MU609 Mini-PCIe during this process, and will be adding them to our default kernels going forward. As you can see in this patch, we did have to add some USB device ids and make minor updates to the kernel as provided by the vendor. In the process, we should now also support the following Huawei models for various regions and carriers: MC323   CDMA: Downlink:153.6 kbps, Uplink: 153.6 kbps MU509   WDCMA: Downlink:3.6 Mbps, Uplink: 384 kbps MC509   EVDO: Downlink:3.1 Mbps, Uplink: 1.8 Mbps MU609   HSPA+: Downlink:14.4 Mbps, Uplink: 5.76 Mbps MU709   HSPA+: Downlink:21.6 Mbps, Uplink: 5.76 Mbps ME906   LTE: Downlink:100 Mbps, Uplink: 50 Mbps ME909   LTE: Downlink:100 Mbps, Uplink: 50 Mbps ME936   LTE: Downlink:100 Mbps, Uplink: 50 Mbps For more details including links to images as well as detailed descriptions on how to implement, please visit this blog post:  http://boundarydevices.com/cellular-modems-on-i-mx6-boards/
查看全文
The BD-SL-i.MX6 formerly SABRE Lite board is a low cost i.MX6 development platform.  One of the best attributes of the board is the significant software support that is available.  This post introduces Qt5.4 from the QT Company.  The video below shows The Qt Company’s enterprise device creation offering, a Qt-optimized pre-built software stack that lets you immediately get started with prototyping on a real device for embedded Linux and Android development.  The demo is running Qt5.4 and the image is available for the BD-SL-i.MX6 as well as our Nitrogen family of products.  Here is a brief video showing some of the capabilities: The video above showed an image created for embedded Linux, and more specifically, built using tools from The Yocto Project and The Freescale Community BSP. Because of this, your products can leverage the packages provided by those projects, and you can use the Yocto build system to integrate your components and tailor your build. For more details, visit http://qt.io or http://boundarydevices.com/qt-for-device-creation/
查看全文
This is a demo of the Nitrogen6X with BD_HDMI_MIPI daughter board. The Nitrogen6X is an i.MX6-based Single Board Computer (SBC) designed for both development and production use.  The BD_HDMI_MIPI daughter board utilizes the Toshiba TC358743XBG HDMI to MIPI CSI part to convert the HDMI signals to MIPI. The BD_HDMI_MIPI can be used with our Nitrogen6X, BD-SL-i.MX6, Nitrogen6_MAX boards as well as the Nitrogen6X_Carrier.  The daughter board can be used for evaluation as well as software development.  Please contact Boundary Devices for custom version. This demo shows the Nitrogen6X running Yocto based on 3.10.17 kernel and displaying the output of our Nitrogen6X_SOM on a 10.1" LG BD101LIC1 display.
查看全文
This video is showing BCM PPC10W-6MXQ ARM Panel PC equipped with i.MX6 Cortex A9 Quad Core ARM motherboard supporting secondary display via HDMI output
查看全文
This video is showing the BCM AR6MXQ i.MX6 Cortex A9 Quad Core ARM Motherboard running with Linux OS and playing two different HD contents on dual screen
查看全文
Product Features: SMARC Development kit pre-loaded with Android OS Kit includes: (1). REV-SA01 SMARC Evaluation Carrier Board in 3.5" SBC Form Factor (2). SMA-IMX6QI Quad Core SMARC Module (3). Power Adapter: AC Input: 100-240V DC Output: 5.0V (4). Power Cable (5). Mini-USB Cable (6). Pre-loaded OS on onboard eMMC
查看全文
Product Features: SMARC Development kit pre-loaded with Linux OS Kit includes: (1). REV-SA01 SMARC Evaluation Carrier Board in 3.5" SBC Form Factor (2). SMA-IMX6QI Quad Core SMARC Module (3). Power Adapter: AC Input: 100-240V DC Output: 5.0V (4). Power Cable (5). Mini-USB Cable (6). Pre-loaded OS on onboard eMMC
查看全文
Product Features: SMARC Development kit pre-loaded with Yocto OS Kit includes: (1). REV-SA01 SMARC Evaluation Carrier Board in 3.5" SBC Form Factor (2). SMA-IMX6QI Quad Core SMARC Module (3). Power Adapter: AC Input: 100-240V DC Output: 5.0V (4). Power Cable (5). Mini-USB Cable (6). Pre-loaded OS on onboard eMMC
查看全文
Optimizing ARM Cortex-A9 support in Windows Embedded Compact     A Discussion of random hangs and other issues using Windows Embedded Compact on Freescale i.MX6 Application Processor and how they were solved By Adeneo Embedded Engineering Team Rev 1.0, November 2014 Summary Over the last year Adeneo Embedded has been confronted with reports of random processor deadlocks and operating system crashes from customers using our Freescale i.MX6 Windows Embedded Compact Board Support Package.   The random hangs and other issues surfaced while testing the devices comprehensively, i.e., regular CTK test passes did not bring out the failures to occur.   A dedicated team of senior engineers in Adeneo worked with a number of our key customers to analyze and solve the issues across the board. With the latest version of the Adeneo i.MX6 Windows Embedded Compact (7 and 2013) BSPs we are confident this has been achieved.   This white paper is about the investigation and shares some of our discoveries. All information in this document applies to Windows Embedded Compact 7 and 2013 as well as all variants of the i.MX6. Format of the investigation   Based on the problem reports from the field it was complex to identify a single component in a system as the culprit, so we decided to use a formal and broad process to investigate the situation.   A formal code review was done for the BSP code, Microsoft kernel code and customer application code; Lauterbach JTAG hardware debuggers were used to capture all available processor data at the time of crashes; Microsoft’s kernel team assisted with all questions around the Windows CE kernel; Customer’s engineering teams with their specific knowledge of their application developed test applications to replicate the problem more easily Freescale support engineers assisted with all questions around the silicon. Adeneo engineers redesigned the BSP from the ground and optimized it for i.MX6 and Cortex-A9 architecture    In summary, the collaboration of multiple companies, and more important, a diverse group of dedicated individuals with unique value add provided the comprehensive technical coverage to develop the solution to this complex problem History of the i.MX6 BSP   Starting point for the i.MX6 Windows Embedded Compact BSP were earlier BSPs for other application processors from Freescale like i.MX5x series and back to i.MX2x series. On the OS side the history goes back to Windows CE 5.   The good thing with Freescale application processors is that they share peripheral IP blocks across a range of processors, so developers can share and reuse a lot of code. This was very helpful in the beginning to get a BSP working on the new i.MX6 SoC and get projects started. However, the i.MX6 with its multi-core Cortex-A9 architecture which made is challenging to reuse the code designed for single core Cortex A8 or ARM9 CPUs.   In particular, cache management, multi-core support and memory configuration were the areas where existing Cortex-A8 and ARM9 code first was able to get enablement possible, but then failed in long-term stability tests. Cortex-A9 Architecture   The Freescale i.MX6 Application Processor is an implementation of the ARM Cortex-A9 and ARMv7 Instruction Set architecture. This powerful architecture provides a number of features to improve the processing performance, but requires special attention when developing system software.   The i.MX6 provides up to four cores in a symmetric multi-processing configuration under Windows Embedded Compact.   Some of the stability affecting features addressed during the investigation are:   Speculative load and execution Speculative table walks Branch prediction Out-of-order execution and instruction reordering Parallel internal busses Multiple internal buffers and caches Multi-core coherency L1/L2 cache operations Abort handling As part of our code review we identified shortcomings in existing code to correctly configure these features and take proper advantage of them. All code was verified with the ARM architecture documentation and updated to follow the latest recommendations by ARM. Freescale engineers helped to understand implementation details where ARM documentation is vague as it leaves some freedom to silicon vendors how to implement a feature.  All errata documents from Freescale, ARM and other IP vendors were reviewed, and we made sure all applicable fixes or workarounds got implemented in BSP or kernel code.   In discussion with customers we decided on a good working configuration for the i.MX6 processor that focuses on stability without compromising performance.   In multi-core configurations we updated the code to operate all available cores in the same configuration at all times. A critical area was power management code to reapply the same settings when coming back from low power states. Memory Configuration   Cortex-A9 provides a powerful memory management unit that allows it to implement a virtual memory system that operates the device in multiple modes, isolates application processes from each other and provides layers of protection and security.   Looking at the memory space, we have several types of memory with this architecture. We focused on:   Normal memory Device memory ARM architecture has a flat unified memory address space as compared to x86 architecture where we have a memory address space and an I/O address space. This means all our peripheral registers and other I/O addresses are mapped into the same address space together with RAM and ROM (memory-mapped I/O). By default, this is nothing new and not a bad design as it makes things easier for software and hardware developers. In previous versions of Windows CE and other OS all addresses where treated a normal memory and the only difference between RAM and I/O was to set the non-cache flag in the memory properties for I/O. For architectures up to Cortex-A8 this was enough to ensure a stable operation of a system.  In particular with Cortex-A9 speculative engines the legacy approach causes problems. While some speculative features of the cores can be disabled, speculative table walks (which implicitly do speculative loads) can’t be disabled – for Normal Memory. So with Cortex-A9 it is necessary to use the extended access permission features of the architecture and configure all I/O memory as device memory. Device memory amongst others has the no-execute flag set in its properties (XN flag), and the processor doesn’t touch it during speculative operations. Under heavy load and stress this becomes an issue as the processor does more speculative operations per time and the chance to touch I/Os grows. It was one of the main reasons for crashes and deadlocks.   For Windows CE, Microsoft introduced a new way for OEMs to report available memory to the kernel with Compact 7. However, since the issue described above is not an issue on x86 and older ARM architectures, the i.MX6 BSP inherited the old reporting style from its ancestors.   With the legacy memory reporting the OEM fills a memory mapping table with the information about available memory and provides that to the CE kernel during startup. The kernel then creates the initial MMU page table with a cached and a non-cached entry per memory block from the OEM. For the MMU everything is normal memory.   The new WEC7 model works with two tables, the old one for RAM and ROM, and a new one for I/Os (device table). All blocks in the device table are configured as device memory in the MMU and are protected then.   This sounds straight forward, but the devil is in the details. The new model changes the way BSP code can use address translation during the early boot phase. Functionality in the startup code and the KITL component had to be updated in order to work with the new model and allow parameter transfer from boot loader code to OAL code. It is also not well documented and required kernel code reviews and discussions with Microsoft kernel engineers to fine tune this part of the code and optimize it for i.MX6. Another issue was that internal SRAM of the i.MX6, which in the first place appears as part of the processor’s I/O space, and so ended up in the device table. However, the internal RAM is used in low power modes to run power-management code while external RAM is in self-refresh, so it has to be mapped as normal memory without the XN flag set. After all, it wasn’t a trivial piece of work. Synchronization Barriers   Due to the above listed enhancements in Cortex-A9 it is necessary to set synchronization points in the flow of operation at which the processor and all memory has a known state and is in sync. This is especially important when updating processor configuration or during context switches in the OS.   Through code reviews of OAL and kernel code and in discussions with Microsoft we updated the BSP to meet all ARM requirements and fine tune the interfaces between kernel and OAL to provide optimal performance. Errata   During the investigation we spent time on errata for the i.MX6 and its various IP blocks. BSP and kernel code where intensively reviewed for each erratum, if they are affected and a fix or workaround is necessary to be implemented.   As part of this we also looked at the all software implemented BSP for i.MX6 (by Freescale) and its change log to double-check that we didn’t miss anything.   Several critical errata were identified as missing in the code and implemented during the investigation. Three of the necessary code changes were in Microsoft kernel code and required a kernel update. Adeneo Embedded implemented these modifications in the kernel, tested the updated kernel in our test lab as well as with selected customers in the field, and then submitted the kernel change requests to Microsoft to formally release the update through the Windows Embedded Update mechanism. Cache Management   The i.MX6 implements the Cortex-A9 architecture with an internal L1 data and instruction cache and an external L2 unified cache. Internal L1 means the L1 RAM array is located inside the ARM MPCore IP block, and each Cortex-A9 core in the MP cluster has its own L1 cache. External L2 means the L2 RAM array is located outside the ARM MPCore IP block but inside the SoC and connected to the internal AXI bus. Both RAM arrays are not accessible through processor load/store instructions.   Cache memory allows the system to keep often used data in memory with faster access but this requires to synchronize cache memory and external SDRAM so that observers outside the processor-cache block can see data changes.   When configured as SMP cluster some of the necessary L1 maintenance is done by the hardware cache controller. Since we may have up to 4 cores each with its own L1 cache, and a multi-tasking operating system which may assign the same execution thread to different cores due to context switches, it is necessary that all cores have the same synchronized view of the memory. This is done in hardware through the coherency unit in the MPCore as long as single addresses are affected. If the L1 needs maintenance as a whole software has to handle it.   Software also has to handle all L2 cache maintenance operations.   Cache maintenance gets invoked by the kernel normally, but there are a few situations where device drivers or even application software has to request cache maintenance. In any case, the OAL gets these requests and executes them. All cache related code in the OAL was updated and redesigned to meet the ARM architecture requirements and collaborate with the kernel in an optimized way. Shortcomings Cortex-A9 support in the cache maintenance code and maintenance requests from drivers were another major source of instability in the initial BSP.   Some of the complications in this area are:     Optimize L1 code to take advantage of the available hardware support Maintenance requests that include L1 and L2 require a specific procedure to make sure all levels of memory are in sync Maintenance requests can come from multiple threads and CPUs in parallel – L2 code has to be reentrant and multi-core safe DMA controllers work with physical addresses and do not know about caches; when DMA operations are used drivers have to make sure to request the necessary cache maintenance. Some instability with USB, SD and video operations were related to bugs in this area.    Build and Testing   As we learned at the beginning of this investigation that the CTK BSP testing failed to identify these issues we also reviewed our testing approach and implemented improved procedures. A new component in our testing is the stability lab, where we provide a dedicated set of hardware together with IT infrastructure to automate tasks and log results. With approval from our key customers we transferred customer test applications and applications that helped reproducing the issues into more generic test applications and added them to our portfolio.   Another lesson learned is that knowledge of customer use cases is important. We restructured our testing to be closer to real world scenarios and integrate feedback from customers directly.   A number of times during the investigation concerns were raised that the build process or the tools may be the root cause for some issues. Test teams reported different results based on where and how an OS image was built. We analyzed the tool installation and update process and the process to install OS bug fixes from Microsoft, but conclusion was that these observations were red herrings. But we used the knowledge gained from this part of the investigation to improve the build lab in Adeneo Embedded. We enhanced our infrastructure and upgraded tools so that it is easier for us to switch between versions and QFE levels of Windows Embedded Compact and our BSPs. Commitment   This investigation was done over a period of about 8 months, and Adeneo Embedded put a committed effort into it to solve the problems. A core team of engineers worked fulltime on it while an extended group of engineers was available to support where needed (test, build, debugging, applications,..). The problems we had to solve here were not trivial; at times it was like a wild roller coaster ride.   But as a result we have a Freescale i.MX6 Windows Embedded Compact board support package by Adeneo Embedded with significantly improved quality and optimized for this system-on-chip. This brings out the benefits to all customers running Windows Embedded Compact i.MX6 and future CPU architectures on similar ARM cores on WEC7 and WEC2013. For more information email the Adeneo Embedded Support Team at sales@adeneo-embedded.com or visit our website at http://www.adeneo-embedded.com/
查看全文
iWave has now enabled the new Hotspot feature in Android ICS 4.0.4 on iMX6 Qseven board. Internet Sharing is one of the most popular concepts in wireless communication today. A device having Data Pack can share its internet connectivity with other devices, this feature is known as 'Hotspot'. By enabling Hotspot in i.MX6 Q7 evaluation board we can use the board an Access Point. Once the Device is enabled with Hotspot, all other devices (we'll call it as client devices) within the minimum coverage range will get Network SSID in their Available wireless network's list. Once connected, client devices will be provided with the internet access. Android allows tethering only if the device is provided with mobile data pack or through Ethernet. So, the Board is connected to internet using Ethernet. As security is the major consideration in wireless communication, Hotspot feature is provided with following security modes. WPA2-PSK is more secure -                      (i)Open, (ii)WPA-PSK and (iii)WPA2-PSK Implementation of Non Standard Android feature – Simultaneous Wi-Fi Station-Hotspot modes: Basic android architecture does not support simultaneous operation of Station mode and Hotspot. Now iWave is providing support for simultaneous working of Station and Hotspot, which allows sharing the available Wi-Fi connectivity, with its client devices. This feature supports, Device(iWave iMX6 Qseven development board) works as a Wi-Fi Access Point(Standard android feature) Device works as a Wi-Fi Client (Standard android feature) Device works simultaneously as a Wi-Fi AP and a client(Non-standard android feature) A Wi-Fi mobile or tablet connects to Device's Access Point(AP) Device (As a client) connects to a public AP Device bridges the two connections and enables the Wi-Fi mobile to connect to the public AP Board acts as an Access Point by enabling Hotspot feature. Then the board will act as client by switching on Wi-Fi feature and connecting to an Access Point which is connected to internet. Pros and cons: Pros: Internet connectivity sharing is possible. Hotspot is provided with Open, WPA-PSK, WPA2-PSK security modes. Network range is up to 10m. Device can act as station and as SoftAP simultaneous. Cons: Number of client devices supported is limited to 10. For further information or enquiries please write to mktg@iwavesystems.com or visit www.iwavesystems.com
查看全文
Today, technology goes forward and we get some new possibilities in the Online TV viewing. iWave’s i.MX6 Pico-ITX board with Jelly Bean Android provides one such solution. Today we can watch online TV in the Browser that will run in the i.MX6 Pico-ITX Single Board Computer. This uses Real Time Messaging Protocol (RTMP).  RTMP was initially a proprietary protocol developed by Macromedia. It is based on TCP and was specifically designed for streaming video, audio, and data between a media server and clients (Flash player). Currently applications like follows use this protocol: Online multi-player games Text and video chat applications Virtual meeting applications Synchronous and interactive e-learning applications (business simulation games, etc.) In the early days of web video delivery, users had to rely on progressive delivery of video, meaning that the bits of video were delivered to your player one packet at a time “in the blind,” with no communication between the server and player. When a reasonable percentage of the file was downloaded to disk, the player would begin playing the file. However too often the player caught up with the point at which the file was being delivered, and playback halted. As a result streaming was created—a mode through which the video is passed to the player, with increased communication and monitoring in place, and it happens in real time between the player and server. If bandwidth degrades on the player side, it signals the server and “buffers” until it can obtain a suitable amount of packets of video to resume playback. One benefit with RTMP worth mentioning here is its ability to provide multicast support. If you run an enterprise and want to take one stream inside your corporate network and deliver it to many users without initiating a new connection for each user, RTMP is the best technology. Using iMX6 PICO-ITX Android Jelly Bean, one can watch ‘online live iptv broadcasting’ and ‘video on demand’. As shown in the above block diagram, web browser through http requests the web server, then the web server will send the swf file to the web browser over http. Flash player then connects to the media server using RTMP. RTMP server will send the data via RTMP that will be played in the Flash Player. If your favourite online service (IP TV) uses the RTMP protocol for broadcasting, you have a good chance of being able to watch the video stream live using iWave’s i.MX6 SBC.  Its operating principle is simple: you input the address of the video server. It just connects to the server, consuming only the network traffic containing the video, and streams it to your display unit. Online Live IP TV: "Russia Today" is one of the IPTV broadcasting http://rt.com/on-air/rt-america-air/ we can watch this IPTV online in the Jelly Bean's Browser. We can choose the quality either HD, medium and low. Video On Demand: i.MX6 Pico ITX SBC also supports RTMP for Video on demand services. "Deutsche Welle" is one of the Video on demand service provider. We can watch this on demand video in the Android Browser.  http://www.dw-world.de/dw/0,,4756,00.html We can watch Discovery Germany Video By clicking on that. Finally iWave’s i.MX6 Single Board Computer is able to provide Video on demand services and Worldwide IPTV broadcasting over HDMI or LVDS display. For further information or enquiries please write to mktg@iwavesystems.com or visit www.iwavesystems.com. http://http://www.iwavesystems.com/onlinetv-videoondemand-imx6-android
查看全文
iWave, a reliable embedded solutions provider has now optimized the booting time of its Windows Embedded Compact 7 (WEC7) BSP for Freescale’s SABRE SDP/B platform. Now the WEC7 OS is booting in a short period of time  ~3 seconds for a small footprint OS image with display and touch drivers support, and boot time of ~8 to ~10 seconds for an OS image with basic drivers and OS components support. Why boot time optimization? WinCE7 is a real time OS which will be used in performance-critical applications such as automotive and healthcare units. In most of the cases, booting time will play important role, e.g. if the device is used in rear-view camera system in automotive field, the user needs the device to start working as soon as the reverse-gear is applied. This requirement needs the device to boot and start the camera application within few seconds. This demands a very short OS boot time. Some of the techniques which can be applied for efficient boot time optimization are discussed in this article. Boot phases in WEC7: Boot-loader (eboot) Copying of OS image from booting device (e.g. Micro-SD) to RAM OAL Layer Driver initializations and file system mounting Guidelines for reducing the boot time in different booting phases of WEC7: Boot-loader (eboot): Remove the code that initializes a hardware which is not required in boot-loader. E.g. If booting device is micro-SD, the initialization of NAND is not necessary. So, this redundant code needs to be removed. The eboot menu in eboot is important for debugging of WEC7 OS. But it is not needed in an end product. So, the delay for this eboot menu can be completely removed to reduce 3 seconds of time. In few platforms such as Freescale’s SABRE platform, a default splash screen is used, which updates continuously. This can be removed, and a static splash screen can be displayed, which can save a few milliseconds of time. Remove unnecessary serial debug prints. Copying of OS image from booting device (e.g. Micro-SD) to RAM: This time increases as the size of WEC7 OS image increases. So, select the OS components carefully and remove redundant components from OS image so that the OS image can be copied to RAM quickly. Also remove unnecessary registry keys, dlls and libraries to reduce the OS size. Optimize binary image builder (.bib) file to reduce the run-time image file. Implement Multi-BinFS OS binaries to reduce the OS copying size. As the functionalities/driver supports goes on increasing, WEC7 image size increases. So, the time required to copy the image increases, and RAM size needed to store the OS image increases. The Binary ROM Image File System (BinFS) can fix the two issues. In a BinFS file system, the WEC7 OS binary is divided into multi-binary Image files, and only the one binary (less than 5MBs) is copied into the RAM by the boot-loader. The components in the other binary files are copied into the RAM only when they are required to run. Links that can be referred to implement multi-BinFS in WinCE:      MSDN documentation: http://msdn.microsoft.com/en-us/library/aa516960.aspx; An implementation guide by Freescale: http://cache.freescale.com/files/dsp/doc/app_note/AN4137.pdf You can also include compressing-decompressing mechanisms in boot-loader to achieve even shorter copying time. OAL layer: Remove the code that does unnecessary hardware implementations. Skip the initializations that already done in eboot. Remove any wait/loop/delay if exists. Remove unnecessary serial debug prints. Driver initializations and file system mounting: Analyse and remove all the redundant drivers, check for any loop, wait or delay sequences in driver initialization code. Load any applicable drivers (e.g. USB, sensors) after the OS boot (i.e. after user sees a desktop/application). In WEC7 OS, a driver can be either loaded during booting using device manager/GWES, or can be loaded dynamically whenever necessary. This can be achieved easily by changing the registry key configurations to remove the driver from built-in drivers, a small application to load the driver after OS boot-up, and registry settings to launch this application automatically once the OS is booted. To decide the load order, it is important to check the dependencies of/on a driver. Use appropriate splash screen/progress bar while user waits for OS booting. Remove unnecessary serial debug prints. By effectively following the techniques mentioned, WEC7 based platforms can achieve reduced boot time for quick application access. iWave has optimized the WEC7 booting time on Freescale’s SABRE SDP platform. The booting time is as low as ~3 seconds for a WEC7 OS with standard shell, LCD display, DDraw, I2C and touch driver support, and ~8 to 10 seconds for WEC7 OS with following components: Standard shell Display DDRAW Capacitive touch screen MicroSD USB host – Mass storage and HID Ethernet GPU (OpenVG/GL) Multimedia codecs DirectShow Audio Video Playback Ambient Light Sensor Accelerometer SMP PWM Backlight I2C Debugging using KITL For further information or inquiries please write to mktg@iwavesystems.com or visit www.iwavesystems.com
查看全文
iWave offers i.MX6 Qseven modules with latest 3.10.17 based Linux kernel with Yocto support. This official Yocto release is based on 3.10.17 kernel. The BSP will support for all the variants of i.MX6 CPU, i.e Quad, Dual, Dual Lite and Solo Qseven modules. The alpha release for the same is now available on request. This release supports the below features on our Qseven Development Platform: Freescale i.MX6 Q/D/DL/S CPU DDR3 SDRAM SPI Boot flash eMMC Flash Debug Console SD Ports USB Ports Ethernet PCIe HDMI 7”LVDS display For further information or enquiries please write to mktg@iwavesystems.com or visit our website www.iwavesystems.com
查看全文
iWave has been one of the early adopters of i.MX6. As a result of this, iWave dived into the design and manufacture of one of the early i.MX6 Qseven System on Modules to keep up the commitment to clients. As recently Freescale has rolled out the Power Management Companion Chip for i.MX6, iWave has come up with the improved i.MX6 Qseven SOM integrated with PMIC to adhere to our corporate policy of constant improvement of design to meet customers’ needs. iWave is now happy to announce the launch of the new improved feature-rich i.MX6 Quad/Dual/Dual Lite/Solo Qseven SOM module with enhanced performance. Basically, the predecessor SOM is based on Qseven R1.2 specifications whereas the new SOM is compliant to Qseven R2.0 specifications. Freescale’s latest PMIC is integrated to the SOM for better power management. This feature enables various power management options to the customers including the dynamic voltage frequency scaling (DVFS) supported by the i.MX6 CPU. The new SOM is compliance to the latest R2.0 Qseven specification. The SOM supports 8 GPIOs on the LPC interface and additional UART port proposed in the latest R2.0 Qseven specification. These new SOMs will be supported with Linux, Android and Windows Embedded Compact 7 BSP. The SOMs will be software compatible with existing non-PMIC based i.MX6 Qseven SOMs with additional BSP patches. These new PMIC based SOMs and their associated heat spreader part samples are available for customer evaluation. For further information or inquiries please write to mktg@iwavesystems.com
查看全文
iWave’s i.MX6 Qseven System on Module has been incorporated into the Golf Cart Guide System which is used to monitor the cart position, delay while supplementing the cart position, to identify the members with the player list in the clubhouse. The design also includes ensuring safety of golfers by giving warning messages during lightning, fog etc. iWave’s i.MX6 Qseven module was seamlessly integrated with customer carrier card. Given iWave’s design Quality and Technical Support client could easily adapt iWave’s SOM into their design. Key technology iWave has worked on this solution: Freescale i.MX6x Solo core Qseven SOM (extended commercial grade) ARM Cortex A9 core at 800MHz OS: Windows Embedded Compact 7 High brightness LCD display Touch panel AC’97 Audio Key input GPS WiFi SDIO interface USB memory iWave’s unique ability to provide qseven module and BSP support under one roof helped the client to shorten the product development life cycle and achieve quick time to market. iWave’s i.MX6 Qseven SOM iW-RainboW-G15M-Q7 has gained worldwide popularity due to the ease of usage for diverse range of applications. Along with this, availability of the iW-RainboW-G15D-Q7 (i.MX6 development/ i.MX6 evaluation board) and iWave’s in-house software BSP support for i.MX6 helps clients to validate the end application quickly and achieve short product development life cycle and quick time to market. For further information please write to mktg@iwavesystems.com or visit www.iwavesystems.com
查看全文
Inverse Path is proud to announce the USB armory project, an open source hardware design, implementing a flash drive sized computer for security applications. The USB armory is a compact USB powered device that provides a platform for developing and running a variety of applications. The security features of the USB armory System on a Chip (SoC), combined with the openness of the board design, empower developers and users with a fully customizable USB trusted device for open and innovative personal security applications. The USB armory hardware is supported by standard software environments and requires very little customization effort. In fact vanilla Linux kernels and standard distributions run seamlessly on the tiny USB armory board. The capability of emulating arbitrary USB devices in combination with the SoC speed, the security features and the flexible and fully customizable operating environment, makes the USB armory the ideal platform for all kinds of personal security applications. The Inverse Path team, with the help of the open source community, will develop applications that fully explore the potential of the USB armory board. The USB armory will be available for pre-order soon. Delivery of the device before the end of 2014 is planned. Target applications: mass storage device with advanced features such as automatic encryption, virus scanning, host authentication and data self-destruct OpenSSH client and agent for untrusted hosts (kiosk) router for end-to-end VPN tunnelling, Tor password manager with integrated web server electronic wallet (e.g. pocket Bitcoin wallet) authentication token portable penetration testing platform low level USB security testing Key features: Freescale i.MX53 ARM® Cortex™-A8 800Mhz, 512MB DDR3 RAM USB host powered (<500 mA) device with compact form factor (65 x 19 x 6 mm) ARM® TrustZone®, secure boot + storage + RAM microSD card slot 5-pin breakout header with GPIOs and UART customizable LED, including secure mode detection excellent native support (Android, Debian, Ubuntu, FreeBSD) USB device emulation (CDC Ethernet, mass storage, HID, etc.) Open Hardware & Software http://inversepath.com/usbarmory
查看全文
iWave Systems, one of the early adopters of i.MX6 technology has designed i.MX6 based network switch/router solution. The task involved the design and development of a custom carrier card for our i.MX6 Qseven Module, the carrier card also consists of microcontroller. Together with the i.MX6 Qseven module and carrier card, the solution provides router capabilities. i.MX6 based Router Solution The carrier card was designed by iWave to meet the network Router requirement using iWave’s i.MX6 Qseven SOM. The Wi-Fi modules and GPRS modules (mini PCIe form factor) were interfaced to the PCIe 2.0. With the Gigabit Switch connector, the board supports four RJ45 connectors. Totally, there are six Mini PCIe slots available, accommodating both PCIe and USB signals. Microcontroller, in the carrier card, monitors parameters like voltage levels and power status. It also provides user interface by controlling appropriate LED’s to indicate which mini PCIe module is active. Block Diagram iWave’s i.MX 6 Qseven SOM is connected to the PIC Microcontroller through I2C. Connection is in such a way that iMX6 processor, as a Master and PIC microcontroller, as a Slave. Master and Slave to communicate effectively, iWave has designed a unique customized Communication Protocol in which master (iMX 6) will control the peripherals connected to slave (PIC) through protocol commands. iWave also implemented a software in our Qseven  module that enables the upgrade of the microcontroller firmware. For further information or inquiries please write to mktg@iwavesystems.com or contact our Regional Partners website: www.iwavesystems.com
查看全文
This 4 days in-depth technical training targets OEMs and customers starting the development of a Linux + Android based device with ARM architecture. It covers all the aspects related to the use of Linux and Android for Embedded system, including kernel architecture, development tools and Environment, BSP adaptation and custom drivers development and Android image creation, deployment and debugging. With a 3-days “base content” plus 1 optional day on advanced debugging technique and advanced drivers development concepts, this course offers the maximum flexibility to match attendees expectation. As part of its collaboration with Freescale, Adeneo Embedded will offer to each attendee the i.MX 6 series development board built to Freescale SABRE Lite design used during the training, to allow customers continuing their evaluation and development after the class. For registration : Invitation_Training_Android_Boston_July_2014 / All static html / Media - Adeneo Embedded
查看全文