iWave Systems andCrank Softwarepartnered up to support rich graphics on the powerful NXP i.MX 8 series system on modules and SBC boards. Powered byNXP i.MX8 application processors, the SOM and SBC are optimized for sophisticated real-time computing in embedded applications, and Crank Software’s UI development software, Storyboard, complements the high-performing modules with an out-of-the-box GUI experience.
An overview of iWave’s broad portfolio of i.MX8 products:
Native to thei.MX 8QuadMax/QuadPlus SOMis an integrated high-performance Dual Vivante GC7000SXVX GPU and 4K H.265 capable VPU that Crank Software’s Storyboard applications leverage, to offer pixel-perfect 3D graphical acceleration, up to 4x HD or one 4K display.
Storyboard is suited for i.MX platforms with key features including:
Accessible directly within NXP MCUXpresso SDK
Wide support from FreeRTOS to QNX to Linux to Android OS
Specifically built to leverage board features that drive performance
Consistent performance and reliability with both high- and low-power processors
Media-rich user interface development - graphics, audio, connectivity
Ability to import and re-upload files from Photoshop and other design platforms
Integrated animation timeline tool
Testing and validation tools
Adaptable to technology stack changes (hardware & software & OS)
"The i.MX 8 series SOM offers the ability to advance performance in integrated eCockpits, multi-camera, and multi-domain systems across industrial medical, automotive, and IoT verticals. To enable advanced applications in customer products, collaboration with trusted partners like Crank Software was integral to our go-to-market strategy." - Abdullah Khan, President, iWave Systems Technologies, India
The iWave Systems and Crank Software partnership will facilitate efficiency in design cycles, cost, and time-to-market for many customers who want to use the NXP i.MX8 series processors. This collaboration will enable diverse graphical performance in various i.MX SOM/SBC products and iWave solutions.
“We’re very excited to be working with hardware partners, NXP and iWave Systems. Together, we’re providing the resources needed for product teams to create touch screen experiences that exceed consumer expectations.” - Jason Clarke, Crank Software Co-Founder & VP of Sales and Marketing
New embedded innovations enabled by the winning combination of iWave Systems and Crank Software:
The world is heading towards increasingly autonomous and connected mobility. If you think about what a modern vehicle means today, one would marvel at the incredible transformation that technology and digitalization have enabled, providing an amphitheater-like experience – within the boundaries of a machine. Infotainment, navigation, instrument clusters, heads up displays (HUD), and other boundless innovations are enriching user experiences to new dimensions. Under the hood, iWave platforms and rich Crank Storyboard GUIs ensure dynamic performance and deliver rich functionality throughout the vehicle's lifetime.
Health care systems are evolving to newer standards of diagnosis and patient care. Continuous monitoring using connected technology allows patients to conveniently interact with their health providers on 24/7 basis, accelerating early diagnosis and improved recordings of health data. Emerging technologies are enabling advanced use cases to the point where performing medical operations remotely on patients can occur. Such innovative concepts require efficient and sophisticated computing platforms such as the NXP i.MX8 and rich embedded GUIs that facilitate seamless interaction, real-time intelligence, and flexibility in critical medical applications.
Whether a production factory or your home, imagine the possibilities of having complete control over your assets - even when you’re away from them. Remote monitoring via automation systems ensures maximum throughput interoperability, in addition to cost and energy savings. The iWave SOM platform and Crank's GUI software, Storyboard, work in tandem to offer an interactive platform that assists in building out apps that monitor these assets and improve resource efficiency.
QNX RTOS in iWave's i.MX8QM SMARC development board
Multiple display options including 4K HDMI, video input, CAN ports
Multiple PCIe devices, SATA, USB3.0, Serial interfaces and Audio
Snapshots of a Storyboard-built GUI application running on the QNX RTOS in iWave’s i.MX 8QM SMARC development board:
GUI development on iWave SOMs and SBCs
Crank Software enables a “no programming” UI framework in Storyboard that allows designers to easily generate graphical images and animations by directly importing the UI designs from tools including: Adobe Photoshop, Illustrator and Sketch.
The GUI design can be created and undergo iterations in parallel to the back-end applications. Storyboard’s runtime allows for the GUI to be deployed and ran on the embedded hardware platform quickly and easily, without the need to compile any code. Because of this, the embedded GUI can be in use on the SOM platform in minutes.
Advantages of using iWave platforms:
10+ years long term product longevity
Pre-integrated libraries to run Storyboard-built applications
Expertise in wide-range of OS and RTOS
Turnkey hardware, software services, and manufacturing support
NXP Gold Partner, working with all i.MX platforms
iWave extends services in customizing BSP for developing Crank Storyboard GUIs and contributes to bringing the applications to life quickly and affordably onto target boards including: i.MX8 family such as thei.MX8,i.MX8M, i.MX8X andi.MX8M Mini/Nano.
The Debian based open-source Linux distribution Ubuntu finds its wide use across Desktop, Servers, Containers, and now in IoT and cloud applications. Being very secure and its OpenStack support, it is further getting adapted widely in high end embedded computing applications as well.
iWave systems rich i.MX8 System on Module and SBC product portfolio is supported with Yocto Linux, Android, and QNX BSP. Now iWave Systems is enabling the Bionic Beaver Ubuntu 18.04 LTS support to its latest i.MX8 Quad Max, Quad Plus, and i.MX8M, i.MX8M mini system on Modules and SBC products.
Wayland support in the BSP brings better performance, code maintainability, and security compare to X server. In Wayland, compositing is passive, which means the compositor receives pixel data directly from clients, and hence it reduces the latency compared to the X server. The GUI with the Wayland Compositor on the iWave i.MX8 board is shown below;
Ubuntu 18.04 LTS - Google Chromium Bowser and Weston Terminal
Ubuntu 18.04 LTS - QT5 Applications on i.MX8QM board
Ubuntu 18.04 LTS - Gnome Calculator and GPU 3D Applications
Ubuntu 18.04LTS on iWave i.MX8 Quad Max / Quad Plus SOM & SBC
Ubuntu Bionic image with Wayland Compositor supports only Wayland graphical backend which is simpler than earlier X11 backend system, and it includes below essential packages:
Linux Kernel Version 4.14.98
Ubuntu 18.04.03 LTS
GPU driver 6.2.4.p4.0
Chromium Browser v71.0.3545.0
Supports Gnome-Calculator and Gnome-Calendar
iWave’s i.MX8 Single Board Computer and SMARC SOM
The following drivers are supported in the Ubuntu BSP with iWave i.MX8QM/QP SMARC SOM and SBC board
CPU and MCU – Dual Cortex® A72, Quad Cortex® A53, and Dual Cortex®-M4
Block/Storage devices – SD/eMMC, USB, SATA
Multimedia support – HDMI, MIPI-DSI, LVDS Display, GPU, VPU, Audio, Camera
Oftentimes, developing an end application is like a scary game of maze. One can easily get lost in its winding paths lined with unseen twists and obstacles. A wrong choice can lead you to start all over again, making the journey grim, and the goal out of reach.
For developers, the challenges are real and huge, turning the development process into a difficult chase to fulfill performance and time to market objectives while achieving customer expectations as well.
From prototype, integration to development, there are a multitude of bottlenecks lurking in every path. With so many design challenges to overcome, developers often find it hard to integrate cutting edge technologies in their end applications and optimize their designs with the best performance and features.
At iWave, we are poised to ease these challenges and turn them into opportunities for innovation. A win-win situation for all.
And that’s the reason we have launched a new SBC, powerful enough to address even the most pressing development challenges and help transform your ideas into a stunning reality. The SBC is the fourth addition to our growing portfolio of NXP® i.MX based single board computers – high-efficiency industrial platforms superior in performance.
Powered by NXP i.MX8 Processor, the iWave SBC is equipped with up to eight Armv8 64-Bit heterogeneous CPU cores (2 x Arm® Cortex®- A72, 4 x Arm® Cortex®-A53 & 2 x Arm® Cortex®-M4F).It highlights the extremely powerful computational capability of the SBC, making it an awaited platform for unleashing complex to implement applications with utmost efficiency and ease. Advanced use cases include High-Speed Networking, Edge Computing, Industrial Automation,4K imaging, e-Cockpit, Intelligent Data Centre, etc.,
Adding new dimensions to innovate:
The future is at the edge. With immense inbound advantages, edge computing is paving the way to a new era of connected, intelligent devices.iWave SBC has been designed, keeping in mind the revolutionary transition that edge computing can realize in new-age applications. Be it medical, industrial or automotive, the i.MX8 SBC with its intuitive real-time processing, flexible high-speed memory, and robust connectivity can smartify your end application in just a matter of seconds.
The key to unlocking edge intelligence in the i.MX8 SBC lies within the powerful Cortex-M4F cores. This high-performance MCU is run RTOS to accelerate real-time intelligence in edge applications. The MCU is proficient at handling critical real-time tasks associated with an application e.g. monitor of sensor circuitry.The signal is subsequently decoded and processed by the A cores running Linux / Android OS, with non-critical tasks shared to the Cloud servers for advanced analytics.
Native to the SBC is an integrated high-performance dual GC7000 3D GPU and 4K H.265 capable VPU that combines to offer rich interactive graphical experience on up to 4 x HD or one 4K display. Dual failover-ready SafeAssure® display controller ensures critical displays are always on with reliable high-quality content. An additional HIFI4 DSP module further offloads the main cores and adds flexibility for a variety of end applications. These capabilities, coupled with the highly integrated form factor, makes the iWave SBC a leader for building cutting-edge machine vision systems, IIoT solutions, and advanced robotics.
When there is a powerful heterogeneous processing platform to take care of the computing performance, it is very important to ensure that all the hardware resources are utilized efficiently and to its full potential. This is achieved by hardware virtualization.iWave has successfully integrated open-source type 1 Xen hypervisor to enable a versatile multi-OS implementation on the i.MX8 SoC.The generated domains are fully secure and independent from others, ensuring a multi-application platform running on independent displays offering failover safe performance.
When it comes to I/O connectivity, the iWave SBC excels with its wide range of on-board and external connector interfaces. Included on the SBC is a Gigabit Ethernet PHY, USB 3.0 hub and IEEE 802.11a/b/g/n/ac Wi-Fi & Bluetooth 5.0 module for high-speed network connectivity. In addition, on-board CAN and RS232 interfaces accelerate applications in automotive and industrial automation systems. Multiple audio and video interfaces combine to enhance the multimedia performance of the SBC. Key multimedia interfaces onboard include HDMI/eDP Display and I2S Audio Codec with Audio In/Out jack while interfaces over Expansion Connector include MIPI CSI, MIPI DSI, SPI, UART, LVDS, I2C, etc.
Optimized Power Consumption:
Thanks to the use of multiple low-power technologies, the iWave SBC intelligently manages the power efficiency of the entire system. Firstly, the Cortex-M4F cores are configured to monitor the system in low power mode, while the main processors are deactivated. The main cores can be activated either using predefined wake-up time or when there is a user-defined interrupt. Power is also kept to a minimum with the use of high-speed LPDDR, and the incorporation of NXP’s dual PF8100 Power Management Integrated Circuit.
Secure and Safe platform
Ensuring all-around security of the software stack is a high –priority requirement of new-age applications. With the explosion of connected devices and the IoT revolution, the amount of possible attack vectors are also growing exponentially. This further emphasizes the need to secure embedded platforms with reliable and fool-proof security mechanisms.
iWave’s SBC includes a dedicated Security Microcontroller (SECO) to perform the security functions. The SECO controller verifies the authenticity of the Uboot, Linux, and RTOS binaries. The binaries are signed with a certificate that is stored in the module's immutable storage. The security controller also contains a Cryptographic Acceleration and Assurance Module (CAAM) to implement secure and validated cryptography mechanisms and further enhance data security in the SBC platform.
Key Security features in iWave’s SBC include:
High Assurance Boot – HAB
Encryption and Decryption using HW cryptography Engine
Armed with high speed multimedia processing and intelligent real time capabilities , the iWave i.MX8 SBC is all geared up to unleash innovative use cases that intuitively perform and keep security and energy concerns at bay.
QNX is a Unix-like Real Time Operating System primarily developed for safety and mission critical embedded systems and includes the following unique features;
Dynamically upgradable services and applications
Fine-grained fault isolation and recovery
Message-passing design for modular, well-formed systems
System-wide performance analysis and optimization
Fast detection of timing conflicts, hidden faults, etc.
File encryption and Resource manager framework
Device drivers are implemented in user space not kernel in space
Drivers can be started, stopped, and debugged like any standard application
Adaptive time partitioning
Guaranteed system resources to build secure, reliable systems without compromising performance and flexibility
High availability frameworks
Heartbeating for early fault detection and Intelligent restart and transparent reconnection.
These unique features make QNX SDP as most advanced and secure embedded OS. QNX’s modular architecture enables customers to create highly optimized and reliable systems with low total cost of ownership. Hence QNX Platform is perfect for the following application segments;
Connected & Autonomous Vehicles
Robotics & Industrial Automation
Nuclear Power Plants
Life-Critical Medical Devices
Telecommunication Market Segments
Build secure, safe and reliable systems with QNX RTOS:
Use adaptive partitioning to guarantee system resources for your applications. Build secure, reliable embedded systems without compromising realtime performance and flexibility. To achieve the highest level of performance, adaptive partitioning allows applications to use all available CPU cycles under normal operating conditions. During overload conditions, adaptive partitioning enforces hard resource guarantees, ensuring applications receive their budgeted share of resources.
iWaveis glad to announce the QNX 7.0.0 RTOS update for iWave’s i.MX8 Quad Max and Quad PlusSMARC module. iWave Systems successfully ported the QNX 7.0.0 to iWave’s i.MX8QM/QP SMARC development board. This development board has up to 8GB LPDDR4 RAM and 128GB eMMC storage with built in 802.11ac Wi-Fi module and dual gigabit ethernet support. The SMARC carrier board supports multiple display options including 4K HDMI, video input, CAN ports, Dual Gigabit Ethernet, multiple PCIe devices, SATA, USB3.0, Serial interfaces and Audio.
Porting of QNX on iWave i.MX8 QM/QP SMARC platform:
Porting of the QNX to iWave i.MX8 QM/QPplatform includes kernel & driver porting, driver development, unit test application development. iWave’s strong partnership with NXP and QNX helped to fasten the porting & development activity. Following drivers are supported in the QNX BSP with iWave i.MX8QM/QP SMARC platform.
CPU and MCU – Dual Cortex®A72, Quad Cortex®A53 and Dual Cortex®-M4
Block/Storage devices – SD/eMMC, USB, SATA
Multimedia support – HDMI Display, GPU, VPU, Audio, Camera
Following is few snapshots of Crank Application running on QNX RTOS in iWave’s i.MX8QM SMARC development board:
Benefits by choosing iWave for Platforms:
10+ years long term product longevity
Recognized skills and know-how with QNX platforms
Turnkey hardware, software services and manufacturing support
iWave offers customisation services, technical support for QNX porting to various i.MX8 family such as i.MX8X, i.MX8M, i.MX8M mini etc. For further information and inquiries, please write firstname.lastname@example.org
Have you ever checked your smartphone or your IoT device and received an alert for software updates? All you have to do is to simply accept the update when you have the network connectivity and the rest will be taken care of automatically by the software. Isn’t it simply amazing to be able to refresh your device, no matter where you are in the world? This update process is widely known as OTA (over the air).
OTA is a technology that manages software and lets you wirelessly upgrade the operating system/files of your platform.
OTA become a de-facto standard even for small IoT solutions because of the following factors:
OTA updates allow your devices to change along with the new infrastructure and decrease maintenance costs.
Updates achieved without having to send technicians into the field or the users needing to visit the place to have something fixed.
OTA updates act immediately to keep your deployment robust and make sure transmissions are safe and protected ahead of the curve.
Release Now, Update Later - You won’t have to wait for everything to be perfect to deploy. Product features can be accomplished in phases, with devices picking up additional functionality in stages.
The device can improve with market trends.
iWave incorporates the OTA update solution using Mender open-source software update manager into our various Linux platforms.
Since Mender is an open-source client-server update manager, we have utilized the full potential of the service for secure and robust OTA update using iWave’s customization in the following steps:
Develop the software update in device software build system (laptop/PC)
Upload software update artifact to the management server
The Client polls for update from the server and fetches the update if it is available.
The server monitors and manages the updates during this time.
The client device downloads the update artifact and boot into the updated software.
iWave’s Linux OTA solution with Mender stand-out because of the following factors:
OTA solution integrated into iWave’s Yocto BSP. Hence, future updates and robustness are guaranteed.
Mender is a permissive open-source licensed update manager - a perfect solution for the OEMs and industries.
iWave supports both ‘managed mode’ (server will automatically take care of the updates) and ‘standalone mode’ (any third party software can decide when to update the system with or without network) updates
Support for both application and system updates.
No need for temporary storage for the update on the device.
Full-fledged security features such as:
Secure TLS communication
Signature verification using multiple algorithms
Extended features such as :
High Assurance booting (for i.MX platforms)
Custom peripheral update
APIs for integrating into 3rd party applications or servers
Custom update status based on the requirements.
Delta update (for updating only the changes from one image to another)
Custom partition layouts
iWave has implemented OTA update solution on our i.MX8 development platform and have proven our expertise in the technology in several use cases including telematics (automotive), medical, industrial and IoT applications. Our dedicated technical support including OTA implementation, customization, server integration, etc., ensures that customers can focus on their core competencies without having to be worried about software updates for their designs.
iWave systems recently launched a new SMARC System on Module (SOM) based on the powerful NXP® i.MX 8QuadMax applications processors. This high performance SOM featuresan intelligent blend of MPUs+MCU power in a single device and integratesheterogeneous multicore 64 bit ARM® processors (Dual Cortex® A72@ 1.8 GHz + Quad Cortex® A53 @ 1.2 GHzand DualCortex®-M4F @ 266 MHz), targeted for applications that demand advanced real-time processing, multi-media performance as well as in applications that requires simultaneous multi-OS operations. For more detailsrefer to the link:i.MX8 QuadMax NXP SMARC SOM
The Cortex®M4F microcontroller plays an integral part in realizing various real-time operations of the SOM module. It is a powerful energy-efficient microcontroller core with floating-point arithmetic functionality that offers a low-latency execution environment with real-time and low-power processing capability running bare-metal code or a real-time operating system like FreeRTOS.
TheCortex®‑M4F microcontroller incorporates the following key features:
A processor core.
A Nested Vectored Interrupt Controller for low-latency interrupt processing.
Multiple high-performance bus interfaces.
Memory Protection Unit(MPU) & Floating Point Unit (FPU).
LPIT (Low-power Periodic Interrupt Timer) for periodic timer services
TPM (Timer PWM Module) for timer and PWM services
RGPIO (Rapid General-Purpose Input/Output) for the fast pin I/O capability
MU (Messaging Unit) for interprocessor communication
INT MUX (Interrupt Mux) to select local interrupts routed outside of the subsystem
SEMA42 (hardware semaphore) for HMP synchronization to shared resources
LPI2C (Low-Power I2C) for serial communication
LPUART (Low-Power UART) for serial communication and debug
Optimized performance and efficiency for real-time processing:
To optimize performance and increase system efficiency it is always effective to separate computation tasks between various Cortex® cores. The Cortex® A cores runs high-level OS (Linux /Android) and can be used to drive applications that demand compute-intensive graphics (2D/3D), 4K video, high speed data processing etc., while real-time applications such as sensor monitoring, data acquisition, motor control, etc., requires high degree of determinism and DSP capability which can be handled very efficiently by the RTOS running on the Cortex® M4F cores. In addition, the SOM supports simultaneous operation of multiple OS platformsthatenables the cores to drive totally independent applications, for e.g. When the Cortex® A cores handle a system for HMI or an instrument cluster, the Cortex® M4F can drive the circuitry for sensor control while utilizing RPC for interprocessor communications.
High-speed data acquisition:
On applications that make use of high-speed RF synthesis (ADC conversion), the Cortex® -M4F core can be employed to acquire analog inputs at a high sample rate and offload the Cortex® A cores for instantaneous processing of the acquired data. For instance, in the case of industrial automation, where devices are often deployed in remote locations, the Cortex® -M4F core continuously monitors various sensor operations and can instantly detect any signal variations and communicatesitwith Cortex® A cores for instantaneous processing of the acquired data.
Intelligent power management:
In applications where the Cortex® A cores waits for communication from the Cortex® M4F cores, the system can take control of the situation and power gate the Cortex® A cores. The Cortex® A cores can go to sleep mode and can be activated either using predefined wake-up time or when there is a user-defined interrupt generated by Cortex® M4F core. While the Cortex® A core is shut down, the Cortex® M4F continues to monitor the system in low power, thereby optimizing the power intakes.
Rear-view camera application using the Cortex®M4F of i.MX8QM SMARC SOM
iWave Systems have validated the real-time performance of i.MX8QM SOM by demonstrating an application for therear-viewcamera using only the Cortex® M4F of the SOM. The application demonstrates the fast boot capability of the Cortex® M4F which isinterfaced with the camera sensors mounted at the rear of the vehicle. After powering on the board in just 3 secs camera application starts to run. Cortex® M4F acquires data from the camera sensors and displays the image/video on therear-viewmirror thereby aiding the users to reverse park their vehicles with ease.
Likewise, several industrial applications ranging from Automation, Drones, HMI, and High-End signage, both real-time and non-real time can be easily enabled using iWave’s powerful i.MX8QM SMARC SOM platform.
With 10+ years longevity, custom SOM configuration and dedicated technical support including carrier board review, software support, etc., designers and OEMs can be assured of iWave’s unwavering quality and long-term service. Our support resources include detailed hardware and software user manual, carrier board schematics, BSP package with toolchain support, reference designs, etc.,
iWave Systems, a leading embedded solutions provider company based in Bangalore has successfully demonstrated Xen virtualization hypervisor on their i.MX8 QM SoC based System on Module. The multi-core SOM comprises of 2x Arm® Cortex® -A72 @1.8 GHz and 4x Arm® Cortex®-A53 @1.2 GHz and 2x additional Cortex®-M4F @ 266 MHz, rendering a highly powerful integrated solution on a SMARC R2.0 compatible module.
To fully explore the enormous computing capability of the i.MX8 QM SOM, iWave has implemented virtualization of hardware using the open source type 1 Xen hypervisor. The Xen hypervisor enables multiple virtual machines to be created over a single hardware resource, each virtual machine capable of running its own independent operating system. This enables the i.MX8 QM SOM run multiple operating systems concurrently on the same physical board. The Xen hypervisor allows maximum utilization of resources thereby improving overall system performance and efficiency.
About Xen hypervisor
Xen is an open source type-1 hypervisor developed by the University of Cambridge and is now being developed by the Linux Foundation. Xen runs directly on the hardware to manage guest operating systems. Hence, it's also considered as a bare metal hypervisor. Xen has less overhead enabling faster performance and Operating Systems are more secure as they don't rely on base OS for installing the hypervisor.
A system running the Xen hypervisor contains three components:
Domain 0 (Dom0) – Privileged virtual machine running on the hypervisor that can access the hardware directly and interact with other unprivileged virtual machine running on the system.
Multiple DomainU (DomU) – Unprivileged virtual machine running on the hypervisor and have no direct access to hardware (e.g. CPU,memory, timer and interrupts cannot be directly accessed)
During the initial system start-up, Xen hypervisor launches the Dom0 that runs the Linux operating system. The Dom0 has unique privileges to access the Xen hypervisor compared to other Domains. Dom0 manages the DomU, the unprivileged domains running on the system. Dom0 allocate and map hardware resources for the DomU domains.
Less overhead compared to type-2 hypervisors since type-1 hypervisors make use of ARM virtualization extensions.
Having faulty/buggy OS in DOM-U domain will not disrupt the functionalities of DOM-0 OS.
DOM-U driver domains can support legacy hardware drivers no longer supported by new OS.
Have completely isolated workspaces with different requirements. Eg: gaming and multimedia.
Better resource management since resources rarely used will not be powered on if the domain it belongs to is not booted.
Xen demo on iWave’s i.MX8QM SOM
In iWave’s Xen Demo on i.MX8QM Board, the DOM-0 OS runs Linux 4.14.98 from eMMC and DOM-U runs Android Pie 9.0 from USB drives. Such a system can be used where there is a need for both faster, highly reliable OS (such as Linux) and more multi featured slightly slower OS (such as Android) to be running on the same hardware.